lkml.org 
[lkml]   [2012]   [Mar]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: getdents - ext4 vs btrfs performance
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


\
 
 \ /
  Last update: 2012-03-14 18:39    [W:0.046 / U:0.768 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site