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); MNT_ILOCK(mp);
mp->mnt_kern_flag |= MNTK_MPSAFE | MNTK_LOOKUP_SHARED | mp->mnt_kern_flag |= MNTK_MPSAFE | MNTK_LOOKUP_SHARED |
MNTK_EXTENDED_SHARED; MNTK_EXTENDED_SHARED | MNTK_NO_IOPF;
MNT_IUNLOCK(mp); MNT_IUNLOCK(mp);
#ifdef UFS_EXTATTR #ifdef UFS_EXTATTR
#ifdef UFS_EXTATTR_AUTOSTART #ifdef UFS_EXTATTR_AUTOSTART

View File

@ -567,7 +567,7 @@ ffs_read(ap)
xfersize = size; xfersize = size;
} }
error = uiomove((char *)bp->b_data + blkoffset, error = vn_io_fault_uiomove((char *)bp->b_data + blkoffset,
(int)xfersize, uio); (int)xfersize, uio);
if (error) if (error)
break; break;
@ -738,8 +738,8 @@ ffs_write(ap)
if (size < xfersize) if (size < xfersize)
xfersize = size; xfersize = size;
error = error = vn_io_fault_uiomove((char *)bp->b_data + blkoffset,
uiomove((char *)bp->b_data + blkoffset, (int)xfersize, uio); (int)xfersize, uio);
/* /*
* If the buffer is not already filled and we encounter an * If the buffer is not already filled and we encounter an
* error while trying to fill it, we have to clear out any * error while trying to fill it, we have to clear out any