The QNX filesystem driver for Linux: QNX4, QNX6 & floppy read/write support.
03 may 2009, Dmitry Yakovlev.
The driver replaces linux in-tree qnx4 fs driver which does not support writing.
The author of the driver - Serguei Tzukanov http://tzukanov.narod.ru.
Please, send diffs and remarks to Dmitry Yakovlev (qnxfs(at)narod(dot)ru).
It is BETA, use it at your own risk.
qnx4fs-03-may-2009.tgz (2.6.8 - 2.6.29 kernels off-tree build)
qnxfs-03-may-2009.tgz (2.6.28 - 2.6.29 kernel off-tree build)
qnx4fs-01jul2005-patch.bz2 (linux-2.6.12.1 kernel)
qnx4fs-15apr2004-patch.bz2 (linux-2.6.0 - 2.6.5 kernel)
qnx4fs-9nov2002.patch.bz2 (linux-2.4.18-5 kernel)
qnx4fs.tgz to make it as a module (linux-2.4.15 kernel at least)
Known bugs
- Directories and /.inodes are never shrunk (QNX RTP's fs driver has the same limitation)
- du slightly lies about partition size (7 blocks max) - fixed for 2.6 kernel driver
- mknod() is not implemented
- fsync and the such is not implemented
Testing
I ran fsx-linux, fs_inod, openfile, growfiles, rwtest tests
(see Linux Test Project http://ltp.sf.net).
There is qnx4 filesystem image qnxfs1g.img.bz2 (1.7K expands to ~1G).
You can mount it as root:
# mount -t qnx4fs ./qnxfs1g.img /mnt/qnx -o loop=/dev/loop1,blocksize=512
Chkfs utility
Chkfs (chkfs-0.3b.src.tgz ~64K)
is a simple chkfsys-like utility for QNX4 filesystem, which can show internal fs structures - extent blocks,
directory entries etc. It also can read data from destroyed filesystem. Chkfs works on Linux & QNX 4/6 platforms.
A hexadecimal filesystem editor added, use it at you own risk.
Changelog
- January 19, 2009 Y.D.
- Races fixes
- September xx, 2008 Eric Sesterhenn
- various changes:
- 2.6.26 kernel support
- sanity checks
- checkpatch and sparse cleanups
- remove big kernel lock
- August 05, 2008 Y.D.
- 2.6.24 kernel support.
- June 19, 2008 Y.D.
- 2.6.22 kernel support.
- July 01, 2005 Y.D.
- 2.6.12 kernel support.
- April 15, 2004 Y.D.
- Minor fixes (2.6.0 kernel driver).
- March 01, 2004 Y.D.
- Removed unnecessary BKLs (2.6.0 kernel driver)
- January 14, 2004 Y.D.
- 2.6.0 kernel support.
- November 9, 2002 Y.D.
- Some qnx4fs_truncate() fixes.
- October 12, 2002 Y.D.
- Chkfsys friendly.
- November 11, 2001
- Now patch replaces old qnx4 fs driver; don't show .inodes and .bitmap to users; cleanups.
- November 5, 2001 (the project is alive, need testers)
- Revert dir layout code to bufcache. Various cleanups/tweaks.
- August 19, 2001
- Fixed qnx4fs_balloc(); deleting/linking/renaming of files is faster.
- August 17, 2001
- Solved lockup with 2.4.8+ kernels (the
current kernel qnx4 fs lockups too, just delete line 399 in
linux/fs/qnx4/inode.c); minor tweaks/cleanups.
- August 16, 2001
- Dir layout code is rewritten to use pagecache; fixed rename; major simplification in qnx4fs_balloc ().
- August 09, 2001
- Fixed leak in qnx4fs_is_empty_dir().
- August 07, 2001
- Fixed truncate(); minor cleanup.
- August 05, 2001
- First public version.
The QNX4 filesystem doc
The QNX4 filesystem docs (Russian)
The QNX4 filesystem docs at QSSL
Links
Dinit utility http://www.alarsen.net/linux/qnx4fs/dinit.tgz
|
|
|