xfs
[Top] [All Lists]

TAKE - reimplement pagebuf_inval and change all its callers

To: linux-xfs@xxxxxxxxxxx
Subject: TAKE - reimplement pagebuf_inval and change all its callers
From: Steve Lord <lord@xxxxxxx>
Date: Tue, 4 Apr 2000 13:46:06 -0500 (CDT)
Sender: owner-linux-xfs@xxxxxxxxxxx
pagebuf_inval was doing nasty things to get rid of pages, and was not 
very efficient about it. This changes it to use truncate_inode_pages
instead. truncate_inode_pages does not allow you to specify an end
point for removing pages, which is OK because all the calls from XFS
specify EOF anyway. So, we change all the calls out of XFS because
they were calculating an end offset which made things more efficient
on Irix, but does not on Linux.


Modid:  2.3.99pre2-xfs:slinx:56595a
Date:  Tue Apr  4 11:31:55 PDT 2000
Workarea:  clink.americas.sgi.com:/data/clink/io/lord/slinx-xfs-2.3.99pre2

The following file(s) were checked into:
  bonnie.engr.sgi.com:/isms/slinx/2.3.99pre2-xfs

cmd/xfs/sim/src/vnode.c - 1.52
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/cmd/xfs/sim/src/vnode.c.diff?r1=text&tr1=1.52&r2=text&tr2=1.51&f=h
        - Remove bogus vop call - they cannot be made at this point.

linux/fs/page_buf.c - 1.77
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/page_buf.c.diff?r1=text&tr1=1.77&r2=text&tr2=1.76&f=h
        - Reimplement pagebuf_inval to use the more efficient 
truncate_inode_pages
          which also does not set the referenced bit on pages.

linux/fs/xfs/linux/xfs_fs_subr.c - 1.18
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_fs_subr.c.diff?r1=text&tr1=1.18&r2=text&tr2=1.17&f=h
        - Change fs_toss/flush/flushinval functions to not take a range
          as we don't have support for this on linux - plus the end
          range was almost always EOF.

linux/fs/xfs/linux/xfs_lrw.c - 1.32
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_lrw.c.diff?r1=text&tr1=1.32&r2=text&tr2=1.31&f=h
        - Fix VOP_FLUSH_PAGES for interface change.

linux/fs/xfs/linux/xfs_vnode.c - 1.22
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_vnode.c.diff?r1=text&tr1=1.22&r2=text&tr2=1.21&f=h
        - Remove bogus vop call - they cannot be made at this point.

linux/fs/xfs/pseudo-inc/sys/fs_subr.h - 1.7
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/pseudo-inc/sys/fs_subr.h.diff?r1=text&tr1=1.7&r2=text&tr2=1.6&f=h
        - Change fs_toss/flush/flushinval functions to not take a range
          as we don't have support for this on linux - plus the end
          range was almost always EOF.

linux/fs/xfs/pseudo-inc/sys/vnode.h - 1.17
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/pseudo-inc/sys/vnode.h.diff?r1=text&tr1=1.17&r2=text&tr2=1.16&f=h
        - Change VOP_FLUSH_PAGES VOP_FLUSHINVAL_PAGES and VOP_TOSS_PAGES to
          not take an end offset.

linux/fs/xfs/xfs_bmap.c - 1.246
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_bmap.c.diff?r1=text&tr1=1.246&r2=text&tr2=1.245&f=h
linux/fs/xfs/xfs_dfrag.c - 1.15
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_dfrag.c.diff?r1=text&tr1=1.15&r2=text&tr2=1.14&f=h
linux/fs/xfs/xfs_inode.c - 1.278
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_inode.c.diff?r1=text&tr1=1.278&r2=text&tr2=1.277&f=h
linux/fs/xfs/xfs_rw.c - 1.311
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_rw.c.diff?r1=text&tr1=1.311&r2=text&tr2=1.310&f=h
linux/fs/xfs/xfs_vfsops.c - 1.262
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_vfsops.c.diff?r1=text&tr1=1.262&r2=text&tr2=1.261&f=h
linux/fs/xfs/xfs_vnodeops.c - 1.449
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_vnodeops.c.diff?r1=text&tr1=1.449&r2=text&tr2=1.448&f=h
        - Change calls to VOP_FLUSH_PAGES VOP_FLUSHINVAL_PAGES and 
VOP_TOSS_PAGES to
          not take an end offset.

linux/include/linux/page_buf.h - 1.42
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/include/linux/page_buf.h.diff?r1=text&tr1=1.42&r2=text&tr2=1.41&f=h
        - Change prototypes for toss/flush and inval to not take an end offset


<Prev in Thread] Current Thread [Next in Thread>
  • TAKE - reimplement pagebuf_inval and change all its callers, Steve Lord <=