diff options
author | dyson <dyson@FreeBSD.org> | 1995-11-05 21:01:15 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1995-11-05 21:01:15 +0000 |
commit | cfa6fda2522d5851cab5f536a80741f4a5163c2c (patch) | |
tree | 8f998729bf9cebad3c2ad5b9da6f7c01a9ca53b4 /sys/ufs/ffs | |
parent | 1b8e5404ee43d51a47f50d452f1f170f3ca57b22 (diff) | |
download | FreeBSD-src-cfa6fda2522d5851cab5f536a80741f4a5163c2c.zip FreeBSD-src-cfa6fda2522d5851cab5f536a80741f4a5163c2c.tar.gz |
Make MNT_ASYNC more effective for UFS. It should not be too much more
dangerous than the original MNT_ASYNC. There might be some minor
security considerations due to data writes not being posted as promptly
as before. Meta-data operations are still not quite as fast as Linux,
but streaming I/O is still higher.
Diffstat (limited to 'sys/ufs/ffs')
-rw-r--r-- | sys/ufs/ffs/ffs_inode.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index 1b8d25c..3b5f56f 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_inode.c 8.5 (Berkeley) 12/30/93 - * $Id: ffs_inode.c,v 1.14 1995/08/04 05:49:17 davidg Exp $ + * $Id: ffs_inode.c,v 1.15 1995/08/16 13:16:58 davidg Exp $ */ #include <sys/param.h> @@ -222,6 +222,8 @@ ffs_truncate(ap) oip->i_size = length; if (aflags & B_SYNC) bwrite(bp); + else if (ovp->v_mount->mnt_flag & MNT_ASYNC) + bdwrite(bp); else bawrite(bp); vnode_pager_setsize(ovp, (u_long)length); @@ -252,6 +254,8 @@ ffs_truncate(ap) allocbuf(bp, size); if (aflags & B_SYNC) bwrite(bp); + else if (ovp->v_mount->mnt_flag & MNT_ASYNC) + bdwrite(bp); else bawrite(bp); } |