Re: [PATCH] qnx4fs: small cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 13, 2012 at 02:43:41AM +0100, Kai Bankett wrote:
> Small qnx4 cleanup patch.
> - removes .writepage, .write_begin and .write_end (+callback functions)
> - removes '.' path checking in namei.c (handled on upper layers)

Applied.  FWIW, after looking at fs/qnx4...  *OUCH*

* qnx4_bread()/qnx4_getblk() is completely pointless - the sole caller
is going to call qnx4_block_map() *anyway*, so we might as well just
feed that value to sb_bread().

* extent blocks handling is fishy - e.g. if you have an extent block
with 0 extents in it, the damn thing will treat that as if it contained
1 extent.  If it's really invalid (and it probably is), that might be
a sane mitigation strategy, but otherwise it's a bug; in any case, that
shouldn't be silent.  It also leaks references to buffer_head if it
runs into extent block with invalid signature.  It definitely could've
used a bit of caching - storing the last matched extent in the in-core
inode and skipping the entire "walk the whole extent chain" thing would
be a clear win.  It also has a problem with error reporting - it
returns (unsigned long)-EIO and callers have no idea what to do with that
(they do understand 0 as "no such block", but that's it; you'll _probably_
end up with sb_bread() unhappy with huge block number, so it'll end up
with screaming block layer)

* readdir and lookup handling relies on running into NULs in directories.
Neither bothers to check for combination of "used" and "link" bits being
invalid.  BTW, neither handles long names (present in qnx4 filesystems
on recent enough versions).

Overall, the code could use quite a bit of cleanup.  I don't know if they
have evaluation images that could run under qemu and if the license allows
experimenting with fs images anyway; if anyone knows (or can run the tests
on their box), please yell - I'd rather not play with cleanup patches
without testing, but the codebase isn't large or complex enough to make
writing the patches to test particulary hard.
--
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


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux