|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
On 03/14/2012 12:48 PM, Ted Ts'o wrote:
On Wed, Mar 14, 2012 at 10:17:37AM -0400, Zach Brown wrote:We could do this if we have two b-trees, one indexed by filename and one indexed by inode number, which is what JFS (and I believe btrfs) does.Typically the inode number of the destination inode isn't used to index entries for a readdir tree because of (wait for it) hard links. You end up right back where you started with multiple entries per key.One thing that might work is to have a 16-bit extra field in the directory entry that gives an signed offset to the inode number so that such that inode+offset is a unique value within the btree sorted by inode+offset number. Since this tree is only used for returning entries in an optimal (or as close to optimal as can be arranged) order, we could get away with that.
Yeah, at least that's nice and simple. Personally, I'm always nervous when we build in new limits like this. Some joker somewhere always manages to push up against them. But such is life. Maybe it's the right thing in the ext* design space. The fixed number of possible inodes certainly makes it easier to pack more inode offsets into the telldir cookie. - z -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html