lkml.org 
[lkml]   [2015]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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


\
 
 \ /
  Last update: 2015-09-22 11:21    [W:0.164 / U:0.736 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site