Don't release Giant around vm_oject_page_clean() in fsync() as the pager
putpages called will need Giant.
This commit is contained in:
parent
e5c23e887b
commit
bdc60f5bd3
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user