All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>,
	linux-xfs@vger.kernel.org,
	Allison Collins <allison.henderson@oracle.com>,
	Chandan Rajendra <chandanrlinux@gmail.com>
Subject: Re: [PATCH 30/31] xfs: remove XFS_DA_OP_INCOMPLETE
Date: Wed, 19 Feb 2020 17:53:04 +1100	[thread overview]
Message-ID: <20200219065304.GM10776@dread.disaster.area> (raw)
In-Reply-To: <20200219004729.GD9506@magnolia>

On Tue, Feb 18, 2020 at 04:47:29PM -0800, Darrick J. Wong wrote:
> On Tue, Feb 18, 2020 at 04:48:56PM +0100, Christoph Hellwig wrote:
> > On Tue, Feb 18, 2020 at 01:23:34PM +1100, Dave Chinner wrote:
> > > > diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c
> > > > index d5c112b6dcdd..23e0d8ce39f8 100644
> > > > --- a/fs/xfs/libxfs/xfs_attr.c
> > > > +++ b/fs/xfs/libxfs/xfs_attr.c
> > > > @@ -898,7 +898,7 @@ xfs_attr_node_addname(
> > > >  		 * The INCOMPLETE flag means that we will find the "old"
> > > >  		 * attr, not the "new" one.
> > > >  		 */
> > > > -		args->op_flags |= XFS_DA_OP_INCOMPLETE;
> > > > +		args->attr_namespace |= XFS_ATTR_INCOMPLETE;
> > > 
> > > So args->attr_namespace is no longer an indication of what attribute
> > > namespace to look up? Unless you are now defining incomplete
> > > attributes to be in a namespace?
> > 
> > It is the same field on disk.

Yes, but the INCOMPLETE flag is not indicating a user specified
attribute namespace type like user.*, system.* or secure.*. We're just using
the flag to store that prefix in as little space as possible.

Indeed, we can have incomplete attributes in all the namespaces, so
what we are really using this field and it's flags for is search
filtering.

> > > If so, I think this needs more explanation than "we can use the
> > > on-disk format directly instead". That's just telling me what the
> > > patch is doing and doesn't explain why we are considering this
> > > specific on disk flag to indicate a new type of "namespace" for
> > > attributes lookups. Hence I think this needs more documentation in
> > > both the commit and the code as the definition of
> > > XFS_ATTR_INCOMPLETE doesn't really make it clear that this is now
> > > considered a namespace signifier...
> > 
> > Ok.  Also if anyone has a better name for the field, suggestions welcome..
> 
> The bureaucrat part of my brain suggests "attr_flags", with a
> XFS_ATTR_NAMESPACE() helper to extract just the namespace part by using
> #define XFS_ATTR_NAMESPACE_MASK (XFS_ATTR_ROOT | XFS_ATTR_SECURE)

If it's filtering, then attr_filter might be appropriate. We only
return attributes that match the filter mask....

> I kind of dislike that idea because it seems like a lot of overkill to
> keep the two namespace bits separate from the actual attr entry flags,
> but maybe we need it...

*nod*

I don't think we need all that jazz (waves jazz hands in the air) if
we look at it from the point of view of it being a filter mask
rather than a namespace specifier....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2020-02-19  6:53 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-17 12:59 clean up the attr interface v4 Christoph Hellwig
2020-02-17 12:59 ` [PATCH 01/31] xfs: reject invalid flags combinations in XFS_IOC_ATTRLIST_BY_HANDLE Christoph Hellwig
2020-02-17 21:48   ` Dave Chinner
2020-02-19  0:49     ` Darrick J. Wong
2020-02-17 12:59 ` [PATCH 02/31] xfs: remove the ATTR_INCOMPLETE flag Christoph Hellwig
2020-02-17 21:51   ` Dave Chinner
2020-02-18 15:19     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 03/31] xfs: merge xfs_attr_remove into xfs_attr_set Christoph Hellwig
2020-02-17 22:02   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 04/31] xfs: merge xfs_attrmulti_attr_remove into xfs_attrmulti_attr_set Christoph Hellwig
2020-02-17 22:04   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 05/31] xfs: use strndup_user in XFS_IOC_ATTRMULTI_BY_HANDLE Christoph Hellwig
2020-02-17 22:15   ` Dave Chinner
2020-02-18 15:24     ` Christoph Hellwig
2020-02-19  0:38       ` Darrick J. Wong
2020-02-19  4:03         ` Dave Chinner
2020-02-17 12:59 ` [PATCH 06/31] xfs: factor out a helper for a single XFS_IOC_ATTRMULTI_BY_HANDLE op Christoph Hellwig
2020-02-17 22:28   ` Dave Chinner
2020-02-18 15:28     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 07/31] xfs: remove the name == NULL check from xfs_attr_args_init Christoph Hellwig
2020-02-17 22:29   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 08/31] xfs: remove the MAXNAMELEN " Christoph Hellwig
2020-02-17 22:29   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 09/31] xfs: move struct xfs_da_args to xfs_types.h Christoph Hellwig
2020-02-17 12:59 ` [PATCH 10/31] xfs: turn xfs_da_args.value into a void pointer Christoph Hellwig
2020-02-17 12:59 ` [PATCH 11/31] xfs: pass an initialized xfs_da_args structure to xfs_attr_set Christoph Hellwig
2020-02-17 12:59 ` [PATCH 12/31] xfs: pass an initialized xfs_da_args to xfs_attr_get Christoph Hellwig
2020-02-17 12:59 ` [PATCH 13/31] xfs: remove the xfs_inode argument to xfs_attr_get_ilocked Christoph Hellwig
2020-02-17 23:06   ` Dave Chinner
2020-02-18 15:30     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 14/31] xfs: remove ATTR_KERNOVAL Christoph Hellwig
2020-02-17 23:06   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 15/31] xfs: remove ATTR_ALLOC and XFS_DA_OP_ALLOCVAL Christoph Hellwig
2020-02-17 23:09   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 16/31] xfs: replace ATTR_KERNOTIME with XFS_DA_OP_NOTIME Christoph Hellwig
2020-02-17 23:21   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 17/31] xfs: factor out a xfs_attr_match helper Christoph Hellwig
2020-02-17 23:23   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 18/31] xfs: cleanup struct xfs_attr_list_context Christoph Hellwig
2020-02-17 23:25   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 19/31] xfs: remove the unused ATTR_ENTRY macro Christoph Hellwig
2020-02-17 23:25   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 20/31] xfs: open code ATTR_ENTSIZE Christoph Hellwig
2020-02-17 23:32   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 21/31] xfs: move the legacy xfs_attr_list to xfs_ioctl.c Christoph Hellwig
2020-02-17 23:41   ` Dave Chinner
2020-02-18 15:38     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 22/31] xfs: rename xfs_attr_list_int to xfs_attr_list Christoph Hellwig
2020-02-17 23:42   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 23/31] xfs: properly type the buffer field in struct xfs_fsop_attrlist_handlereq Christoph Hellwig
2020-02-17 23:53   ` Dave Chinner
2020-02-18 15:39     ` Christoph Hellwig
2020-02-19  0:58       ` Darrick J. Wong
2020-02-19  4:10         ` Dave Chinner
2020-02-17 12:59 ` [PATCH 24/31] xfs: lift common checks into xfs_ioc_attr_list Christoph Hellwig
2020-02-17 23:47   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 25/31] xfs: lift buffer allocation " Christoph Hellwig
2020-02-17 23:55   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 26/31] xfs: lift cursor copy in/out " Christoph Hellwig
2020-02-18  0:03   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 27/31] xfs: improve xfs_forget_acl Christoph Hellwig
2020-02-18  1:58   ` Dave Chinner
2020-02-17 12:59 ` [PATCH 28/31] xfs: clean up the ATTR_REPLACE checks Christoph Hellwig
2020-02-18  2:06   ` Dave Chinner
2020-02-18 15:41     ` Christoph Hellwig
2020-02-17 12:59 ` [PATCH 29/31] xfs: clean up the attr flag confusion Christoph Hellwig
2020-02-17 12:59 ` [PATCH 30/31] xfs: remove XFS_DA_OP_INCOMPLETE Christoph Hellwig
2020-02-18  2:23   ` Dave Chinner
2020-02-18 15:48     ` Christoph Hellwig
2020-02-19  0:47       ` Darrick J. Wong
2020-02-19  6:53         ` Dave Chinner [this message]
2020-02-17 12:59 ` [PATCH 31/31] xfs: embedded the attrlist cursor into struct xfs_attr_list_context Christoph Hellwig
2020-02-18  2:24   ` Dave Chinner
2020-02-19  0:48 ` clean up the attr interface v4 Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200219065304.GM10776@dread.disaster.area \
    --to=david@fromorbit.com \
    --cc=allison.henderson@oracle.com \
    --cc=chandanrlinux@gmail.com \
    --cc=darrick.wong@oracle.com \
    --cc=hch@lst.de \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.