diff options
author | jhb <jhb@FreeBSD.org> | 2001-05-23 22:55:13 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-05-23 22:55:13 +0000 |
commit | 2441ff245e4759c9c4a99d39db0b02db14999f37 (patch) | |
tree | 0f5a982ffee4f035c3b879c45c35a8ff13b2d139 /sys/kern | |
parent | 9ff666d52df3dd0aca91083ca58f582d67644e62 (diff) | |
download | FreeBSD-src-2441ff245e4759c9c4a99d39db0b02db14999f37.zip FreeBSD-src-2441ff245e4759c9c4a99d39db0b02db14999f37.tar.gz |
Don't release Giant around vm_oject_page_clean() in fsync() as the pager
putpages called will need Giant.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_extattr.c | 2 | ||||
-rw-r--r-- | sys/kern/vfs_syscalls.c | 2 |
2 files changed, 0 insertions, 4 deletions
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index e5ee6e7..89041a6 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -2770,11 +2770,9 @@ fsync(p, uap) return (error); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); if (VOP_GETVOBJECT(vp, &obj) == 0) { - mtx_unlock(&Giant); mtx_lock(&vm_mtx); vm_object_page_clean(obj, 0, 0, 0); mtx_unlock(&vm_mtx); - mtx_lock(&Giant); } error = VOP_FSYNC(vp, fp->f_cred, MNT_WAIT, p); #ifdef SOFTUPDATES diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index e5ee6e7..89041a6 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -2770,11 +2770,9 @@ fsync(p, uap) return (error); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p); if (VOP_GETVOBJECT(vp, &obj) == 0) { - mtx_unlock(&Giant); mtx_lock(&vm_mtx); vm_object_page_clean(obj, 0, 0, 0); mtx_unlock(&vm_mtx); - mtx_lock(&Giant); } error = VOP_FSYNC(vp, fp->f_cred, MNT_WAIT, p); #ifdef SOFTUPDATES |