This removes the XFS specific write path by modifying the
generic path to be usable by XFS. Also a couple of O_DIRECT
related fixes, and a locking change in pagebuf which should
protect the cases where the block device and the filesystem
path are being accessed in parallel.
Date: Mon Jul 8 19:59:39 PDT 2002
Workarea: jen.americas.sgi.com:/src/lord/xfs-linux.2.4
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: 2.4.x-xfs:slinx:122679a
linux/mm/filemap.c - 1.113
- break generic_file_write apart for use by xfs. Fix direct read end of
file handling.
linux/include/linux/fs.h - 1.152
- prototype for do_generic_file_write
linux/fs/xfs/xfs_dmapi.c - 1.64
- Get max direct I/O size from a different place
linux/fs/xfs/linux/xfs_lrw.c - 1.152
- replace call to pagebuf_generic_file_write with do_generic_file_write.
linux/fs/xfs/linux/xfs_file.c - 1.69
- since we now call the generic write path in xfs remove the checks
here which duplicate its functionality. Grab the i_sem lock in the
non O_DIRECT case, we need it in the vmtruncate call out of
do_generic_file_write.
linux/fs/xfs/linux/xfs_iops.c - 1.157
- Add a truncate operation, change setattr to use vmtruncate and
not call inode_setattr
linux/fs/xfs/linux/xfs_ioctl.c - 1.65
- Get max direct I/O size from a different place
linux/fs/xfs/pagebuf/page_buf_io.c - 1.48
- remove write path
linux/fs/xfs/pagebuf/page_buf.c - 1.35
- leave pages locked when reading it in.
linux/fs/xfs/pagebuf/page_buf.h - 1.23
- remove prototypes
linux/fs/xfs/pagebuf/page_buf_internal.h - 1.10
- remove direct I/O config option
|