Re: FATX in 2.6 Kernels?

Chris Bainbridge <[email protected]> Mon, 31 Jan 2005 20:52:36 +0000
Newsgroups gmane.linux.ports.xbox.devel
Message-ID <[email protected]>
On Mon, 31 Jan 2005 10:20:27 -0800 (PST), L. A. Lee <[email protected]> wrote:
> Can someone give me a quick run-down on what's really broken in the 2.6
> Kernels' FATX support?  (Or has it been fixed?  I can't find any message
> verifying its working status in the mailing list archives..)
> 
> I've got the time and determination to get it working, but if you could
> help me narrow down my R&D focus to pinpoint the problem, I'd greatly
> appreciate it.
> 
> Otherwise, I was going to reconstruct the FATX support from scratch, based
> on the FAT routines and old docs detailing the differences in the FAT
> tables.  That'd be a more painful route, though... :-(

As David mentioned the locks are a problem that causes OOPs on a
preemptible kernel. They are easy to replace (grep the 2.6 fat driver
for "lock" and insert into the fatx driver at the same position). Once
thats fixed, theres some corruption in the subsystem.. I've forgotten
exactly what, but if you enable all of the debugging stuff in 2.6
it'll tell you that theres some problems with double freeing and that
kind of thing.

I too thought the FAT driver would be easy to modify, but all of the
extended file names, character sets, unicode (was that it?) handling
doesn't apply to fatx, so you have to if (!fatx) out huge chunks. In
the end I ran out of time and motivation.

My recommendations - use a User Mode Linux kernel with the fatx
patches. Otherwise you'll be tearing your hair out rebooting ;-) You
can then make fatx files, format them, mount them on loopback, hex
edit etc. - file images are a lot more useful than partitions. Run
fsstress and fsx-linux to test the fs (if you do this with the
existing 2.6 driver it'll lock up immediately). And remember that the
2.6 fatx is really just the 2.4 fatx driver - if you want to see
exactly how it differs from the standard fat driver compare it to the
one in 2.4 (the boot sector parse function seems to set up mostly
everything thats different in fatx, and it does correspond with the
written docs which should give you some faith that they're correct ;-)
).

Good luck!


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl