summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2015-06-10 02:14:33 +0000
committerkib <kib@FreeBSD.org>2015-06-10 02:14:33 +0000
commita105f5d7fd400b5c08d8493a9d051428dfa6d646 (patch)
tree7abd22d722b1af9e2bbfbcf1879dcc7da8cb6a0c /sys/ufs/ffs
parent7b840cb1779089c3fa3d2296f5e20917dbff2988 (diff)
downloadFreeBSD-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/ffs')
-rw-r--r--sys/ufs/ffs/ffs_vnops.c4
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;
}
OpenPOWER on IntegriCloud