diff options
author | kib <kib@FreeBSD.org> | 2016-05-17 21:28:28 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2016-05-17 21:28:28 +0000 |
commit | b27a7ca7b1efbab72e1813705c75539612dada30 (patch) | |
tree | 7fd12de8853b1f68af9b95231ea1772fcbe3407e /sys/ufs/ufs | |
parent | 19e196ba065a14c8d0a00fd7d9d64038e0f84988 (diff) | |
download | FreeBSD-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.c | 2 |
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 |