[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130412215527.GA29807@lenny.home.zabbo.net>
Date: Fri, 12 Apr 2013 14:55:27 -0700
From: Zach Brown <zab@...hat.com>
To: Tao Ma <tm@....ma>
Cc: linux-ext4@...r.kernel.org
Subject: Re: [PATCH 1/2] ext4: fix readdir error in case
inline_data+dir_index.
On Wed, Apr 10, 2013 at 11:37:07PM +0800, Tao Ma wrote:
> From: Tao Ma <boyu.mt@...bao.com>
>
> Zach reported a problem that if inline data is enabled, we don't
> tell the difference between the offset of '.' and '..'. And a
> getdents will fail if the user only want to get '.' and what's worse,
> if there is a conversion happens when the user calls getdents
> many times, he/she may get the same entry twice.
>
> In theroy, a dir block would also fail if it is converted to a
> hashed-index based dir since f_pos will become a hash value, not the
> real one, but it doesn't happen. And a deep investigation
> shows that we uses a hash based solution even for a normal dir if
> the dir_index feature is enabled.
>
> So this patch just adds a new htree_inlinedir_to_tree for inline dir,
> and if we find that the hash index is supported, we will do like what
> we do for a dir block.
Mmm, I like the sound of that fix. Nice and simple.
The little test app that was seeing duplicate entries now sees stable
f_pos values and no dupes after the patch. So I think this works.
Thanks for fixing this.
- z
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists