All of lore.kernel.org
 help / color / mirror / Atom feed
* A filesystem without directories
@ 2016-07-11  1:35 Gavin Lambert
  2016-07-11 12:33 ` Christian Stroetmann
  0 siblings, 1 reply; 2+ messages in thread
From: Gavin Lambert @ 2016-07-11  1:35 UTC (permalink / raw)
  To: linux-fsdevel

I asked this question on StackOverflow a few days ago but haven't had any
replies.  I'm hoping that I'll be more fortunate here. 

http://stackoverflow.com/questions/38219163/providing-a-basic-filesystem-fro
m-a-char-driver 

The short(ish) version is that I have a char driver that (among other
things) can provide named read or write streams from a remote device.
Currently it does this by means of a blocking ioctl that provides the
complete data preloaded into RAM. 

I'm wondering if it's possible to make it provide an fd that can be used
with normal read or write userspace APIs (or even the async APIs), either
through a special ioctl that can return an open fd, or via a "real"
filesystem. 

I'm not really sure how to do the former, and the latter seems problematic
as despite having filenames, there's no concept of a directory --
specifically, the only way to test whether a given name is valid is to
actually try to open it for read or write; it's not possible to get a list
in advance.  (Internally it uses a protocol similar to TFTP.) 

Is this something that VFS can support?  And is it possible to use a
non-block-device as a mount source?  (There may be multiple instances of the
char device on a given system, so I either need to be able to specify which
one to mount, or it needs to have a shared FS with subdirectories or
something to identify which device to use.) 



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

end of thread, other threads:[~2016-07-11 12:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-11  1:35 A filesystem without directories Gavin Lambert
2016-07-11 12:33 ` Christian Stroetmann

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.