Messages in this thread | | | Date | Tue, 22 Sep 2015 11:06:52 +0200 | From | Jan Kara <> | Subject | Re: [PATCH] Add FS_CLOSE_READ and FS_CLOSE_NOREAD flag to fsnotify |
| |
On Sun 20-09-15 23:07:35, Patrick Puzik wrote: > Attached is a patch which is a preparation for the later support of an > event notification, when an unreadable or readable file was closed.
So I'm missing two things in this patch (or rather changelog):
1) When should these events be generated? I can kind of infer this from the comment and event name but for example FS_CLOSE_WRITE and FS_CLOSE_NOWRITE are exclusive. I suppose we will generate FS_CLOSE_READ or FS_CLOSE_NOREAD in addition to that?
2) What is the use case? I.e. what is your application doing that current notification events are not enough?
Honza > > Signed-off-by: Patrick Puzik <p.puzik91@gmail.com> > --- > include/linux/fsnotify_backend.h | 12 ++++++++---- > 1 file changed, 8 insertions(+), 4 deletions(-) > > diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h > index 533c440..7563679 100644 > --- a/include/linux/fsnotify_backend.h > +++ b/include/linux/fsnotify_backend.h > @@ -28,6 +28,8 @@ > #define FS_ATTRIB 0x00000004 /* Metadata changed */ > #define FS_CLOSE_WRITE 0x00000008 /* Writtable file was closed */ > #define FS_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */ > +#define FS_CLOSE_READ 0x00000011 /* Unreadable file closed */ > +#define FS_CLOSE_NOREAD 0x00000012 /* Readable file was closed */ > #define FS_OPEN 0x00000020 /* File was opened */ > #define FS_MOVED_FROM 0x00000040 /* File was moved from X */ > #define FS_MOVED_TO 0x00000080 /* File was moved to Y */ > @@ -56,9 +58,10 @@ > > /* This is a list of all events that may get sent to a parernt based on fs event > * happening to inodes inside that directory */ > -#define FS_EVENTS_POSS_ON_CHILD (FS_ACCESS | FS_MODIFY | FS_ATTRIB |\ > - FS_CLOSE_WRITE | FS_CLOSE_NOWRITE | FS_OPEN |\ > - FS_MOVED_FROM | FS_MOVED_TO | FS_CREATE |\ > +#define FS_EVENTS_POSS_ON_CHILD (FS_ACCESS | FS_MODIFY | FS_ATTRIB | \ > + FS_CLOSE_WRITE | FS_CLOSE_NOWRITE | \ > + FS_CLOSE_READ | FS_CLOSE_NOREAD | FS_OPEN | \ > + FS_MOVED_FROM | FS_MOVED_TO | FS_CREATE | \ > FS_DELETE | FS_OPEN_PERM | FS_ACCESS_PERM) > > #define FS_MOVE (FS_MOVED_FROM | FS_MOVED_TO) > @@ -66,7 +69,8 @@ > #define ALL_FSNOTIFY_PERM_EVENTS (FS_OPEN_PERM | FS_ACCESS_PERM) > > #define ALL_FSNOTIFY_EVENTS (FS_ACCESS | FS_MODIFY | FS_ATTRIB | \ > - FS_CLOSE_WRITE | FS_CLOSE_NOWRITE | FS_OPEN | \ > + FS_CLOSE_WRITE | FS_CLOSE_NOWRITE | \ > + FS_CLOSE_READ | FS_CLOSE_NOREAD | FS_OPEN | \ > FS_MOVED_FROM | FS_MOVED_TO | FS_CREATE | \ > FS_DELETE | FS_DELETE_SELF | FS_MOVE_SELF | \ > FS_UNMOUNT | FS_Q_OVERFLOW | FS_IN_IGNORED | \ > -- > 2.4.3 > > -- Jan Kara <jack@suse.com> SUSE Labs, CR
| |