<& xfsTemplate,top=>1,side=>1 &>
<!-- Start Project Content -->
<FONT FACE="ARIAL NARROW, HELVETICA" SIZE="5"><B>Work item list as of 7/25/2000</B></FONT>
<P>
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.
<DL>
<DT> Ananth
<DD>
Move the development tree to Linux kernel 2.4.
<DT> Steve and Ananth and Chait
<DD>
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.
<DT> Ananth & Steve
<DD>
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.
<DT> Steven
<DD>
Documentation: XFS admin manual outline.
The admin guide needs to get started.
<DT> Martin
<DD>
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.
<DT> Steve/Ted
<DD>
Integrate any new fixes from the latest XFS in 6.5.[89]f into the Linux.
tree.
<DT> unassigned
<DD> Enable error injecting code and test
<DT> everyone
<DD>
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.
<DT> Russell
<DD>
Maintain CVS tree on oss.sgi.com.
<DT> unassigned
<DD>
Flush/invalidate/toss pages for an inode.
This is mostly there (pagebuf_inval) but more work may be needed
for direct I/O.
<DT> Chait
<DD>
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.
<DT> everyone.
<DD>
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.
<DT> Ananth
<DD>
Compile and check-out on an 64 bit machine. This should be done
on an IA 64 machine, too.
<DT> unassigned.
<DD>
Replace the MR locks in XFS with the 2.3 new locks and possibly push
locking code into 2.3.
<DT> Chait
<DD>
The interface through ll_rw_block() must be able to handle multiple
block sizes so I/O can go bigger than 512 bytes.
<DT> unassigned
<DD>
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.
<DT> unassigned
<DD>
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.
<DT> Australian team (Ken M.) and Phil
<DD>
dump/restore - the xfs specific ones and the generic ones.
<DT> Australian team (Ken M.) and Martin?
<DD>
Port xfs_growfs and growfs specific ioctls. xfs_growfs needs to work
with various volume managers.
<DT> unassigned
<DD>
Quotas: There are linux quotas and xfs quotas .....
<DT> unassigned
<DD>
port the fsr utility from eoe/cmd/xfs/fsr.
<DT> Ted
<DD>
Extended attributes: There needs to be a kernel interface.
<DT> Linuxcare (Martin/Phil)/Heinz(LVM)
<DD>
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.
<DT> Linuxcare (Martin/Phil)
<DD>
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.
<DT> unassigned
<DD>
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.
<DT> unassigned
<DD>
Get ACLs and capability sets working in XFS on Linux.
<DT> unassigned
<DD>
Realtime: configure and test.
<DT> unassigned
<DD>
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.
<DT> unassigned
<DD>
Many IRIX/MIPS XFS file systems are in xlv or xvm volumes.
There must be a way to read these file system.
<DT> unassigned
<DD>
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.
<DT> unassigned
<DD>
DMAPI: implement this in Linux.
<DT> unassigned
<DD>
Port GRIO to Linux->XFS.
<DT> unassigned
<DD>
XFS does not work on loopback devices. This should be fixed but it is
lower priority.
<DT> unassigned
<DD>
Add global version number accross all xfs tools and
filesystem.
</DL>
<!-- End Project Content -->
<& xfsTemplate,bottom=>1 &>