diff options
author | kib <kib@FreeBSD.org> | 2015-06-10 02:14:33 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-06-10 02:14:33 +0000 |
commit | a105f5d7fd400b5c08d8493a9d051428dfa6d646 (patch) | |
tree | 7abd22d722b1af9e2bbfbcf1879dcc7da8cb6a0c /sys/ufs | |
parent | 7b840cb1779089c3fa3d2296f5e20917dbff2988 (diff) | |
download | FreeBSD-src-a105f5d7fd400b5c08d8493a9d051428dfa6d646.zip FreeBSD-src-a105f5d7fd400b5c08d8493a9d051428dfa6d646.tar.gz |
MFC r283968:
Syncing a directory vnode might drop the vnode lock in the
softdep_sync() similarly to the regular vnode sync. Allow retry for
both vnode types.
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_vnops.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index d87712e..0f27198d 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -200,8 +200,8 @@ retry: * bo_dirty list. Recheck and resync as needed. */ BO_LOCK(bo); - if (vp->v_type == VREG && (bo->bo_numoutput > 0 || - bo->bo_dirty.bv_cnt > 0)) { + if ((vp->v_type == VREG || vp->v_type == VDIR) && + (bo->bo_numoutput > 0 || bo->bo_dirty.bv_cnt > 0)) { BO_UNLOCK(bo); goto retry; } |