xfs
[Top] [All Lists]

TAKE - implement direct read and write in XFS

To: unlisted-recipients:; (no To-header on input)
Subject: TAKE - implement direct read and write in XFS
From: Steve Lord <lord@xxxxxxx>
Date: Mon, 5 Mar 2001 10:54:37 -0600
Sender: owner-linux-xfs@xxxxxxxxxxx
This implements direct I/O for xfs on linux, read and write should function.
Testing has been limited so far. There is cache coherency between buffered
and direct I/O to the extent that the direct calls will flush or flush and
invalidate the cache before starting I/O. A systune has been added at
/proc/sys/vm/pagebuf/max_dio_pages which defines how many pages will be
locked down at once during an individual read or write call, this does not
limit the size of the I/O, just the size of the requests which will be
issued to the block layer.

Steve

Date:  Mon Mar  5 08:47:52 PST 2001
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:88886a
linux/fs/xfs/xfs_rw.c - 1.330
        - fix xfs_zero_eof in direct I/O case

linux/fs/xfs/xfs_buf.h - 1.67
        - minor cleanup

linux/fs/xfs/linux/xfs_lrw.c - 1.79
        - Add bounds checking for direct I/O, do the cache invalidation for
          data coherency on direct I/O.

linux/fs/xfs/linux/xfs_file.c - 1.39
        - Minor tweaking

linux/fs/xfs/linux/xfs_vnode.c - 1.48
        - remove unneeded functions

linux/fs/xfs/linux/xfs_fs_subr.c - 1.27
        - limit flush/toss and flushinval to when there is data to work on.

linux/fs/xfs/linux/xfs_iops.c - 1.95
        - fix dioinfo ioctl return values

linux/include/linux/page_buf.h - 1.78
        - Add systune for direct I/O maximum pages

linux/fs/xfs/linux/xfs_ioctl.c - 1.31
        - fix dioinfo ioctl return values

linux/fs/pagebuf/page_buf.c - 1.61
        - Add systune for the maximum amount of pages to lock down for one
          direct I/O request

linux/fs/pagebuf/page_buf_io.c - 1.62
        - Implement direct read and write support

linux/fs/xfs/linux/xfs_vnode.h - 1.16
        - implement VN_CACHED, VN_DIRTY and VN_MAPPED as direct tests rather 
than
          function calls.



<Prev in Thread] Current Thread [Next in Thread>