Enable vn_io_fault() lock avoidance for UFS.
Tested by: pho MFC after: 2 months
This commit is contained in:
parent
41014d996a
commit
b569050a78
@ -1064,7 +1064,7 @@ ffs_mountfs(devvp, mp, td)
|
||||
*/
|
||||
MNT_ILOCK(mp);
|
||||
mp->mnt_kern_flag |= MNTK_MPSAFE | MNTK_LOOKUP_SHARED |
|
||||
MNTK_EXTENDED_SHARED;
|
||||
MNTK_EXTENDED_SHARED | MNTK_NO_IOPF;
|
||||
MNT_IUNLOCK(mp);
|
||||
#ifdef UFS_EXTATTR
|
||||
#ifdef UFS_EXTATTR_AUTOSTART
|
||||
|
@ -567,7 +567,7 @@ ffs_read(ap)
|
||||
xfersize = size;
|
||||
}
|
||||
|
||||
error = uiomove((char *)bp->b_data + blkoffset,
|
||||
error = vn_io_fault_uiomove((char *)bp->b_data + blkoffset,
|
||||
(int)xfersize, uio);
|
||||
if (error)
|
||||
break;
|
||||
@ -738,8 +738,8 @@ ffs_write(ap)
|
||||
if (size < xfersize)
|
||||
xfersize = size;
|
||||
|
||||
error =
|
||||
uiomove((char *)bp->b_data + blkoffset, (int)xfersize, uio);
|
||||
error = vn_io_fault_uiomove((char *)bp->b_data + blkoffset,
|
||||
(int)xfersize, uio);
|
||||
/*
|
||||
* If the buffer is not already filled and we encounter an
|
||||
* error while trying to fill it, we have to clear out any
|
||||
|
Loading…
Reference in New Issue
Block a user