There are several main features yet to do in the XFS port:
1.) delayed allocate (Jim/Ananth)
2.) Direct I/O (I think Steve is picking this one up)
3.) complete the switch over to pagebufs (Russell)
4.) Fix lower interface so that we don't need buffer_heads in
all cases. (Chait)
5.) eliminate "corruption" (Russell, others?)
i. Steve has reported corruption with pagebuf metadata.
3 should solve that
ii. locking is a problem that we know can lead doio into
corruption.
scenario
one thread does a large write converting a hole
the pagebuf_bmap returns NEW
this thread will zero out part of the last page
covering the hole (which it isn't writing)
another thread page_faults on the range containing
the last page, writes it, ...
later the first thread zeros out what the page_fault
did.
This can be fixed by grabbing the I/O lock in the
page_fault path, but this resurects the bug from hell.
...
iii. is there other corruption?
6.) syssgi()/fcntls() ... (Ted)
7.) user commands/dump/restore/ Ken's team
8.) LFS/Volume managers (Linuxcare)
I'm probably missing a few, but these seem to be the highest priority
for now. (The above are not in any particular priority order. They just
popped into my head this way. My head tends to operate in a rather random
fashion).
I think we need to stop thinking about performance until we have the above
completed. On the other hand, we need to keep fixing bugs/problems that
the "community" reports.
IMHO,
Jim
|