Hi, Onhttp://a6.ontika.net/patches/patch-3.2.2-qnx6.gz you find a patch for adding QNX6 FS readonly support (against 3.2.2) to the linux kernel. (well, at least I would like to open the discussion about it ... ;)) It's the first linux kernel driver I wrote, so please be kind to me in case some of my design decisions do violate some "common practice" well known to any regular reader of this list. I am very happy to work on the source in the "right" direction, if you suggest me the direction. So, suggestions, feedback, input, testing is highly welcome! I reverse engineered - I would say - whole QNX6 Filesystem from ground up. (hexedit, from superblock identification to adressing scheme to node kinds etc.) Successfully completed writing a FS resizing application before starting work on this kernel driver. (so you can expect more than just readonly to come ...) Some sidenotes worth mentioning: - Audi MMI FS support I've included support for the Audi MMI HDD filesystem (who's driving a recent Audi with 3G or 3G+ HDD multimedia system?) So I've added a "mmi_fs" mount option to tell the driver to use the right superblock layout and -offset for mounting that "modified" or "old development state" QNX6 derivate filesystem. Not sure if a mount option is the usual approach, but it workes well - at least for me. I took the decision to make that specific driver support configurable via kernel config. - Endianness support QNX6 offers to create filesystems either little- or big endian. That's an advantage if the created filesystem later is used on an architecture that got a different endianness. I introduced some TO_CPUxx() macros and a superblock detection mechanism for detecting the FS endianness. Could not test it on a different architecture than x86 and therefore I'm unsure if it works on a different endian linux system, but from (my) theory it should do. At least on x86 it's no problem to mount a different endian QNX6 FS and read from it - that's what I've tested. If the macros are the right approach ... well, happy to receive feedback ;) I also made the endianness support configurable - just to be on the safe side. - Checksums Superblock checksums are validated. Longfilenames in a qnx6fs got a checksum in the directory inode. That checksum algorithm is also build in, but just logs to the kernel log if it detects a wrong checksum. (so it's not a hard check) mmi_fs does not have that longfilename protection, so it's switched off there. So much for now ... Kai -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html