public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* supporting functions missing from inotify patch
@ 2005-07-13 18:43 Steve French
  2005-07-13 19:12 ` Robert Love
  0 siblings, 1 reply; 5+ messages in thread
From: Steve French @ 2005-07-13 18:43 UTC (permalink / raw)
  To: linux-kernel, rml

It looks like a couple of exports and a key supporting function are
missing from the inotify patch that went into mainline yesterday.

I don't see an inode operation for registering inotify events in the fs
(there is a file operation for dir_notify to register its events).  In
create_watch in fs/inotify.c I expected to see something like:

if(inode->inotify_create)
	ret = inode->inotify_create(inode, mask);

(a similar change would be needed in the INOTIFY_IGNORE path)

Without this, inotify will be broken except on local filesystems.
Cluster and network filesystems (nfs, cifs etc.) won't know when they
need to start calling back on remote directory change notifications if
they aren't called at the time of the ioctl(INOTIFY_WATCH)

I also don't see exports for 
	fsnotify_access
	fsnotify_modify

Without these exports, network and cluster filesystems can't notify the
local system about changes.

Tracking local changes to files/directories is somewhat useful by itself
on non-networked systems.  But if directory and file change notification
for remote/cluster filesystems is broken that limits its usefullness a
lot.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: supporting functions missing from inotify patch
@ 2005-07-13 20:21 Steve French
  2005-07-13 20:39 ` Robert Love
  2005-07-13 21:51 ` Steve French
  0 siblings, 2 replies; 5+ messages in thread
From: Steve French @ 2005-07-13 20:21 UTC (permalink / raw)
  To: linux-kernel, rml

>> I don't see an inode operation for registering inotify events in the fs
>> (there is a file operation for dir_notify to register its events).  In
>> create_watch in fs/inotify.c I expected to see something like:
>Why not use the existing dir_notify method?  No point in adding another.

I did not think that inotify_add_watch called dir_notify.  I don't see a path in which 
calls to add a new inotify watch end up in a call to fcntl_dirnotify or file->dir_notify 
This is for the case in which an app only calls inotify ioctl - ie does not [also] do a call 
to dnotify. 

Without such a call - an app that does your new ioctl to add a watch on a file or directory will
not cause the network/cluster fs to turn on notification on the server since the watch
will be not seen by the client filesystem.

>> I also don't see exports for 
>> 	fsnotify_access
>> 	fsnotify_modify
>> 
>> Without these exports, network and cluster filesystems can't notify the
>> local system about changes.
>>
>Eh?
>
>They are in <linux/fsnotify.h>.

OK - you exported a common underlying function
	inotify_inode_queue_event
under the inline functions which the network/cluster fs would call to notify of remote changes.
That makes sense. I had missed that.




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

end of thread, other threads:[~2005-07-13 21:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-13 18:43 supporting functions missing from inotify patch Steve French
2005-07-13 19:12 ` Robert Love
  -- strict thread matches above, loose matches on Subject: below --
2005-07-13 20:21 Steve French
2005-07-13 20:39 ` Robert Love
2005-07-13 21:51 ` Steve French

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox