From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: [PATCH v2] fs: xattr: rewrite simple_xattr_set() Date: Wed, 31 Oct 2012 14:11:04 -0700 Message-ID: <20121031211104.GY2945@htj.dyndns.org> References: <20121025152613.GF14085@redhat.com> <20121025173326.GH11442@htj.dyndns.org> <20121025175412.GG14085@redhat.com> <20121025183018.GI14085@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-kernel@vger.kernel.org, Li Zefan , Al Viro , linux-fsdevel@vger.kernel.org, Hugh Dickins To: Aristeu Rozanski Return-path: Content-Disposition: inline In-Reply-To: <20121025183018.GI14085@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Hello, sorry about the delay. Just one nitpick. On Thu, Oct 25, 2012 at 02:30:18PM -0400, Aristeu Rozanski wrote: > +static int __simple_xattr_remove(struct simple_xattrs *xattrs, > + const char *name) > +{ > + struct simple_xattr *xattr; > + > + xattr = __find_xattr(xattrs, name); > if (xattr) { > + list_del(&xattr->list); > kfree(xattr->name); > kfree(xattr); > + return 0; > } > - return err; > > + return -ENODATA; > +} > + > +/* > + * xattr REMOVE operation for in-memory/pseudo filesystems > + */ > +int simple_xattr_remove(struct simple_xattrs *xattrs, const char *name) > +{ > + int rc; > + > + spin_lock(&xattrs->lock); > + rc = __simple_xattr_remove(xattrs, name); > + spin_unlock(&xattrs->lock); > + > + return rc; Do we need these two functions? Can't you either collapse __simple_xttar_remove() into simple_xattr_remove() or just call __simple_xattr_remove() directly from simple_xattr_set() with locking handled there? Also, why doesn't simple_xattr_remove() have static? Thanks. -- tejun