From: Amir Goldstein <amir73il@gmail.com>
To: Jan Kara <jack@suse.cz>
Cc: Matthew Wilcox <willy@infradead.org>,
Mo Re Ra <more7.rev@gmail.com>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Wez Furlong <wez@fb.com>,
Matthew Bobrowski <mbobrowski@mbobrowski.org>,
Linux API <linux-api@vger.kernel.org>
Subject: Re: File monitor problem
Date: Mon, 23 Dec 2019 21:14:53 +0200 [thread overview]
Message-ID: <CAOQ4uxhUGCLQyq76nqREETT8kBV9uNOKsckr+xmJdR9Xm=cW3Q@mail.gmail.com> (raw)
In-Reply-To: <20191223181956.GB17813@quack2.suse.cz>
On Mon, Dec 23, 2019 at 8:20 PM Jan Kara <jack@suse.cz> wrote:
>
> On Thu 19-12-19 09:33:24, Amir Goldstein wrote:
> > On Mon, Dec 16, 2019 at 5:00 PM Amir Goldstein <amir73il@gmail.com> wrote:
> > > On Wed, Dec 11, 2019 at 3:58 PM Amir Goldstein <amir73il@gmail.com> wrote:
> > > Hi Jan,
> > >
> > > I have something working.
> > >
> > > Patches:
> > > https://github.com/amir73il/linux/commits/fanotify_name
> > >
> > > Simple test:
> > > https://github.com/amir73il/ltp/commits/fanotify_name
> > >
> > > I will post the patches after I have a working demo, but in the mean while here
> > > is the gist of the API from the commit log in case you or anyone has comments
> > > on the API.
> > >
> > > Note that in the new event flavor, event mask is given as input
> > > (e.g. FAN_CREATE) to filter the type of reported events, but
> > > the event types are hidden when event is reported.
>
> Makes some sense I guess but at the same time won't this be rather
> confusing for users of the API?
>
<shrug/> I guess it will be confusing for users that we obfuscate the event
mask in the first place. I though that taking away the ability to
filter by event
type would be too much, but I can change that if you think otherwise.
> Also I've read you proposal and I'm somewhat wondering whether we are not
> overengineering this.
Possibly. Won't be my first time..
> I can see the need for FAN_DIR_MODIFIED_WITH_NAME
> (stupid name, I know) - generated when something changed with names in a
> particular directory, reported with FID of the directory and the name
> inside that directory involved with the change. Directory watching
> application needs this to keep track of "names to check". Is the name
> useful with any other type of event? _SELF events cannot even sensibly have
> it so no discussion there as you mention below. Then we have OPEN, CLOSE,
> ACCESS, ATTRIB events. Do we have any use for names with those?
>
The problem is that unlike dir fid, file fid cannot be reliably resolved
to path, that is the reason that I implemented FAN_WITH_NAME
for events "possible on child" (see branch fanotify_name-wip).
A filesystem monitor typically needs to be notified on name changes and on
data/metadata modifications.
So maybe add just two new event types:
FAN_DIR_MODIFY
FAN_CHILD_MODIFY
Both those events are reported with name and allowed only with init flag
FAN_REPORT_FID_NAME.
User cannot filter FAN_DIR_MODIFY by part of create/delete/move.
User cannot filter FAN_CHILD_MODIFY by part of attrib/modify/close_write.
FAN_CHILD_MODIFY implies FAN_EVENT_ON_CHILD for directory watch,
but also works on sb/mount mark as if all directories are watched.
And there is nothing stopping user from requesting also _SELF events
and other events without name on the same group.
Does that sound better?
Thanks,
Amir.
next prev parent reply other threads:[~2019-12-23 19:15 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-04 10:02 File monitor problem Mo Re Ra
2019-12-04 12:53 ` Amir Goldstein
2019-12-04 14:24 ` Mo Re Ra
2019-12-04 17:34 ` Jan Kara
2019-12-04 18:37 ` Amir Goldstein
2019-12-04 19:02 ` Matthew Wilcox
2019-12-04 20:27 ` Amir Goldstein
2019-12-11 10:06 ` Jan Kara
2019-12-11 13:58 ` Amir Goldstein
2019-12-16 15:00 ` Amir Goldstein
2019-12-19 7:33 ` Amir Goldstein
2019-12-23 18:19 ` Jan Kara
2019-12-23 19:14 ` Amir Goldstein [this message]
2019-12-24 3:49 ` Amir Goldstein
2019-12-31 11:53 ` Amir Goldstein
2020-01-07 17:10 ` Jan Kara
2020-01-07 18:56 ` Amir Goldstein
2020-01-08 9:04 ` Jan Kara
2020-01-08 10:25 ` Amir Goldstein
2020-01-08 12:04 ` Jan Kara
2019-12-07 12:36 ` Mo Re Ra
2019-12-10 16:55 ` Jan Kara
2019-12-10 20:49 ` Amir Goldstein
2019-12-11 22:06 ` Wez Furlong
2019-12-12 5:56 ` Amir Goldstein
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAOQ4uxhUGCLQyq76nqREETT8kBV9uNOKsckr+xmJdR9Xm=cW3Q@mail.gmail.com' \
--to=amir73il@gmail.com \
--cc=jack@suse.cz \
--cc=linux-api@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=mbobrowski@mbobrowski.org \
--cc=more7.rev@gmail.com \
--cc=wez@fb.com \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).