<& xfsTemplate,top=>1,side=>1 &> Work item list as of 7/31/2000

The current work item list for XFS on Linux are listed below. The individual(s) working on the item are listed before the description of each item. Some items are unassigned.

Beta release

Steve and Ananth and Chait
Ongoing Pagebuf and I/O path work: remove delwri from I/O path, improve delalloc, clean up sync writes, delalloc I/O clustering, handle unwritten extents, tune the way the daemons run.
Steven
Documentation: XFS admin manual outline. The admin guide needs to get started.
Steve
Integrate any new fixes from the latest XFS in 6.5.[89]f into the Linux tree (ongoing task).
Russell
Maintain CVS tree on oss.sgi.com (ongoing task).
Chait
Integrate kiobufs into more disk drivers and provide interface similar to ll_rw_block for XFS (and any other file system). This should also work for volume managers like LVM, md, ... This has been done for scsi and needs to be moved into volume managers and other drivers.
Ananth
IA-64 port.
Chait
The interface through ll_rw_block() must be able to handle multiple block sizes so I/O can go bigger than 512 bytes.
Ivan and Tim
Port xfs_dump & xfs_restore to Linux.
Andrew and Martin
Port xfs_growfs and growfs specific ioctls. xfs_growfs needs to work with various volume managers.
Linuxcare (Martin)/Heinz(LVM)
Volume manager work: Allow XFS to sit on top of LVM and MD extract stripe info from volume manager at mkfs time. Support separate log, data, realtime subvolumes, or multiple devices.
Nathan
User tool portability and de-SIM all code
Nathan
Merge user tool build environment changes from pcp to support RPM version 4 (needed for IA64)
everyone
Compile warnings and cleanup. Kill dead code, fix compile warnings. Each person should continue removing IRIX specific or any duplicate code as they see it.
everyone.
Run other fs tests and fix XFS problems. These tests include: growfiles, randholes, fsstress, and xfs crash tests. Continue to run iogen/doio, kernel builds, and lmbench/dbench.
unassigned
Finalize extended attribute interface (coordinate with http://acl.bestbits.at/).
unassigned
Enable error injecting code and test
unassigned.
Replace the MR locks in XFS with the 2.3 new locks and possibly push locking code into 2.3.
Anath
XFS port has been using 4K file system block sizes. mkfs needs to be run with all block size that the man page supports and either change these or show that they work. I suspect that block sizes smaller than PAGESIZE will not work now. In fact, bigger than PAGESIZE probably won't work either. We should also test out all the other variable sizes in mkfs like inode size, and log size, etc.
unassigned
Other 64 Bit work: the block number in buffer_head and other structures is only 32 bit. This restricts the maximum file size. Get enough disk to actually create a 10 TB file system and show XFS running on it until it is full. This will probably uncover other problems besides the block number.
unassigned
Sync: walk through xfs_syncsub and make sure that all the checks are valid. Some may still be IRIX specific. Take into account the new sync'ing structure on Linux, i.e. write_super, write_inode, the page cleaner, and shrink_mmap.
unassigned
There are many "versions" and options currently supported by XFS on IRIX. This includes things like version 1 directories and unwritten extents. We must decide which of all these will be supported on Linux.
unassigned
support XFS on loopback devices.

Later releases

Linuxcare (Martin)
64 Bit inode numbers: with very large file systems, inode #s can get bigger than 32 bits. Get this working for XFS on Linux. This requires changes all the way through Linux and including libc.
Dean
implement DMAPI
Ananth & Steve
Direct I/O: We need to be able to turn the users pages into a pagebuf. This involves having kiobufs point to user memory (already done for raw I/O), and flushing any buffered user data that is dirty (since it will be read directly from disk). The read part is somewhat there but we need to flush dirty pages.
unassigned
Flush/invalidate/toss pages for an inode. This is mostly there (pagebuf_inval) but more work may be needed for direct I/O.
unassigned
Realtime: configure and test.
unassigned
GRIO & ggd. Work has been done on this - see nathans@melbourne and dxm@melbourne.
unassigned
Quotas: There are linux quotas and xfs quotas .....
unassigned
Get ACLs and capability sets working in XFS on Linux.
unassigned
Add the ability to run without the log. This is lower priority but would be useful in comparing XFS to ext2 and other non-journalled file systems. Stub out LOG/trans code for XFS. This would need to be a mount and/or mkfs option.
unassigned
Many IRIX/MIPS XFS file systems are in xlv or xvm volumes. There must be a way to read these file system.
unassigned
Modify linux dump/restore to work with xfs.
<& xfsTemplate,bottom=>1 &>