Enable vn_io_fault() lock avoidance for UFS.

Tested by:	pho
MFC after:	2 months
This commit is contained in:
Konstantin Belousov 2012-05-30 16:45:41 +00:00
parent 41014d996a
commit b569050a78
2 changed files with 4 additions and 4 deletions

View File

@ -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

View File

@ -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