Reconsidering exportable UBIFS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux