linux-api.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 00/31] file system-wide error monitoring
@ 2021-10-25 19:27 Gabriel Krisman Bertazi
  2021-10-25 19:27 ` [PATCH v9 01/31] fsnotify: pass data_type to fsnotify_name() Gabriel Krisman Bertazi
                   ` (31 more replies)
  0 siblings, 32 replies; 50+ messages in thread
From: Gabriel Krisman Bertazi @ 2021-10-25 19:27 UTC (permalink / raw)
  To: amir73il, jack
  Cc: djwong, tytso, david, dhowells, khazhy, linux-fsdevel, linux-api,
	linux-ext4, Gabriel Krisman Bertazi, kernel

Hi,

This is the 9th version of this patch series.  Thank you, Amir, Jan and
Ted, for the feedback in the previous versions.

The main difference in this version is that the pool is no longer
resizeable nor limited in number of marks, even though we only
pre-allocate 32 slots.  In addition, ext4 was modified to always return
non-zero errno, and the documentation was fixed accordingly (No longer
suggests we return EXT4_ERR* values.

I also droped the Reviewed-by tags from the ext4 patch, due to the
changes above.

Please let me know what you think.

This was tested with LTP for regressions and also using the sample code
on the last patch, with a corrupted image.  I wrote a new ltp test for
this feature which is being reviewed and is available at:

  https://gitlab.collabora.com/krisman/ltp  -b fan-fs-error

In addition, I wrote a man-page that can be pulled from:

  https://gitlab.collabora.com/krisman/man-pages.git -b fan-fs-error

And is being reviewed at the list.

I also pushed this full series to:

  https://gitlab.collabora.com/krisman/linux -b fanotify-notifications-v8

Thank you

Cc: Darrick J. Wong <djwong@kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Dave Chinner <david@fromorbit.com>
Cc: jack@suse.com
To: amir73il@gmail.com
Cc: dhowells@redhat.com
Cc: khazhy@google.com
Cc: linux-fsdevel@vger.kernel.org
Cc: linux-ext4@vger.kernel.org
Cc: linux-api@vger.kernel.org
Cc: linux-api@vger.kernel.org

Amir Goldstein (3):
  fsnotify: pass data_type to fsnotify_name()
  fsnotify: pass dentry instead of inode data
  fsnotify: clarify contract for create event hooks

Gabriel Krisman Bertazi (28):
  fsnotify: Don't insert unmergeable events in hashtable
  fanotify: Fold event size calculation to its own function
  fanotify: Split fsid check from other fid mode checks
  inotify: Don't force FS_IN_IGNORED
  fsnotify: Add helper to detect overflow_event
  fsnotify: Add wrapper around fsnotify_add_event
  fsnotify: Retrieve super block from the data field
  fsnotify: Protect fsnotify_handle_inode_event from no-inode events
  fsnotify: Pass group argument to free_event
  fanotify: Support null inode event in fanotify_dfid_inode
  fanotify: Allow file handle encoding for unhashed events
  fanotify: Encode empty file handle when no inode is provided
  fanotify: Require fid_mode for any non-fd event
  fsnotify: Support FS_ERROR event type
  fanotify: Reserve UAPI bits for FAN_FS_ERROR
  fanotify: Pre-allocate pool of error events
  fanotify: Support enqueueing of error events
  fanotify: Support merging of error events
  fanotify: Wrap object_fh inline space in a creator macro
  fanotify: Add helpers to decide whether to report FID/DFID
  fanotify: Report fid entry even for zero-length file_handle
  fanotify: WARN_ON against too large file handles
  fanotify: Report fid info for file related file system errors
  fanotify: Emit generic error info for error event
  fanotify: Allow users to request FAN_FS_ERROR events
  ext4: Send notifications on error
  samples: Add fs error monitoring example
  docs: Document the FAN_FS_ERROR event

 .../admin-guide/filesystem-monitoring.rst     |  74 +++++++++
 Documentation/admin-guide/index.rst           |   1 +
 fs/ext4/super.c                               |   8 +
 fs/nfsd/filecache.c                           |   3 +
 fs/notify/fanotify/fanotify.c                 | 117 +++++++++++--
 fs/notify/fanotify/fanotify.h                 |  54 +++++-
 fs/notify/fanotify/fanotify_user.c            | 156 +++++++++++++-----
 fs/notify/fsnotify.c                          |  10 +-
 fs/notify/group.c                             |   2 +-
 fs/notify/inotify/inotify_fsnotify.c          |   5 +-
 fs/notify/inotify/inotify_user.c              |   6 +-
 fs/notify/notification.c                      |  14 +-
 include/linux/fanotify.h                      |   9 +-
 include/linux/fsnotify.h                      |  58 +++++--
 include/linux/fsnotify_backend.h              |  96 ++++++++++-
 include/uapi/linux/fanotify.h                 |   8 +
 kernel/audit_fsnotify.c                       |   3 +-
 kernel/audit_watch.c                          |   3 +-
 samples/Kconfig                               |   9 +
 samples/Makefile                              |   1 +
 samples/fanotify/Makefile                     |   5 +
 samples/fanotify/fs-monitor.c                 | 142 ++++++++++++++++
 22 files changed, 685 insertions(+), 99 deletions(-)
 create mode 100644 Documentation/admin-guide/filesystem-monitoring.rst
 create mode 100644 samples/fanotify/Makefile
 create mode 100644 samples/fanotify/fs-monitor.c

-- 
2.33.0


^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2021-10-30  6:53 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-25 19:27 [PATCH v9 00/31] file system-wide error monitoring Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 01/31] fsnotify: pass data_type to fsnotify_name() Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 02/31] fsnotify: pass dentry instead of inode data Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 03/31] fsnotify: clarify contract for create event hooks Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 04/31] fsnotify: Don't insert unmergeable events in hashtable Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 05/31] fanotify: Fold event size calculation to its own function Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 06/31] fanotify: Split fsid check from other fid mode checks Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 07/31] inotify: Don't force FS_IN_IGNORED Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 08/31] fsnotify: Add helper to detect overflow_event Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 09/31] fsnotify: Add wrapper around fsnotify_add_event Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 10/31] fsnotify: Retrieve super block from the data field Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 11/31] fsnotify: Protect fsnotify_handle_inode_event from no-inode events Gabriel Krisman Bertazi
2021-10-26  7:01   ` Amir Goldstein
2021-10-26 11:47   ` Jan Kara
2021-10-25 19:27 ` [PATCH v9 12/31] fsnotify: Pass group argument to free_event Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 13/31] fanotify: Support null inode event in fanotify_dfid_inode Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 14/31] fanotify: Allow file handle encoding for unhashed events Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 15/31] fanotify: Encode empty file handle when no inode is provided Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 16/31] fanotify: Require fid_mode for any non-fd event Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 17/31] fsnotify: Support FS_ERROR event type Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 18/31] fanotify: Reserve UAPI bits for FAN_FS_ERROR Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 19/31] fanotify: Pre-allocate pool of error events Gabriel Krisman Bertazi
2021-10-26  7:09   ` Amir Goldstein
2021-10-25 19:27 ` [PATCH v9 20/31] fanotify: Support enqueueing " Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 21/31] fanotify: Support merging " Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 22/31] fanotify: Wrap object_fh inline space in a creator macro Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 23/31] fanotify: Add helpers to decide whether to report FID/DFID Gabriel Krisman Bertazi
2021-10-26  7:02   ` Amir Goldstein
2021-10-25 19:27 ` [PATCH v9 24/31] fanotify: Report fid entry even for zero-length file_handle Gabriel Krisman Bertazi
2021-10-26  9:09   ` Amir Goldstein
2021-10-26 12:06     ` Jan Kara
2021-10-25 19:27 ` [PATCH v9 25/31] fanotify: WARN_ON against too large file handles Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 26/31] fanotify: Report fid info for file related file system errors Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 27/31] fanotify: Emit generic error info for error event Gabriel Krisman Bertazi
2021-10-26 12:11   ` Jan Kara
2021-10-25 19:27 ` [PATCH v9 28/31] fanotify: Allow users to request FAN_FS_ERROR events Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 29/31] ext4: Send notifications on error Gabriel Krisman Bertazi
2021-10-26  4:00   ` Theodore Ts'o
2021-10-26  7:05   ` Amir Goldstein
2021-10-26 12:12   ` Jan Kara
2021-10-25 19:27 ` [PATCH v9 30/31] samples: Add fs error monitoring example Gabriel Krisman Bertazi
2021-10-25 19:27 ` [PATCH v9 31/31] docs: Document the FAN_FS_ERROR event Gabriel Krisman Bertazi
2021-10-26 12:19   ` Jan Kara
2021-10-26  9:12 ` [PATCH v9 00/31] file system-wide error monitoring Amir Goldstein
2021-10-27 11:22   ` Jan Kara
2021-10-27 12:36     ` Amir Goldstein
2021-10-27 13:03       ` Gabriel Krisman Bertazi
2021-10-28  5:55         ` Amir Goldstein
2021-10-29 22:23           ` Gabriel Krisman Bertazi
2021-10-30  6:53             ` Amir Goldstein

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).