Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A filesystem without directories

13 views
Skip to first unread message

Gavin Lambert

unread,
Jul 10, 2016, 9:14:04 PM7/10/16
to
Hi,

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-from-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.)
0 new messages