<& xfsTemplate,top=>1,side=>1 &> Work item list as of 7/25/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.

Ananth
Move the development tree to Linux kernel 2.4.
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, merge 3 modules into 1, split page_buf.c into page_buf_io.c and page_buf.c.
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.
Steven
Documentation: XFS admin manual outline. The admin guide needs to get started.
Martin
Documentation: write-up a blurb on how to configure XFS and LVM for admin guide. This has been written but needs to be checked into the source tree.
Steve/Ted
Integrate any new fixes from the latest XFS in 6.5.[89]f into the Linux. tree.
unassigned
Enable error injecting code and test
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.
Russell
Maintain CVS tree on oss.sgi.com.
unassigned
Flush/invalidate/toss pages for an inode. This is mostly there (pagebuf_inval) but more work may be needed for direct I/O.
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.
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.
Ananth
Compile and check-out on an 64 bit machine. This should be done on an IA 64 machine, too.
unassigned.
Replace the MR locks in XFS with the 2.3 new locks and possibly push locking code into 2.3.
Chait
The interface through ll_rw_block() must be able to handle multiple block sizes so I/O can go bigger than 512 bytes.
unassigned
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
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.
Australian team (Ken M.) and Phil
dump/restore - the xfs specific ones and the generic ones.
Australian team (Ken M.) and Martin?
Port xfs_growfs and growfs specific ioctls. xfs_growfs needs to work with various volume managers.
unassigned
Quotas: There are linux quotas and xfs quotas .....
unassigned
port the fsr utility from eoe/cmd/xfs/fsr.
Ted
Extended attributes: There needs to be a kernel interface.
Linuxcare (Martin/Phil)/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.
Linuxcare (Martin/Phil)
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.
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
Get ACLs and capability sets working in XFS on Linux.
unassigned
Realtime: configure and test.
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
Many IRIX/MIPS XFS file systems are in xlv or xvm volumes. There must be a way to read these file system.
unassigned
There are many "versions" and options currently supported by XFS on IRIX. This includes things like version 1 directories and before unwritten extents. We must decide which of all these will be supported on Linux.
unassigned
DMAPI: implement this in Linux.
unassigned
Port GRIO to Linux->XFS.
unassigned
XFS does not work on loopback devices. This should be fixed but it is lower priority.
unassigned
Add global version number accross all xfs tools and filesystem.
<& xfsTemplate,bottom=>1 &>