git: kernel - Adjust UFS and HAMMER to use uiomovebp()
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Aug 16 18:08:53 PDT 2012
commit 44480e310a5e2fdec131e9154d62ac8fb0f011a9
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Thu Aug 16 17:54:16 2012 -0700
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().
Summary of changes:
sys/kern/kern_subr.c | 33 +++++++++++++++++++++++++++++++++
sys/sys/uio.h | 3 +++
sys/vfs/hammer/hammer_vnops.c | 6 ++----
sys/vfs/msdosfs/msdosfs_vnops.c | 4 ++--
sys/vfs/nfs/nfs_bio.c | 6 +++---
sys/vfs/ntfs/ntfs_subr.c | 4 ++--
sys/vfs/ntfs/ntfs_vnops.c | 2 +-
sys/vfs/tmpfs/tmpfs_vnops.c | 4 ++--
sys/vfs/ufs/ufs_readwrite.c | 4 ++--
9 files changed, 50 insertions(+), 16 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/44480e310a5e2fdec131e9154d62ac8fb0f011a9
--
DragonFly BSD source repository
More information about the Commits
mailing list