All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve French <smfrench@austin.rr.com>
To: linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: missing code in fcntl_dirnotify
Date: Sat, 16 Aug 2003 09:19:44 -0500	[thread overview]
Message-ID: <3F3E3D80.3020208@austin.rr.com> (raw)

  Your point about safe dentry caching is a good one and I have meant to 
experiment with the idea of requesting to the server (via cifs change 
notify) notification for this purpose (since I am caching dentry info 
for about a second which is unsafe but similar to what nfs does - 
although I am safely caching inode data across the network via the cifs 
oplock mechanism) but was concerned about performance.   The particular 
use that a few people were asking me about recently was using the cifs 
vfs for distributed backup change notification (presumably because a 
wide variety of servers already handle the change notification subset of 
the CIFS protocol) and thus my small patch suggestion (which I will code 
up and experiment with next week).

Jamie Lokier wrote:

>Stephen Rothwell wrote:
>
>>>notification to the underlying network filesystem, it can not know to
>>>read the updated inode->i_dnotify_mask  Is there any objection why
>>>dnotify_parent should not be added to ksysm.c and to adding an optional
>>>inode_operation for change_notify so filesystems that can support change
>>>notify (cifs, nfs, presumably afs etc.) could do change notify to the
>>>proper kernel routine(dnotify_parent)?
>>>
>>No objection whatsoever.  At the time we implemented dnotify, we did not
>>need it to work on networked file systems (at least for remote events)
>>and we were not confident enough of ourselves or our understanding of
>>the file system code (locking in particular) to attempt this.  So we
>>documented it ... :-)  (see Documentation/dnotify.txt)
>>
>>You probably need to add __inode_dir_notify as well (I think).
>>
>
>Note that local dnotify has well defined ordering, such that if you
>know the underlying filesystem is local, stat() results can be safely
>cached until a dnotify event is received, and dnotify events that are
>sent are available to the target task immediately, without delay.
>
>This is quite useful, when recreating a cached web page or program
>file would require a stat() of all its component source files and
>databases, as you can avoid all of them and just see whether you
>received a dnotify before the page request.  This makes it feasible to
>do accurate cacheing on every request.
>
>At the moment, it's necessary to only use this feature if it's known
>to be a local filesystem time, or if it's known that only the local
>host modifies the files.
>
>When dnotify is added for network filesystems, it seems likely that
>the well defined ordering would be relaxed - that you'd expect to see
>the dnotify _eventually
>_, rather than guaranteed to see it as soon as
>a file is changed.  (NFS does not return up to date stat() results
>either, so dnotify is not the only thing which is relaxed).
>
>It would be great if there were some way for the application to be
>told which kind of dnotify ordering it is getting (immediate or
>delayed), and of course whether it will get them at all for files
>modified remotely.
>
>Cheers,
>- Jamie
>



             reply	other threads:[~2003-08-16 14:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-16 14:19 Steve French [this message]
2003-08-16 14:43 ` missing code in fcntl_dirnotify Jamie Lokier
  -- strict thread matches above, loose matches on Subject: below --
2003-08-16  2:35 Steven French
2003-08-16  9:48 ` Stephen Rothwell
2003-08-16 13:55   ` Jamie Lokier

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=3F3E3D80.3020208@austin.rr.com \
    --to=smfrench@austin.rr.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 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.