Date: Fri, 19 Oct 2007 12:23:25 +0000 (UTC) From: Bruce Evans <bde@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/fs/msdosfs msdosfs_denode.c msdosfs_lookup.c msdosfs_vfsops.c msdosfs_vnops.c Message-ID: <200710191223.l9JCNPFt011623@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 2007-10-19 12:23:25 UTC FreeBSD src repository Modified files: sys/fs/msdosfs msdosfs_denode.c msdosfs_lookup.c msdosfs_vfsops.c msdosfs_vnops.c Log: Implement the async (really, delayed-write) mount option for msdosfs. This is much simpler than for ffs since there are many fewer places where we need to choose between a delayed write and a sync write -- just 5 in msdosfs and more than 30 in ffs. This is more complete and correct than in ffs. Several places in ffs are are still missing the choice. ffs_update() has a layering violation that breaks callers which want to force a sync update (mainly fsync(2) and O_SYNC write(2)). However, fsync(2) and O_SYNC write(2) are still more broken than in ffs, since they are broken for default (non-sync non-async) mounts too. Both fail to sync the FAT in all cases, and both fail to sync the directory entry in some cases after losing a race. Async everything is probably safer than the half-baked sync of metadata given by default mounts. Revision Changes Path 1.98 +2 -2 src/sys/fs/msdosfs/msdosfs_denode.c 1.52 +9 -3 src/sys/fs/msdosfs/msdosfs_lookup.c 1.178 +1 -1 src/sys/fs/msdosfs/msdosfs_vfsops.c 1.181 +6 -4 src/sys/fs/msdosfs/msdosfs_vnops.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710191223.l9JCNPFt011623>