Re: Finding hardlinks
From: Mikulas Patocka
Date: Mon Jan 01 2007 - 18:23:20 EST
> BTW. How does ReiserFS find that a given inode number (or object ID in
> ReiserFS terminology) is free before assigning it to new file/directory?
reiserfs v3 has an extent map of free object identifiers in
super-block.
Inode free space can have at most 2^31 extents --- if inode numbers
alternate between "allocated", "free". How do you pack it to superblock?
reiser4 used 64 bit object identifiers without reuse.
So you are going to hit the same problem as I did with SpadFS --- you
can't export 64-bit inode number to userspace (programs without
-D_FILE_OFFSET_BITS=64 will have stat() randomly failing with EOVERFLOW
then) and if you export only 32-bit number, it will eventually wrap-around
and colliding st_ino will cause data corruption with many userspace
programs.
Mikulas
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/