summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ufs
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2016-05-17 21:28:28 +0000
committerkib <kib@FreeBSD.org>2016-05-17 21:28:28 +0000
commitb27a7ca7b1efbab72e1813705c75539612dada30 (patch)
tree7fd12de8853b1f68af9b95231ea1772fcbe3407e /sys/ufs/ufs
parent19e196ba065a14c8d0a00fd7d9d64038e0f84988 (diff)
downloadFreeBSD-src-b27a7ca7b1efbab72e1813705c75539612dada30.zip
FreeBSD-src-b27a7ca7b1efbab72e1813705c75539612dada30.tar.gz
For async UFS mounts, shrink the directory asynchronously, at least do
not pass IO_SYNC to ffs_truncate() unneccessary. Submitted by: bde MFC after: 1 week
Diffstat (limited to 'sys/ufs/ufs')
-rw-r--r--sys/ufs/ufs/ufs_lookup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c
index 43b4e5c..53536ff 100644
--- a/sys/ufs/ufs/ufs_lookup.c
+++ b/sys/ufs/ufs/ufs_lookup.c
@@ -1131,7 +1131,7 @@ ufs_direnter(dvp, tvp, dirp, cnp, newdirbp, isrename)
if (tvp != NULL)
VOP_UNLOCK(tvp, 0);
error = UFS_TRUNCATE(dvp, (off_t)dp->i_endoff,
- IO_NORMAL | IO_SYNC, cr);
+ IO_NORMAL | (DOINGASYNC(dvp) ? 0 : IO_SYNC), cr);
if (error != 0)
vprint("ufs_direnter: failed to truncate", dvp);
#ifdef UFS_DIRHASH
OpenPOWER on IntegriCloud