<HTML>
<HEAD>
<TITLE>Work items for the XFS Port to Linux</TITLE>
<META NAME="description" content="Project Todos">
<META NAME="keywords" content="XFS, port, Open Source, Linux, code, status, todos">
<SCRIPT LANGUAGE="JavaScript" SRC="/js/nav-top_oss.js"></SCRIPT>
</HEAD>
<SCRIPT LANGUAGE="JavaScript" SRC="/js/l3_images.js"></SCRIPT>
<BODY MARGINHEIGHT="0" MARGINWIDTH="0" LEFTMARGIN="0" TOPMARGIN="0" BGCOLOR="#FFFFFF" TEXT="#000000" ALINK="#FF0000" VLINK="#666666" LINK="#420077">
<SCRIPT LANGUAGE="Javascript">
<!---
function change(Name,Image,No,Msg) {
if (!document.images) {}
else {
document [Name].src = eval(Image + No + ".src");
}
if (Msg) self.status = eval(Image + "2");
return true
}
//-->
</SCRIPT>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="620">
<!-- Start sgi.com Top Nav -->
<TR>
<TD COLSPAN="3"><A HREF="http://www.sgi.com/" onMouseover="change('hom','nav_hom',1)" onMouseout="change('hom','nav_hom',0)"><IMG
SRC="/images/common/nav_home0.gif" ALT="[Home] " WIDTH="48" HEIGHT="25" BORDER="0" NAME="hom"></A><A
HREF="http://www.sgi.com/search/" onMouseover="change('src','nav_src',1)" onMouseout="change('src','nav_src',0)"><IMG
SRC="/images/common/nav_search0.gif" ALT="[Search] " WIDTH="54" HEIGHT="25" BORDER="0" NAME="src"></A><A
HREF="http://www.sgi.com/sales/" onMouseover="change('sal','nav_sal',1)" onMouseout="change('sal','nav_sal',0)"><IMG
SRC="/images/common/nav_sales0.gif" ALT="[How to Buy] " WIDTH="79" HEIGHT="25" BORDER="0" NAME="sal"></A><A
HREF="http://www.sgi.com/products/" onMouseover="change('prd','nav_prd',1)" onMouseout="change('prd','nav_prd',0)"><IMG
SRC="/images/common/nav_prod0.gif" ALT="[Products] " WIDTH="70" HEIGHT="25" BORDER="0" NAME="prd"></A><A
HREF="http://www.sgi.com/solutions/" onMouseover="change('sol','nav_sol',1)" onMouseout="change('sol','nav_sol',0)"><IMG
SRC="/images/common/nav_solutions0.gif" ALT="[Solutions] " WIDTH="73" HEIGHT="25" BORDER="0" NAME="sol"></A><A
HREF="http://www.sgi.com/developers/"><IMG
SRC="/images/common/nav_dev1.gif" ALT="[Developers] " WIDTH="81" HEIGHT="25" BORDER="0" NAME="dev"></A><A
HREF="http://www.sgi.com/support/" onMouseover="change('srv','nav_srv',1)" onMouseout="change('srv','nav_srv',0)"><IMG
SRC="/images/common/nav_support0.gif" ALT="[Services and Support] " WIDTH="128" HEIGHT="25" BORDER="0" NAME="srv"></A><A
HREF="http://www.sgi.com/fun/" onMouseover="change('fun','nav_fun',1)" onMouseout="change('fun','nav_fun',0)"><IMG
SRC="/images/common/nav_fun0.gif" ALT="[Serious Fun] " WIDTH="87" HEIGHT="25" BORDER="0" NAME="fun"></A></TD>
</TR>
<TR>
<TD COLSPAN="3"><IMG SRC="/images/common/nav_dev_line.gif" ALT="" WIDTH="620" HEIGHT="7"></TD>
</TR>
<!-- End sgi.com Top Nav -->
<TR>
<TD VALIGN="TOP"><A HREF="http://www.sgi.com/"><IMG SRC="/images/common/sgilogo.gif" ALT="sgi" WIDTH="130" HEIGHT="108" BORDER="0"></A></TD>
<TD COLSPAN="2" ALIGN="RIGHT"> <BR><A HREF="http://www.sgi.com/developers/"><IMG src="/images/nav-devcentral.gif" WIDTH="203" HEIGHT="55" ALT="Developer Central" BORDER="0"></A>
<BR>
<A HREF="http://www.sgi.com/developers/devtools/index.html" onMouseOver="if (good == 1) turnOn('image1')" onMouseOut="if (good == 1) turnOff('image1')"><IMG
NAME="image1" src="/images/nav-dev_off.gif" ALT="Development Products" WIDTH="80" HEIGHT="55" BORDER="0"></A><A HREF="http://www.sgi.com/developers/program/index.html" onMouseOver="if (good == 1) turnOn('image2')" onMouseOut="if (good == 1) turnOff('image2')"><IMG
NAME="image2" src="/images/nav-prog_off.gif" ALT="Program & Benefits" WIDTH="75" HEIGHT="55" BORDER="0"></A><A HREF="http://www.sgi.com/developers/library/index.html" onMouseOver="if (good == 1) turnOn('image3')" onMouseOut="if (good == 1) turnOff('image3')"><IMG
NAME="image3" src="/images/nav-lib_off.gif" ALT="Library" WIDTH="72" HEIGHT="55" BORDER="0"></A><A HREF="http://www.sgi.com/developers/marketing/index.html" onMouseOver="if (good == 1) turnOn('image4')" onMouseOut="if (good == 1) turnOff('image4')"><IMG
NAME="image4" src="/images/nav-mkt_off.gif" ALT="Marketing Resources" WIDTH="72" HEIGHT="55" BORDER="0"></A><A HREF="http://www.sgi.com/developers/technology/index.html" onMouseOver="if (good == 1) turnOn('image5')" onMouseOut="if (good == 1) turnOff('image5')"><IMG
NAME="image5" src="/images/nav-tech_off.gif" ALT="Technology" WIDTH="73" HEIGHT="55" BORDER="0"></A><A HREF="http://www.sgi.com/developers/oss/index.html" onMouseOver="if (good == 1) turnOn('image6')" onMouseOut="if (good == 1) turnSel('image6')"><IMG
NAME="image6" src="/images/nav-oss_sel.gif" ALT="Open Source" WIDTH="75" HEIGHT="55" BORDER="0"></A><BR><A HREF="http://www.sgi.com/developers/oss/index.html" onMouseOver="if (good == 1) turnOn('image6')" onMouseOut="if (good == 1) turnSel('image6')"><IMG
src="/images/nav-title_oss.gif" WIDTH="118" HEIGHT="25" ALT="Open Source" BORDER="0"></TD>
</TR>
<TR><TD WIDTH="138" VALIGN="TOP">
<!-- Start oss Project Sub Nav -->
<TABLE BORDER="0" WIDTH="138" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD><IMG src="/images/dot_clear.gif" WIDTH="5" HEIGHT="2" ALT="image"></TD>
<TD><IMG src="/images/dot_clear.gif" WIDTH="20" HEIGHT="2" ALT="image"></TD>
<TD><IMG src="/images/dot_clear.gif" WIDTH="116" HEIGHT="2" ALT="image"></TD>
</TR>
<TR>
<TD></TD>
<TD COLSPAN="2"><IMG src="/images/bullets_dev2.gif" ALT=""
WIDTH="18" HEIGHT="10"><FONT FACE="Geneva, Arial Narrow, Helvetica"
SIZE="2"><a href="../../about/system.html"><B>About this site</B></a></FONT><br>
<br></TD>
</TR>
<TR>
<TD></TD>
<TD COLSPAN="2"><IMG src="/images/bullets_dev2.gif" ALT=""
WIDTH="18" HEIGHT="10"><FONT FACE="Geneva, Arial Narrow, Helvetica"
SIZE="2"><B>Project XFS</B></FONT></TD>
</TR>
<TR>
<TD></TD>
<TD></TD>
<TD><FONT FACE="ARIAL, HELVETICA" SIZE="2">
<A HREF="status.html">Port Status</A><BR>
<font color="#207575"><b>Work Items</b></font><BR>
<A href="">Overview</a><BR>
<a href="news.html">News</a><BR>
<A HREF="faq.html">FAQ</A><BR>
<a href="mail.html">Mailing List</a><BR>
<A HREF="contribute.html">How to Contribute</A><BR>
<A HREF="ftp://oss.sgi.com/cvs/xfs/">Source Tree</A><BR>
<A HREF="ftp://oss.sgi.com/www/projects/xfs/download/">Download</A><BR>
<A HREF="license.html">License</A>
</FONT><BR> </TD>
</TR>
<TR>
<TD></TD>
<TD COLSPAN="2"><IMG src="/images/bullets_dev2.gif" ALT=""
WIDTH="18" HEIGHT="10"><FONT FACE="Geneva, Arial Narrow, Helvetica" SIZE="2"><B>SGI Open Source</B></FONT></TD>
</TR>
<TR>
<TD></TD>
<TD></TD>
<TD><FONT FACE="ARIAL, HELVETICA" SIZE="2">
<A HREF="../">Project List</A>
</FONT><BR> </TD>
</TR>
</TD>
</TR>
</TABLE>
<!-- End oss Project Sub Nav -->
</TD>
<TD><IMG src="/images/dot_clear.gif" WIDTH="20" HEIGHT="1"></TD>
<TD VALIGN="TOP">
<P>
<!-- Start Project Content -->
<FONT FACE="ARIAL NARROW, HELVETICA" SIZE="5"><B>Work item list as of 3/14/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> Steve/Ted
<DD>
Move development work from 2.3.42 to a more stable version such as 2.3.5[12].
Also, integrate any new fixes from the latest XFS in 6.5.8f into the Linux
tree.
<DT> everyone
<DD>
Compile warnings and cleanup. Kill dead code, fix compile warnings.
Each person should remove IRIX specific or any duplicate code as they see it.
<DT> Russell
<DD>
Build and maintain CVS tree on oss.sgi.com.
<DT> Ananth
<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).
<DT> Ananth/Steve/Russell
<DD>
Delayed write support. The pagebuf cleaner and page cleaner need to
handle delaying writes. Steve and Russell will handle the meta data path
and Ananth will handle the normal I/O path.
<DT> Ananth/Jim
<DD>
Delalloc support: page cleaner and calls to cluster pages, map/allocate.
The page cleaner for user I/O is needed. Also,
xfs_iomap_write needs to know about delayed allocation (conversion and
creation).
<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> Russell/Steve
<DD>
xfs buf interface: The layer in xfs which hides the actual buffer interface used.
This is mostly there.
<DT> Steve
<DD>
Pinning support. Might be done, more checking needed.
<DT> Jim
<DD>
Hole support tested more thoroughly. This has been tested somewhat.
Should be tested more especially after more coding is done above.
<DT> Chait
<DD>
Integrate kiobufs into 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, ...
<DT> unassigned.
<DD>
Modify the mount command/interface for XFS to allow multiple devices (log, data,
real-time).
<DT> unassigned.
<DD>
Have XFS operate as the root file system.
We should try /usr first before root.
<DT> Australian team (Ken M.)
<DD>
xfs_repair needs exercising and fixing.
<DT> Australian team (Ken M.)
<DD>
xfs_db has endian issues with block numbers that are large.
<DT> Australian team (Ken M.)
<DD>
dump/restore - the xfs specific ones and the generic ones.
<DT> Australian team (Ken M.)
<DD>
xfs_growfs needs to work with various volume managers.
This depends on /proc work see below.
<DT> Australian team (Ken M.)
<DD>
User commands: xfs_bmap, attribute management, ...
Get the latest xfs_bmap from Charles F.
<DT> unassigned
<DD>
Quotas: There are linux quotas and xfs quotas .....
<DT> Ted
<DD>
Extended attributes: There needs to be a kernel interface.
<DT> unassigned/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> unassigned/Chris
<DD>
64 Bit LFS work: Allow user space to use 64 bit files. Demonstrate
a file larger than 4gig.
<DT> unassigned
<DD>
DMAPI: implement this in Linux.
<DT> unassigned
<DD>
Realtime: configure and test.
<DT> unassigned
<DD>
Access control: Linux and Irix do this in separate places, we have not
really integrated the two yet.
<DT> unassigned
<DD>
Sync: Are we syncing the right things at the right times?
<DT> Ted
<DD>
/proc interface: To be used for growfs/bulkstat. Primarily for admin commands.
<DT> unassigned
<DD>
Redo vnode/behavior code:
We could place the vnode in the linux inode and remove the vnode management
code. There are two separate reference counts at the moment. For CXFS the
interface could be made cleaner.
<DT> Australian team (Ken M.)
<DD>
Endian/architecture issues: have Linux XFS be able to read XFS file systems
created on IRIX/MIPS boxes and other big endian machines. The reverse
must work, too.
<DT> unassigned
<DD>
Build RPMs of XFS.
<DT> unassigned
<DD>
Port GRIO to Linux->XFS.
<DT> unassigned
<DD>
Of all versions and options currently supported by XFS on IRIX, which
will be part of the Linux port.
</DL>
<!-- End Project Content -->
<IMG src="/images/dot_clear.gif" WIDTH="400" HEIGHT="1">
</TD>
</TR>
</TABLE>
<P>
<CENTER>
<!---- Virtual Footer ---->
<TABLE WIDTH="400" CELLPADDING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD ALIGN="RIGHT">
<FONT FACE="Helvetica, Arial" SIZE="-1"><a href="../../system.html">about
this site</a> | <A HREF="http://www.sgi.com/company_info/privacy.html" TARGET="TOP">privacy policy</A></FONT>
</TD>
<TD ALIGN="CENTER">
<FONT FACE="Helvetica, Arial">
|
</FONT>
</TD>
<TD ALIGN="LEFT">
<FONT FACE="Helvetica, Arial" SIZE="-1"><A HREF="mailto:owner-xfs@oss.sgi.com" TARGET="_top">owner(s) of project xfs</A></FONT>
</TD>
</TR>
<TR>
<TD ALIGN="RIGHT">
<FONT FACE="Helvetica, Arial" SIZE="-2"><A HREF="http://www.sgi.com/company_info/copyright.html" TARGET="_top">Copyright © 1999 Silicon Graphics, Inc.</A> All rights reserved.</FONT>
</TD>
<TD ALIGN="CENTER">
<FONT FACE="Helvetica, Arial">
|
</FONT>
</TD>
<TD ALIGN="LEFT">
<FONT FACE="Helvetica, Arial" SIZE="-2"><A HREF="http://www.sgi.com/company_info/trademarks/" TARGET="_top">Trademark Information</A></FONT>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>