kernel - Adjust UFS and HAMMER to use uiomovebp()
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 17 Aug 2012 00:54:16 +0000 (17:54 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 17 Aug 2012 01:00:23 +0000 (18:00 -0700)
commit44480e310a5e2fdec131e9154d62ac8fb0f011a9
tree120bd1b8a33292c8325bc1b0e1fbc7fa750cc1cd
parent87f32d7cb3198c80dd8299ecdd884e86d5ac69f9
kernel - Adjust UFS and HAMMER to use uiomovebp()

* Add uiomovebp(), a version of uiomove() which is aware of a locked bp
  representing the to or from buffer and can work-around issues related
  to VM faults causing recursions and deadlocks on the user buffer.

  uiomovebp() does not yet detect or handle deadlocks.  Implementing
  deadlock handling will require a certain degree of finess related to
  the vnode and bp locks and we don't want to have to do it unless we
  actually deadlock.  TODO.

* Adjust UFS, HAMMER, TMPFS, MSDOSFS, NFS, NTFS to use uiomovebp().
sys/kern/kern_subr.c
sys/sys/uio.h
sys/vfs/hammer/hammer_vnops.c
sys/vfs/msdosfs/msdosfs_vnops.c
sys/vfs/nfs/nfs_bio.c
sys/vfs/ntfs/ntfs_subr.c
sys/vfs/ntfs/ntfs_vnops.c
sys/vfs/tmpfs/tmpfs_vnops.c
sys/vfs/ufs/ufs_readwrite.c