From: Jeff Layton <jlayton@redhat.com>
To: Andreas Dilger <adilger@dilger.ca>, David Howells <dhowells@redhat.com>
Cc: linux-fsdevel@vger.kernel.org, lsf-pc@lists.linux-foundation.org,
Trond Myklebust <trond.myklebust@primarydata.com>
Subject: Re: [Lsf-pc] [LSF/MM TOPIC] Network filesystem cache management system call
Date: Sat, 07 Jan 2017 09:27:05 -0500 [thread overview]
Message-ID: <1483799225.18637.2.camel@redhat.com> (raw)
In-Reply-To: <B64AF8E9-FD4C-49E6-8330-3387F9A380FC@dilger.ca>
On Fri, 2017-01-06 at 16:18 -0700, Andreas Dilger wrote:
> On Jan 6, 2017, at 3:40 PM, David Howells <dhowells@redhat.com> wrote:
> >
> >
> > AFS filesystem implementations like OpenAFS have a number of management calls
> > usually implemented through the pioctl() and afs() system calls. However,
> > there is general revulsion to the idea of allowing these in Linux as they are
> > very much abused.
> >
> > Now, I need to come up with replacements for these. For some I can use
> > getxattr()/setxattr(), for some keyrings and for others procfs/sysfs, but for
> > some I can't.
> >
> > One of these is the call to manage local caching on a file or volume. This,
> > however, doesn't really need to be limited to AFS, but could also be
> > applicable to NFS, CIFS, etc. - and possibly even to local filesystems.
> >
> > A brainstorming session on this would be useful.
>
> This is definitely something I'd like to discuss as well. The posix_fadvise()
> call doesn't interact with the filesystem at all, so it isn't a useful source
> of cache management hints.
That could be remedied though. Maybe a new file_operations member that
posix_fadvise could call when it's defined by the fs? I think it might
be useful to explore that avenue before proposing new interfaces.
> We've implemented a Lustre-specific ladvise hint
> using an ioctl to advise client and server caches, but having a generic hint
> API would be better.
>
Agreed.
Ceph also has a private ioctl to toggle lazy write caching. Also, ISTR
that Trond had some patches at one point to let you micromanage the NFS
client caches. All of those are potentially useful, but without a
standard way to access them, it's hard to write applications that are
fs-agnostic.
For that reason, a hinting mechanism like posix_fadvise would seem to be
the best approach, IMO. The kernel could be free to ignore any of those
calls on filesystems where it's not implemented or not applicable.
--
Jeff Layton <jlayton@poochiereds.net>
next prev parent reply other threads:[~2017-01-07 14:27 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-06 22:40 [LSF/MM TOPIC] Network filesystem cache management system call David Howells
2017-01-06 23:18 ` Andreas Dilger
2017-01-07 14:27 ` Jeff Layton [this message]
2017-01-13 17:16 ` J. Bruce Fields
2017-01-15 23:36 ` Oleg Drokin
2017-01-17 16:42 ` David Howells
2017-01-20 16:53 ` [Lsf-pc] " Jeff Layton
2017-01-20 17:45 ` David Howells
2017-01-20 18:08 ` Jeff Layton
2017-01-17 16:49 ` David Howells
2017-01-18 20:12 ` Jeffrey Altman
2017-01-19 14:48 ` David Howells
2017-01-20 4:32 ` Jeffrey Altman
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=1483799225.18637.2.camel@redhat.com \
--to=jlayton@redhat.com \
--cc=adilger@dilger.ca \
--cc=dhowells@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=lsf-pc@lists.linux-foundation.org \
--cc=trond.myklebust@primarydata.com \
/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).