fanotify: create helper fanotify_mark_user_flags()

[ Upstream commit 4adce25ccfff215939ee465b8c0aa70526d5c352 ]

To translate from fsnotify mark flags to user visible flags.

Link: https://lore.kernel.org/r/20220422120327.3459282-13-amir73il@gmail.com
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Amir Goldstein
2022-04-22 15:03:23 +03:00
committed by Greg Kroah-Hartman
parent ff34ebaa6f
commit b9576077ee
2 changed files with 12 additions and 4 deletions

View File

@@ -490,3 +490,13 @@ static inline unsigned int fanotify_event_hash_bucket(
{ {
return event->hash & FANOTIFY_HTABLE_MASK; return event->hash & FANOTIFY_HTABLE_MASK;
} }
static inline unsigned int fanotify_mark_user_flags(struct fsnotify_mark *mark)
{
unsigned int mflags = 0;
if (mark->flags & FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY)
mflags |= FAN_MARK_IGNORED_SURV_MODIFY;
return mflags;
}

View File

@@ -14,6 +14,7 @@
#include <linux/exportfs.h> #include <linux/exportfs.h>
#include "inotify/inotify.h" #include "inotify/inotify.h"
#include "fanotify/fanotify.h"
#include "fdinfo.h" #include "fdinfo.h"
#include "fsnotify.h" #include "fsnotify.h"
@@ -103,12 +104,9 @@ void inotify_show_fdinfo(struct seq_file *m, struct file *f)
static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark) static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark)
{ {
unsigned int mflags = 0; unsigned int mflags = fanotify_mark_user_flags(mark);
struct inode *inode; struct inode *inode;
if (mark->flags & FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY)
mflags |= FAN_MARK_IGNORED_SURV_MODIFY;
if (mark->connector->type == FSNOTIFY_OBJ_TYPE_INODE) { if (mark->connector->type == FSNOTIFY_OBJ_TYPE_INODE) {
inode = igrab(fsnotify_conn_inode(mark->connector)); inode = igrab(fsnotify_conn_inode(mark->connector));
if (!inode) if (!inode)