Re: hfs support for blocksize != 512

From: Alexander Viro (viro@math.psu.edu)
Date: Tue Aug 29 2000 - 12:01:29 EST


On Tue, 29 Aug 2000, Matthew Wilcox wrote:

> On Tue, Aug 29, 2000 at 06:08:04PM +0200, Roman Zippel wrote:
> > Anyway, I'm happy about any bug reports, that you can't reproduce with
> > hfs on a drive with 512 byte sectors (for that I still trying to fully
> > understand hfs btrees :-) ). I don't think this patch should be included
>
> last time i looked (somewhere around 2.3.4x), all the B-tree directory
> implementations in the kernel were broken. That's HFS, HPFS and NTFS.
> None of them consider the race where an insert occurs into the tree
> while you're doing a readdir. I thought about how to fix it for ext2
> btrees but I haven't come up with a satisfactory solution yet.

readdir() holds ->both i_sem and ->i_zombie, so I'm not sure what other
exclusion do you need.

Darnit, documentation on filesystem locking is there for purpose. First
folks complain about its absence, then they don't bother to read the
bloody thing once it is there. Furrfu...

Said that, handling of indirect blocks used to be badly b0rken on all
normal filesystems and it had been fixed only on ext2, so I wouldn't be
amazed if regular files were bad on B-tree style filesystems. Directories
are easy - all requests are process-synchronous (no pageout), no
truncate() in sight, so the life is better.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:23 EST