From: Richard Weinberger <richard@nod.at>
To: NeilBrown <nfbrown@novell.com>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>
Cc: "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
Artem Bityutskiy <dedekind1@gmail.com>,
Christoph Hellwig <hch@infradead.org>,
NFS List <linux-nfs@vger.kernel.org>
Subject: Re: Reconsidering exportable UBIFS
Date: Wed, 11 May 2016 16:10:53 +0200 [thread overview]
Message-ID: <57333D6D.3050601@nod.at> (raw)
In-Reply-To: <871t5curbl.fsf@notabene.neil.brown.name>
Am 09.05.2016 um 00:18 schrieb NeilBrown:
>> The biggest problem I see is that UBIFS does not really support telldir()
>> and seekdir().
>> Directory offsets in UBIFS are plain hash values, so telldir()/seekdir() won't
>> correctly work if UBIFS faces hash collisions.
>> Currently UBIFS implements a hack which stores the UBIFS dent object into
>> file->private_data such that consecutive readdir()s are guaranteed to work.
>> A comment on UBIFS's readdir states:
>> * This means that UBIFS cannot support NFS which requires full
>> * 'seekdir()'/'telldir()' support.
>>
>> Is this still true? Maybe we can have NFS even if it is not perfect in
>> terms of performance.
>
> How big are your hashes?
> ext3 messed up their readdir/telldir design too so they don't have
> guaranteed unique keys.
> When using 32bit hashes you can definitely get problems with
> collisions. I have not heard of problems with 64bit hashes.
>
> I may have the details slightly wrong, but as I recall non-uniqueness of
> cookies only causes a problem when the last cookie returned in a READDIR
> reply matches the first cookie returned in reply to the next readdir.
> So non-uniqueness is only a problem when it aligns badly.
UBIFS is using 32bit hashes, r5 hash from reiserfs. ;-\
Thanks,
//richard
prev parent reply other threads:[~2016-05-11 14:11 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-04 22:17 Reconsidering exportable UBIFS Richard Weinberger
2016-04-18 9:04 ` Artem Bityutskiy
2016-05-08 22:18 ` NeilBrown
2016-05-08 23:25 ` Al Viro
2016-05-09 5:03 ` NeilBrown
2016-05-11 14:09 ` Richard Weinberger
2016-05-11 14:10 ` Richard Weinberger [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57333D6D.3050601@nod.at \
--to=richard@nod.at \
--cc=dedekind1@gmail.com \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-nfs@vger.kernel.org \
--cc=nfbrown@novell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.