Skip to content

Commit

Permalink
fsnotify: Remove fsnotify_find_{inode|vfsmount}_mark()
Browse files Browse the repository at this point in the history
These are very thin wrappers, just remove them. Drop
fs/notify/vfsmount_mark.c as it is empty now.

Reviewed-by: Miklos Szeredi <[email protected]>
Reviewed-by: Amir Goldstein <[email protected]>
Signed-off-by: Jan Kara <[email protected]>
  • Loading branch information
jankara committed Apr 10, 2017
1 parent 2e37c6c commit b1362ed
Show file tree
Hide file tree
Showing 10 changed files with 18 additions and 71 deletions.
2 changes: 1 addition & 1 deletion fs/notify/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
obj-$(CONFIG_FSNOTIFY) += fsnotify.o notification.o group.o inode_mark.o \
mark.o vfsmount_mark.o fdinfo.o
mark.o fdinfo.o

obj-y += dnotify/
obj-y += inotify/
Expand Down
4 changes: 2 additions & 2 deletions fs/notify/dnotify/dnotify.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ void dnotify_flush(struct file *filp, fl_owner_t id)
if (!S_ISDIR(inode->i_mode))
return;

fsn_mark = fsnotify_find_inode_mark(dnotify_group, inode);
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, dnotify_group);
if (!fsn_mark)
return;
dn_mark = container_of(fsn_mark, struct dnotify_mark, fsn_mark);
Expand Down Expand Up @@ -313,7 +313,7 @@ int fcntl_dirnotify(int fd, struct file *filp, unsigned long arg)
mutex_lock(&dnotify_group->mark_mutex);

