& 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.
- 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.
- Nathan
- 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 &>