All of lore.kernel.org
 help / color / mirror / Atom feed
* missing code in fcntl_dirnotify
@ 2003-08-16 14:19 Steve French
  2003-08-16 14:43 ` Jamie Lokier
  0 siblings, 1 reply; 5+ messages in thread
From: Steve French @ 2003-08-16 14:19 UTC (permalink / raw)
  To: linux-fsdevel

  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
>



^ permalink raw reply	[flat|nested] 5+ messages in thread
* missing code in fcntl_dirnotify
@ 2003-08-16  2:35 Steven French
  2003-08-16  9:48 ` Stephen Rothwell
  0 siblings, 1 reply; 5+ messages in thread
From: Steven French @ 2003-08-16  2:35 UTC (permalink / raw)
  To: linux-fsdevel

I noticed that fcntl_dirnotify in fs/dnotify.c is missing logic to call
an optional fs specific inode operation for file/directory notify.  
Since directory and file notification to make any sense for many
filesystems (especially network ones) would require that this call
(fcntl F_NOTIFY) to pass through to the filesystem who owns the inode
(to let the particular filesystem know it has to call dnotify_parent on
remote updates to the file/directory) it seems like a bug. Without
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)?

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

end of thread, other threads:[~2003-08-16 14:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-16 14:19 missing code in fcntl_dirnotify Steve French
2003-08-16 14:43 ` 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

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.