mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-28 08:45:51 +00:00
fsnotify: create a wrapper fsnotify_find_inode_mark()
In preparation to passing an object pointer to fsnotify_find_mark(), add a wrapper fsnotify_find_inode_mark() and use it where possible. Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz> Message-Id: <20240317184154.1200192-4-amir73il@gmail.com>
This commit is contained in:
parent
f115815d75
commit
230d97d39e
@ -159,8 +159,8 @@ nfsd_file_mark_find_or_create(struct nfsd_file *nf, struct inode *inode)
|
||||
|
||||
do {
|
||||
fsnotify_group_lock(nfsd_file_fsnotify_group);
|
||||
mark = fsnotify_find_mark(&inode->i_fsnotify_marks,
|
||||
nfsd_file_fsnotify_group);
|
||||
mark = fsnotify_find_inode_mark(inode,
|
||||
nfsd_file_fsnotify_group);
|
||||
if (mark) {
|
||||
nfm = nfsd_file_mark_get(container_of(mark,
|
||||
struct nfsd_file_mark,
|
||||
|
@ -162,7 +162,7 @@ void dnotify_flush(struct file *filp, fl_owner_t id)
|
||||
if (!S_ISDIR(inode->i_mode))
|
||||
return;
|
||||
|
||||
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, dnotify_group);
|
||||
fsn_mark = fsnotify_find_inode_mark(inode, dnotify_group);
|
||||
if (!fsn_mark)
|
||||
return;
|
||||
dn_mark = container_of(fsn_mark, struct dnotify_mark, fsn_mark);
|
||||
@ -326,7 +326,7 @@ int fcntl_dirnotify(int fd, struct file *filp, unsigned int arg)
|
||||
fsnotify_group_lock(dnotify_group);
|
||||
|
||||
/* add the new_fsn_mark or find an old one. */
|
||||
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, dnotify_group);
|
||||
fsn_mark = fsnotify_find_inode_mark(inode, dnotify_group);
|
||||
if (fsn_mark) {
|
||||
dn_mark = container_of(fsn_mark, struct dnotify_mark, fsn_mark);
|
||||
spin_lock(&fsn_mark->lock);
|
||||
|
@ -544,7 +544,7 @@ static int inotify_update_existing_watch(struct fsnotify_group *group,
|
||||
int create = (arg & IN_MASK_CREATE);
|
||||
int ret;
|
||||
|
||||
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, group);
|
||||
fsn_mark = fsnotify_find_inode_mark(inode, group);
|
||||
if (!fsn_mark)
|
||||
return -ENOENT;
|
||||
else if (create) {
|
||||
|
@ -789,6 +789,13 @@ static inline int fsnotify_add_inode_mark_locked(struct fsnotify_mark *mark,
|
||||
FSNOTIFY_OBJ_TYPE_INODE, add_flags);
|
||||
}
|
||||
|
||||
static inline struct fsnotify_mark *fsnotify_find_inode_mark(
|
||||
struct inode *inode,
|
||||
struct fsnotify_group *group)
|
||||
{
|
||||
return fsnotify_find_mark(&inode->i_fsnotify_marks, group);
|
||||
}
|
||||
|
||||
/* given a group and a mark, flag mark to be freed when all references are dropped */
|
||||
extern void fsnotify_destroy_mark(struct fsnotify_mark *mark,
|
||||
struct fsnotify_group *group);
|
||||
|
@ -463,7 +463,7 @@ static int tag_chunk(struct inode *inode, struct audit_tree *tree)
|
||||
int n;
|
||||
|
||||
fsnotify_group_lock(audit_tree_group);
|
||||
mark = fsnotify_find_mark(&inode->i_fsnotify_marks, audit_tree_group);
|
||||
mark = fsnotify_find_inode_mark(inode, audit_tree_group);
|
||||
if (!mark)
|
||||
return create_chunk(inode, tree);
|
||||
|
||||
|
@ -90,7 +90,7 @@ static inline struct audit_parent *audit_find_parent(struct inode *inode)
|
||||
struct audit_parent *parent = NULL;
|
||||
struct fsnotify_mark *entry;
|
||||
|
||||
entry = fsnotify_find_mark(&inode->i_fsnotify_marks, audit_watch_group);
|
||||
entry = fsnotify_find_inode_mark(inode, audit_watch_group);
|
||||
if (entry)
|
||||
parent = container_of(entry, struct audit_parent, mark);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user