A Raspberry Pi project?


Unix filesystem
Unix filesystem (Photo credit: Wikipedia)

My Raspberry Pis are likely to be dispatched tomorrow.

Wondering if I should use the little Plan 9 installation I plan to build as a testbed for a parallel filesystem (that I write).

As preparation for next week’s literature review seminar I read about the Vesta filesystem and find it absolutely fascinating. Could we build a new filesystem – Pallas? – which combines the Vesta approach with support for Unix semantics?

New version of mkfs.vmufat available


Linux Filesystem Permissions
Linux Filesystem Permissions (Photo credit: Wikipedia)

I have posted a new version of mkfs.vmufat, a tool to make a VMUFAT filesystem, at my GitHub repo: it will now format a file as VMUFAT volume (if you use the -f switch).

Would love to hear your feedback – my posting of the source code for the filesystem itself generated a bit of interest, but have not heard anything back from any Dreamcast hackers though.

More delays for VMUFAT


Seagate Barracuda HDD
Seagate Barracuda HDD (Photo credit: Andres Rueda)

Obviously the whole world is waiting for VMUFAT to hit the streets, but it looks as though it will have to hold its collective breath a little longer, as I have hit more delays.

Working with big volumes (several megabytes) reveals the code eats a lot of memory in ways I don’t yet fully understand. But that will need to be fixed, even if no one is ever really likely to want a 32MB VMUFAT volume.

A question for a C guru


English: Dada guru
Image via Wikipedia
The debugging continues, but unfortunately I have not yet been able to identify what is fundamentally broken with my file system code.

But along the way I have spotted and fixed various bugs. Here is one, I am not even sure why it compiled in the first place, so maybe a C guru could tell me…

Was:

if le16_to_cpu(((u16 *) bh->b_data)[j * VMU_DIR_RECORD_LEN16 + VMUFAT_FIRSTBLOCK_OFFSET16] == ino)

Now:

if (le16_to_cpu(((u16 *) bh->b_data)[j * VMU_DIR_RECORD_LEN16 + VMUFAT_FIRSTBLOCK_OFFSET16]) == ino)

Working on filesystem code


English: A North American Sega Dreamcast VMU, ...
Image via Wikipedia

Nearly a decade ago I wrote a crude, but working, filesystem for the Sega Dreamcast VMU on Linux. I then put ported a very simple web server to the Dreamcast and got the whole thing on Slashdot.

I never managed to get the thing into mainline – indeed the battering I got last time I tried, in 2009, more or less made me give up writing anything for the kernel and the Dreamcast was put away.

I am not pretending my code was pretty or even particularly good but it is no wonder people get put off from contributing when you get pig ignorant comments like these:

Everything about the on-disk format is tied to the VMU. Until that sinks in, don’t bother sending me email, thanks.

This was someone, who ought to have known better, claiming that it was not possible to have a free standing filesystem for this at all – though they were making their, incorrect, claim in the manner seen all too frequently on the Linux Kernel Mailing List.

No comments.  Really.  There must be some limits on the language one is willing to use on public maillist, after all.

As you can tell this person – a top flight Linux hacker – did not like my code. And, looking back, I can hardly blame him, it was pretty ugly. But as a help to fix it this is of next to no use – and only serves to demotivate. Nasty computer scientists, again.

Ok, so I have got that off my chest. And I am once more placing myself in the firing line.

The filesystem code, a work in progress (so check where the code has got to once you click the link), can be found here. A filesystem that you should be able to mount under loopback, can be found here. All testers welcomed with open arms.