Page MenuHomeFreeBSD

D33119.diff
No OneTemporary

D33119.diff

diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -3057,9 +3057,12 @@
static void
swapdev_close(struct thread *td, struct swdevt *sp)
{
+ struct vnode *vp;
- VOP_CLOSE(sp->sw_vp, FREAD | FWRITE, td->td_ucred, td);
- vrele(sp->sw_vp);
+ vp = sp->sw_vp;
+ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
+ VOP_CLOSE(vp, FREAD | FWRITE, td->td_ucred, td);
+ vput(vp);
}
static int

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 3, 9:09 AM (14 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30751173
Default Alt Text
D33119.diff (438 B)

Event Timeline