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>
Tue, 21 Aug 2012 04:00:55 +0000 (21:00 -0700)
commit68cdd7732293f306214db8a992fb213814ed6830
tree7d78a78ca4bb0039ec12981190e934a37a554abb
parent9ca02554035fbdd8bb6afb48e3c2d0cafd981883
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