/* add the new_fsn_mark or find an old one. */
fsn_mark = fsnotify_find_inode_mark(dnotify_group, inode);
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, dnotify_group);
if (fsn_mark) {
dn_mark = container_of(fsn_mark, struct dnotify_mark, fsn_mark);
spin_lock(&fsn_mark->lock);
Expand Down
12 changes: 7 additions & 5 deletions fs/notify/fanotify/fanotify_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -533,7 +533,8 @@ static int fanotify_remove_vfsmount_mark(struct fsnotify_group *group,
int destroy_mark;

mutex_lock(&group->mark_mutex);
fsn_mark = fsnotify_find_vfsmount_mark(group, mnt);
fsn_mark = fsnotify_find_mark(&real_mount(mnt)->mnt_fsnotify_marks,
group);
if (!fsn_mark) {
mutex_unlock(&group->mark_mutex);
return -ENOENT;
Expand Down Expand Up @@ -562,7 +563,7 @@ static int fanotify_remove_inode_mark(struct fsnotify_group *group,
int destroy_mark;

mutex_lock(&group->mark_mutex);
fsn_mark = fsnotify_find_inode_mark(group, inode);
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, group);
if (!fsn_mark) {
mutex_unlock(&group->mark_mutex);
return -ENOENT;
Expand All @@ -578,7 +579,7 @@ static int fanotify_remove_inode_mark(struct fsnotify_group *group,
if (destroy_mark)
fsnotify_free_mark(fsn_mark);

/* matches the fsnotify_find_inode_mark() */
/* matches the fsnotify_find_mark() */
fsnotify_put_mark(fsn_mark);

return 0;
Expand Down Expand Up @@ -646,7 +647,8 @@ static int fanotify_add_vfsmount_mark(struct fsnotify_group *group,
__u32 added;

mutex_lock(&group->mark_mutex);
fsn_mark = fsnotify_find_vfsmount_mark(group, mnt);
fsn_mark = fsnotify_find_mark(&real_mount(mnt)->mnt_fsnotify_marks,
group);
if (!fsn_mark) {
fsn_mark = fanotify_add_new_mark(group, NULL, mnt);
if (IS_ERR(fsn_mark)) {
Expand Down Expand Up @@ -683,7 +685,7 @@ static int fanotify_add_inode_mark(struct fsnotify_group *group,
return 0;

mutex_lock(&group->mark_mutex);
fsn_mark = fsnotify_find_inode_mark(group, inode);
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, group);
if (!fsn_mark) {
fsn_mark = fanotify_add_new_mark(group, inode, NULL);
if (IS_ERR(fsn_mark)) {
Expand Down
4 changes: 0 additions & 4 deletions fs/notify/fsnotify.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ extern struct srcu_struct fsnotify_mark_srcu;
extern int fsnotify_compare_groups(struct fsnotify_group *a,
struct fsnotify_group *b);

/* Find mark belonging to given group in the list of marks */
extern struct fsnotify_mark *fsnotify_find_mark(
struct fsnotify_mark_connector __rcu **connp,
struct fsnotify_group *group);
/* Destroy all marks connected via given connector */
extern void fsnotify_destroy_marks(struct fsnotify_mark_connector __rcu **connp);
/* run the list of all marks associated with inode and destroy them */
Expand Down
10 changes: 0 additions & 10 deletions fs/notify/inode_mark.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,6 @@

#include "../internal.h"

/*
* given a group and inode, find the mark associated with that combination.
* if found take a reference to that mark and return it, else return NULL
*/
struct fsnotify_mark *fsnotify_find_inode_mark(struct fsnotify_group *group,
struct inode *inode)
{
return fsnotify_find_mark(&inode->i_fsnotify_marks, group);
}

/**
* fsnotify_unmount_inodes - an sb is unmounting. handle any watched inodes.
* @sb: superblock being unmounted.
Expand Down
2 changes: 1 addition & 1 deletion fs/notify/inotify/inotify_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,7 @@ static int inotify_update_existing_watch(struct fsnotify_group *group,

mask = inotify_arg_to_mask(arg);

fsn_mark = fsnotify_find_inode_mark(group, inode);
fsn_mark = fsnotify_find_mark(&inode->i_fsnotify_marks, group);
if (!fsn_mark)
return -ENOENT;

Expand Down
42 changes: 0 additions & 42 deletions fs/notify/vfsmount_mark.c

This file was deleted.

8 changes: 4 additions & 4 deletions include/linux/fsnotify_backend.h
Original file line number Diff line number Diff line change
Expand Up @@ -341,10 +341,10 @@ extern struct fsnotify_event *fsnotify_remove_first_event(struct fsnotify_group
/* Calculate mask of events for a list of marks */
extern void fsnotify_recalc_mask(struct fsnotify_mark_connector *conn);
extern void fsnotify_init_mark(struct fsnotify_mark *mark, void (*free_mark)(struct fsnotify_mark *mark));
/* find (and take a reference) to a mark associated with group and inode */
extern struct fsnotify_mark *fsnotify_find_inode_mark(struct fsnotify_group *group, struct inode *inode);
/* find (and take a reference) to a mark associated with group and vfsmount */
extern struct fsnotify_mark *fsnotify_find_vfsmount_mark(struct fsnotify_group *group, struct vfsmount *mnt);
/* Find mark belonging to given group in the list of marks */
extern struct fsnotify_mark *fsnotify_find_mark(
struct fsnotify_mark_connector __rcu **connp,
struct fsnotify_group *group);
/* attach the mark to both the group and the inode */
extern int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,
struct inode *inode, struct vfsmount *mnt, int allow_dups);
Expand Down
3 changes: 2 additions & 1 deletion kernel/audit_tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,8 @@ static int tag_chunk(struct inode *inode, struct audit_tree *tree)
struct node *p;
int n;

old_entry = fsnotify_find_inode_mark(audit_tree_group, inode);
old_entry = fsnotify_find_mark(&inode->i_fsnotify_marks,
audit_tree_group);
if (!old_entry)
return create_chunk(inode, tree);

Expand Down
2 changes: 1 addition & 1 deletion kernel/audit_watch.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ static inline struct audit_parent *audit_find_parent(struct inode *inode)
struct audit_parent *parent = NULL;
struct fsnotify_mark *entry;

entry = fsnotify_find_inode_mark(audit_watch_group, inode);
entry = fsnotify_find_mark(&inode->i_fsnotify_marks, audit_watch_group);
if (entry)
parent = container_of(entry, struct audit_parent, mark);

Expand Down

0 comments on commit b1362ed

Please sign in to comment.