From: Amir Goldstein <amir73il@gmail.com>
To: Jan Kara <jack@suse.cz>
Cc: Jeff Layton <jlayton@poochiereds.net>,
Miklos Szeredi <miklos@szeredi.hu>,
Eric Paris <eparis@redhat.com>, Eryu Guan <eguan@redhat.com>,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: [RFC][PATCH 0/2] fsnotify: reduce coupling of permission and non permission events
Date: Mon, 14 Nov 2016 13:48:25 +0200 [thread overview]
Message-ID: <1479124107-8477-1-git-send-email-amir73il@gmail.com> (raw)
The issue reported by Miklos Szeredi was processes blocking when trying
to close an inotify file descriptor, while another fanotify listener is
failing to handle permission events.
Miklos included a test program with the report.
His test program with some modifications is available on my github:
https://github.com/amir73il/fsnotify-utils/blob/master/fanotify_bug.c
Ideally, we would want that destruction of a group would only block
if an event handled by this group is in progress, but this is not easy
to achieve. Instead, we make sure that destrurction of a group would
only block if an event handled by a group of similar class (priority)
is in progress.
Amir Goldstein (2):
fsnotify: separate fsnotify_mark_srcu for groups with permission
events
fsnotify: handle permission events without holding
fsnotify_mark_srcu[0]
fs/notify/fanotify/fanotify.c | 15 ++++++---
fs/notify/fsnotify.c | 57 ++++++++++++++++++++++++++++----
fs/notify/fsnotify.h | 17 ++++++++--
fs/notify/group.c | 2 +-
fs/notify/mark.c | 77 ++++++++++++++++++++++++++++++++-----------
5 files changed, 134 insertions(+), 34 deletions(-)
--
2.7.4
next reply other threads:[~2016-11-14 11:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-14 11:48 Amir Goldstein [this message]
2016-11-14 11:48 ` [RFC][PATCH 1/2] fsnotify: separate fsnotify_mark_srcu for groups with permission events Amir Goldstein
2016-11-14 11:48 ` [RFC][PATCH 2/2] fsnotify: handle permission events without holding fsnotify_mark_srcu[0] Amir Goldstein
2016-11-14 13:20 ` Jan Kara
2016-11-14 15:09 ` Amir Goldstein
2016-11-16 9:35 ` Jan Kara
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=1479124107-8477-1-git-send-email-amir73il@gmail.com \
--to=amir73il@gmail.com \
--cc=eguan@redhat.com \
--cc=eparis@redhat.com \
--cc=jack@suse.cz \
--cc=jlayton@poochiereds.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.