linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Reconsidering exportable UBIFS
@ 2016-04-04 22:17 Richard Weinberger
  2016-04-18  9:04 ` Artem Bityutskiy
  2016-05-08 22:18 ` NeilBrown
  0 siblings, 2 replies; 7+ messages in thread
From: Richard Weinberger @ 2016-04-04 22:17 UTC (permalink / raw)
  To: linux-fsdevel
  Cc: linux-mtd@lists.infradead.org, Artem Bityutskiy,
	Christoph Hellwig

Hi!

Currently UBIFS is not exportable.
I'm not sure whether it is completely impossible or if I just miss a detail.
So I've some questions.

Documentation/filesystems/nfs/Exporting states that the only required function
is fh_to_dentry().
This function should on UBIFS be implementable using generic_fh_to_dentry().
While UBIFS reuses in theory inode numbers we can ignore i_generation as
the flash chip is long dead before we start reusing inodes. Same as for JFFS2.
But the same document states also that fh_to_parent() and get_parent() are optional
but strongly recommended.
What does this mean? Will NFS work but puppies die and turn into zombies?

Implementing get_parent() is a little unpleasant.
UBIFS's on-flash layout does not support querying the parent.
We could change UBIFS's struct ubifs_ino_node, but I'd change the
on-flash layout only as last resort.

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.

Artem, did I miss another show stopper? :-)

Thanks,
//richard

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-05-11 14:10 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).