From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757537AbbIVJHB (ORCPT ); Tue, 22 Sep 2015 05:07:01 -0400 Received: from mx2.suse.de ([195.135.220.15]:36506 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756488AbbIVJG6 (ORCPT ); Tue, 22 Sep 2015 05:06:58 -0400 Date: Tue, 22 Sep 2015 11:06:52 +0200 From: Jan Kara To: Patrick Puzik Cc: Jan Kara , Andrew Morton , Josef Bacik , Dave Chinner , Nikolay Borisov , linux-kernel@vger.kernel.org, Patrick Puzik Subject: Re: [PATCH] Add FS_CLOSE_READ and FS_CLOSE_NOREAD flag to fsnotify Message-ID: <20150922090652.GG9028@quack.suse.cz> References: <1442783255-7457-1-git-send-email-p.puzi91@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1442783255-7457-1-git-send-email-p.puzi91@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > --- > 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 SUSE Labs, CR