Re: [PATCH 1/2] fsnotify: Unify inode and mount marks handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 18-11-14 16:27:17, Andrew Morton wrote:
> On Wed, 12 Nov 2014 17:07:42 +0100 Jan Kara <jack@xxxxxxx> wrote:
> 
> > There's lot of common code in inode and mount marks handling. Factor it
> > out to common helper function.
> 
> Confused.
> 
> > --- a/fs/notify/inode_mark.c
> > +++ b/fs/notify/inode_mark.c
> > @@ -31,28 +31,13 @@
> >  #include "../internal.h"
> >  
> >  /*
> > - * Recalculate the mask of events relevant to a given inode locked.
> > - */
> > -static void fsnotify_recalc_inode_mask_locked(struct inode *inode)
> > -{
> > -	struct fsnotify_mark *mark;
> > -	__u32 new_mask = 0;
> > -
> > -	assert_spin_locked(&inode->i_lock);
> > -
> > -	hlist_for_each_entry(mark, &inode->i_fsnotify_marks, i.i_list)
> > -		new_mask |= mark->mask;
> > -	inode->i_fsnotify_mask = new_mask;
> > -}
> 
> Gone.
> 
> > @@ -202,36 +153,9 @@ int fsnotify_add_inode_mark(struct fsnotify_mark *mark,
> >  	assert_spin_locked(&mark->lock);
> >  
> >  	spin_lock(&inode->i_lock);
> > -
> > -	mark->i.inode = inode;
> > -
> > -	/* is mark the first mark? */
> > -	if (hlist_empty(&inode->i_fsnotify_marks)) {
> > -		hlist_add_head_rcu(&mark->i.i_list, &inode->i_fsnotify_marks);
> > -		goto out;
> > -	}
> > -
> > -	/* should mark be in the middle of the current list? */
> > -	hlist_for_each_entry(lmark, &inode->i_fsnotify_marks, i.i_list) {
> > -		last = lmark;
> > -
> > -		if ((lmark->group == group) && !allow_dups) {
> > -			ret = -EEXIST;
> > -			goto out;
> > -		}
> > -
> > -		cmp = fsnotify_compare_groups(lmark->group, mark->group);
> > -		if (cmp < 0)
> > -			continue;
> > -
> > -		hlist_add_before_rcu(&mark->i.i_list, &lmark->i.i_list);
> > -		goto out;
> > -	}
> > -
> > -	BUG_ON(last == NULL);
> > -	/* mark should be the last entry.  last is the current last entry */
> > -	hlist_add_behind_rcu(&mark->i.i_list, &last->i.i_list);
> > -out:
> > +	mark->inode = inode;
> > +	ret = fsnotify_add_mark_list(&inode->i_fsnotify_marks, mark,
> > +				     allow_dups);
> >  	fsnotify_recalc_inode_mask_locked(inode);
> 
> But not forgotten.  The compiler noticed this ;)
> 
> I'll drop fsnotify-unify-inode-and-mount-marks-handling.patch and
> fsnotify-remove-destroy_list-from-fsnotify_mark.patch - could you take
> a look please?
> 
> I had to stage those two patches after linux-next.patch because someone
> has been fiddling with fs/notify/ in -next, causing conflicts.  Perhaps
> that had something to do with it, but I don't see how.
  Bah, looks like some stupidity on my side. Not sure how that happened.
I'll fix it up and resend.

								Honza

-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux