Module Name: src Committed By: riastradh Date: Fri Mar 27 17:27:56 UTC 2015
Modified Files: src/sys/ufs/chfs: chfs_vnops.c src/sys/ufs/ext2fs: ext2fs_extern.h ext2fs_lookup.c ext2fs_readwrite.c ext2fs_rename.c ext2fs_vfsops.c ext2fs_vnops.c src/sys/ufs/ffs: ffs_extern.h ffs_vfsops.c src/sys/ufs/lfs: lfs_extern.h lfs_rename.c lfs_vnops.c ulfs_extern.h ulfs_lookup.c ulfs_readwrite.c ulfs_vnops.c src/sys/ufs/ufs: ufs_extern.h ufs_lookup.c ufs_readwrite.c ufs_rename.c ufs_vnops.c ufsmount.h Log Message: Disentangle buffer-cached I/O from page-cached I/O in UFS. Page-cached I/O is used for regular files, and is initiated by VFS users such as userland and NFS. Buffer-cached I/O is used for directories and symlinks, and is issued only internally by UFS. New UFS routine ufs_bufio replaces vn_rdwr for internal use. ufs_bufio is implemented by new UFS operations uo_bufrd/uo_bufwr, which sit in ufs_readwrite.c alongside the VOP_READ/VOP_WRITE implementations. I preserved the code as much as possible and will leave further simplification for future commits. I kept the ulfs_readwrite.c copypasta close to ufs_readwrite.c in case we ever want to merge them back; likewise ext2fs_readwrite.c. No externally visible semantic change. All atf fs tests still pass. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/ufs/chfs/chfs_vnops.c cvs rdiff -u -r1.47 -r1.48 src/sys/ufs/ext2fs/ext2fs_extern.h cvs rdiff -u -r1.77 -r1.78 src/sys/ufs/ext2fs/ext2fs_lookup.c cvs rdiff -u -r1.66 -r1.67 src/sys/ufs/ext2fs/ext2fs_readwrite.c cvs rdiff -u -r1.7 -r1.8 src/sys/ufs/ext2fs/ext2fs_rename.c cvs rdiff -u -r1.191 -r1.192 src/sys/ufs/ext2fs/ext2fs_vfsops.c cvs rdiff -u -r1.115 -r1.116 src/sys/ufs/ext2fs/ext2fs_vnops.c cvs rdiff -u -r1.81 -r1.82 src/sys/ufs/ffs/ffs_extern.h cvs rdiff -u -r1.325 -r1.326 src/sys/ufs/ffs/ffs_vfsops.c cvs rdiff -u -r1.101 -r1.102 src/sys/ufs/lfs/lfs_extern.h cvs rdiff -u -r1.7 -r1.8 src/sys/ufs/lfs/lfs_rename.c \ src/sys/ufs/lfs/ulfs_readwrite.c cvs rdiff -u -r1.269 -r1.270 src/sys/ufs/lfs/lfs_vnops.c cvs rdiff -u -r1.13 -r1.14 src/sys/ufs/lfs/ulfs_extern.h cvs rdiff -u -r1.21 -r1.22 src/sys/ufs/lfs/ulfs_lookup.c \ src/sys/ufs/lfs/ulfs_vnops.c cvs rdiff -u -r1.78 -r1.79 src/sys/ufs/ufs/ufs_extern.h cvs rdiff -u -r1.132 -r1.133 src/sys/ufs/ufs/ufs_lookup.c cvs rdiff -u -r1.107 -r1.108 src/sys/ufs/ufs/ufs_readwrite.c cvs rdiff -u -r1.11 -r1.12 src/sys/ufs/ufs/ufs_rename.c cvs rdiff -u -r1.225 -r1.226 src/sys/ufs/ufs/ufs_vnops.c cvs rdiff -u -r1.42 -r1.43 src/sys/ufs/ufs/ufsmount.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.