[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4F60D743.50209@zabbo.net>
Date: Wed, 14 Mar 2012 13:37:07 -0400
From: Zach Brown <zab@...bo.net>
To: Ted Ts'o <tytso@....edu>, Yongqiang Yang <xiaoqiangnk@...il.com>,
Phillip Susi <phillsusi@...il.com>,
Andreas Dilger <adilger@...mcloud.com>,
Lukas Czerner <lczerner@...hat.com>,
Jacek Luczak <difrost.kernel@...il.com>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
"linux-btrfs@...r.kernel.org" <linux-btrfs@...r.kernel.org>
Subject: Re: 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists