fsnotify: unify inode and mount marks handling
There's a lot of common code in inode and mount marks handling. Factor it out to a common helper function. Signed-off-by: Jan Kara <jack@suse.cz> Cc: Eric Paris <eparis@redhat.com> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
@@ -156,7 +156,7 @@ static int idr_callback(int id, void *p, void *data)
|
||||
*/
|
||||
if (fsn_mark)
|
||||
printk(KERN_WARNING "fsn_mark->group=%p inode=%p wd=%d\n",
|
||||
fsn_mark->group, fsn_mark->i.inode, i_mark->wd);
|
||||
fsn_mark->group, fsn_mark->inode, i_mark->wd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -433,7 +433,7 @@ static void inotify_remove_from_idr(struct fsnotify_group *group,
|
||||
if (wd == -1) {
|
||||
WARN_ONCE(1, "%s: i_mark=%p i_mark->wd=%d i_mark->group=%p"
|
||||
" i_mark->inode=%p\n", __func__, i_mark, i_mark->wd,
|
||||
i_mark->fsn_mark.group, i_mark->fsn_mark.i.inode);
|
||||
i_mark->fsn_mark.group, i_mark->fsn_mark.inode);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -442,7 +442,7 @@ static void inotify_remove_from_idr(struct fsnotify_group *group,
|
||||
if (unlikely(!found_i_mark)) {
|
||||
WARN_ONCE(1, "%s: i_mark=%p i_mark->wd=%d i_mark->group=%p"
|
||||
" i_mark->inode=%p\n", __func__, i_mark, i_mark->wd,
|
||||
i_mark->fsn_mark.group, i_mark->fsn_mark.i.inode);
|
||||
i_mark->fsn_mark.group, i_mark->fsn_mark.inode);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -456,9 +456,9 @@ static void inotify_remove_from_idr(struct fsnotify_group *group,
|
||||
"mark->inode=%p found_i_mark=%p found_i_mark->wd=%d "
|
||||
"found_i_mark->group=%p found_i_mark->inode=%p\n",
|
||||
__func__, i_mark, i_mark->wd, i_mark->fsn_mark.group,
|
||||
i_mark->fsn_mark.i.inode, found_i_mark, found_i_mark->wd,
|
||||
i_mark->fsn_mark.inode, found_i_mark, found_i_mark->wd,
|
||||
found_i_mark->fsn_mark.group,
|
||||
found_i_mark->fsn_mark.i.inode);
|
||||
found_i_mark->fsn_mark.inode);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -470,7 +470,7 @@ static void inotify_remove_from_idr(struct fsnotify_group *group,
|
||||
if (unlikely(atomic_read(&i_mark->fsn_mark.refcnt) < 3)) {
|
||||
printk(KERN_ERR "%s: i_mark=%p i_mark->wd=%d i_mark->group=%p"
|
||||
" i_mark->inode=%p\n", __func__, i_mark, i_mark->wd,
|
||||
i_mark->fsn_mark.group, i_mark->fsn_mark.i.inode);
|
||||
i_mark->fsn_mark.group, i_mark->fsn_mark.inode);
|
||||
/* we can't really recover with bad ref cnting.. */
|
||||
BUG();
|
||||
}
|
||||
|
Reference in New Issue
Block a user