Subject: CVS commit: src/sys/ufs
To: None <source-changes@NetBSD.org>
From: Charles M. Hannum <mycroft@netbsd.org>
List: source-changes
Date: 08/14/2004 01:08:07
Module Name: src
Committed By: mycroft
Date: Sat Aug 14 01:08:07 UTC 2004
Modified Files:
src/sys/ufs/ext2fs: ext2fs_inode.c ext2fs_vfsops.c
src/sys/ufs/ffs: ffs_inode.c ffs_vfsops.c
src/sys/ufs/lfs: lfs.h lfs_alloc.c lfs_inode.c lfs_segment.c
lfs_vfsops.c
src/sys/ufs/ufs: inode.h ufs_inode.c ufs_vnops.c
Log Message:
Add a new flag, IN_MODIFY. This is like IN_UPDATE|IN_CHANGE, but unlike
setting those flags, it does not cause the inode to be written in the periodic
sync. This is used for writes to special files (devices and named pipes) and
FIFOs.
Do not preemptively sync updates to access times and modification times. They
are now updated in the inode only opportunistically, or when the file or device
is closed. (Really, it should be delayed beyond close, but this is enough to
help substantially with device nodes.)
And the most amusing part:
Trickle sync was broken on both FFS and ext2fs, in different ways. In FFS, the
periodic call to VFS_SYNC(MNT_LAZY) was still causing all file data to be
synced. In ext2fs, it was causing the metadata to *not* be synced. We now
only call VOP_UPDATE() on the node if we're doing MNT_LAZY. I've confirmed
that we do in fact trickle correctly now.
To generate a diff of this commit:
cvs rdiff -r1.40 -r1.41 src/sys/ufs/ext2fs/ext2fs_inode.c
cvs rdiff -r1.73 -r1.74 src/sys/ufs/ext2fs/ext2fs_vfsops.c
cvs rdiff -r1.64 -r1.65 src/sys/ufs/ffs/ffs_inode.c
cvs rdiff -r1.151 -r1.152 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -r1.72 -r1.73 src/sys/ufs/lfs/lfs.h src/sys/ufs/lfs/lfs_alloc.c
cvs rdiff -r1.83 -r1.84 src/sys/ufs/lfs/lfs_inode.c
cvs rdiff -r1.153 -r1.154 src/sys/ufs/lfs/lfs_segment.c
cvs rdiff -r1.154 -r1.155 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.37 -r1.38 src/sys/ufs/ufs/inode.h
cvs rdiff -r1.42 -r1.43 src/sys/ufs/ufs/ufs_inode.c
cvs rdiff -r1.117 -r1.118 src/sys/ufs/ufs/ufs_vnops.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.