To turn on XFS DEBUG mode compilations, use your favorite
make {old,x}config and choose CONFIG_XFS_DEBUG, it's no
longer necessary to edit the fs/xfs Makefile's.
More infrastructure changes related to inode/vnode/xnode setup.
Now, NFS can do an "out of the blue" iget, knowing only the
inode #, and the XFS read_inode function will set up a proper
linux-inode/vnode/xfs-inode set of structures.
Internally, xfs_iget no longer indirectly causes a linux iget,
instead we get an empty linux inode, and build our own.
This gets us a lot farther into the SpecFS 2.0 test suite, but,
it's not all done yet, I've hit one occurrence of an NFS
"setattr_size" (trunc) causing a problem in the ag_extent
routines.
Date: Tue Jul 4 12:32:45 PDT 2000
Workarea: tiki.cray.com:/data/clink/io/jtk/work-linux2.4-test1
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.0-test1-xfs
Modid: 2.4.0-test1-xfs:slinx:65656a
linux/kernel/ksyms.c - 1.53
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/kernel/ksyms.c.diff?r1=text&tr1=1.53&r2=text&tr2=1.52&f=h
linux/include/linux/fs.h - 1.51
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/include/linux/fs.h.diff?r1=text&tr1=1.51&r2=text&tr2=1.50&f=h
linux/fs/inode.c - 1.27
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/inode.c.diff?r1=text&tr1=1.27&r2=text&tr2=1.26&f=h
- Temporary debugging routine (iget4_noallocate) to be
removed later.
linux/fs/Config.in - 1.36
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/Config.in.diff?r1=text&tr1=1.36&r2=text&tr2=1.35&f=h
linux/fs/xfs/Makefile - 1.103
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/Makefile.diff?r1=text&tr1=1.103&r2=text&tr2=1.102&f=h
linux/fs/xfs/linux/Makefile - 1.21
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/Makefile.diff?r1=text&tr1=1.21&r2=text&tr2=1.20&f=h
- Allow XFS DEBUG mode to be configured via CONFIG_XFS_DEBUG.
linux/fs/xfs/xfs_iget.c - 1.119
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_iget.c.diff?r1=text&tr1=1.119&r2=text&tr2=1.118&f=h
- Break xfs_iget into xfs_iget_core, called by xfs_iget
or xfs_vn_iget, with indications of internal/external
origination of setup. For external, a vnode area is
already allocated, use it.
Insert the vn_alloc'd linux-inode/vnode into the icache
hash when necessaary.
linux/fs/xfs/xfs_inode.h - 1.138
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/xfs_inode.h.diff?r1=text&tr1=1.138&r2=text&tr2=1.137&f=h
- Prototype for xfs_vn_iget.
linux/fs/xfs/pseudo-inc/sys/vnode.h - 1.25
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.25&r2=text&tr2=1.24&f=h
- Change vn_initialize prototype; provide vn_insert_in_linux_hash
prototype.
Change VMAP to pass along the vfs address in the vmap.
linux/fs/xfs/linux/xfs_vnode.c - 1.29
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_vnode.c.diff?r1=text&tr1=1.29&r2=text&tr2=1.28&f=h
- Clean up the vn_address function.
Modify vn_initialize to "recognize" that if called from
read_inode it's necessary to call xfs_vn_iget to establish
a complete linux-inode/vnode/xfs-inode setup.
Change vn_alloc: call get_empty_inode instead of iget(),
the caller of vn_alloc assumes the responsibility of
inserting the linux-inode into the icache hash list.
Also, vn_alloc calls vn_initialize with a flag denoting
"internal" setup.
Provide the "vn_insert_in_linux_hash" routine.
linux/fs/xfs/linux/xfs_super.c - 1.71
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_super.c.diff?r1=text&tr1=1.71&r2=text&tr2=1.70&f=h
- Change linvfs_set_inode_ops to handle the VNON case.
This routine to be changed again in a followup mod.
At read_inode time, call vn_initialize with a flag
denoting a read_inode situation.
|