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
|