From: Gavin Lambert <gavinl@compacsort.com>
To: <linux-fsdevel@vger.kernel.org>
Subject: A filesystem without directories
Date: Mon, 11 Jul 2016 13:35:21 +1200 [thread overview]
Message-ID: <000801d1db14$801eb520$805c1f60$@compacsort.com> (raw)
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.)
next reply other threads:[~2016-07-11 2:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-11 1:35 Gavin Lambert [this message]
2016-07-11 12:33 ` A filesystem without directories Christian Stroetmann
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='000801d1db14$801eb520$805c1f60$@compacsort.com' \
--to=gavinl@compacsort.com \
--cc=linux-fsdevel@vger.kernel.org \
/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 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).