Re: [PATCH 06/33] fsnotify: Move mark list head from object into dedicated structure

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

 



On Thu 16-03-17 08:26:43, Jan Kara wrote:
> On Wed 15-03-17 16:11:17, Amir Goldstein wrote:
> > > +/*
> > > + * Add mark into proper place in given list of marks. These marks may be used
> > > + * for the fsnotify backend to determine which event types should be delivered
> > > + * to which group and for which inodes. These marks are ordered according to
> > > + * priority, highest number first, and then by the group's location in memory.
> > > + */
> > > +int fsnotify_add_mark_list(struct fsnotify_mark_connector **connp,
> > > +                          struct fsnotify_mark *mark, int allow_dups)
> > >  {
> > >         struct fsnotify_mark *lmark, *last = NULL;
> > > +       struct fsnotify_mark_connector *conn;
> > >         int cmp;
> > >
> > > +       if (!*connp) {
> > > +               conn = kmem_cache_alloc(fsnotify_mark_connector_cachep,
> > > +                                       GFP_ATOMIC);
> > > +               if (!conn)
> > > +                       return -ENOMEM;
> > > +               INIT_HLIST_HEAD(&conn->list);
> > > +               /*
> > > +                * Make sure 'conn' initialization is visible. Matches
> > > +                * lockless_dereference() in fsnotify().
> > > +                */
> > > +               smp_wmb();
> > > +               *connp = conn;
> > > +       } else {
> > > +               conn = *connp;
> > > +       }
> > > +
> > 
> > This chunk would look nicer in fsnotify_connector_get() helper.
> 
> Good point. I've called the function fsnotify_grab_create_connector() to
> make it consistent with later fsnotify_grab_connector() and to stress clearly
> that this may allocate new connector unlike later fsnotify_grab_connector()...

OK, after looking more at your other suggestion and patches, I've moved
only the allocation into a separate function and called it
fsnotify_attach_connector_to_object() (which matches
fsnotify_detach_connector_from_object() added later).

								Honza
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR



[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