All of lore.kernel.org
 help / color / mirror / Atom feed
From: Allison Henderson <allison.henderson@oracle.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v13 14/14] xfsprogs: Add delayed attribute flag to cmd
Date: Thu, 12 Nov 2020 20:52:57 -0700	[thread overview]
Message-ID: <6c04237c-e8d1-5b53-329d-735a8407b555@oracle.com> (raw)
In-Reply-To: <20201110234834.GM9695@magnolia>



On 11/10/20 4:48 PM, Darrick J. Wong wrote:
> On Thu, Oct 22, 2020 at 11:33:06PM -0700, Allison Henderson wrote:
>> From: Allison Collins <allison.henderson@oracle.com>
>>
>> mkfs: enable feature bit in mkfs via the '-n delattr' parameter.
>>
>> Signed-off-by: Allison Collins <allison.henderson@oracle.com>
>> Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
> 
> I think it's sufficient to have one signoff here.
Sorry, still cleaning those out

> 
>> ---
>>   mkfs/xfs_mkfs.c | 24 +++++++++++++++++++++++-
>>   1 file changed, 23 insertions(+), 1 deletion(-)
>>
>> diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c
>> index 8fe149d..e18fb3a 100644
>> --- a/mkfs/xfs_mkfs.c
>> +++ b/mkfs/xfs_mkfs.c
>> @@ -94,6 +94,7 @@ enum {
>>   	N_SIZE = 0,
>>   	N_VERSION,
>>   	N_FTYPE,
>> +	N_DELATTR,
>>   	N_MAX_OPTS,
>>   };
>>   
>> @@ -547,6 +548,7 @@ static struct opt_params nopts = {
>>   		[N_SIZE] = "size",
>>   		[N_VERSION] = "version",
>>   		[N_FTYPE] = "ftype",
>> +		[N_DELATTR] = "delattr",
>>   	},
>>   	.subopt_params = {
>>   		{ .index = N_SIZE,
>> @@ -569,6 +571,12 @@ static struct opt_params nopts = {
>>   		  .maxval = 1,
>>   		  .defaultval = 1,
>>   		},
>> +		{ .index = N_DELATTR,
>> +		  .conflicts = { { NULL, LAST_CONFLICT } },
>> +		  .minval = 0,
>> +		  .maxval = 1,
>> +		  .defaultval = 1,
>> +		},
>>   	},
>>   };
>>   
>> @@ -742,6 +750,7 @@ struct sb_feat_args {
>>   	bool	reflink;		/* XFS_SB_FEAT_RO_COMPAT_REFLINK */
>>   	bool	nodalign;
>>   	bool	nortalign;
>> +	bool	delattr;		/* XFS_SB_FEAT_INCOMPAT_LOG_DELATTR */
>>   };
>>   
>>   struct cli_params {
>> @@ -873,7 +882,7 @@ usage( void )
>>   /* log subvol */	[-l agnum=n,internal,size=num,logdev=xxx,version=n\n\
>>   			    sunit=value|su=num,sectsize=num,lazy-count=0|1]\n\
>>   /* label */		[-L label (maximum 12 characters)]\n\
>> -/* naming */		[-n size=num,version=2|ci,ftype=0|1]\n\
>> +/* naming */		[-n size=num,version=2|ci,ftype=0|1,delattr=0|1]\n\
>>   /* no-op info only */	[-N]\n\
>>   /* prototype file */	[-p fname]\n\
>>   /* quiet */		[-q]\n\
>> @@ -1592,6 +1601,9 @@ naming_opts_parser(
>>   	case N_FTYPE:
>>   		cli->sb_feat.dirftype = getnum(value, opts, subopt);
>>   		break;
>> +	case N_DELATTR:
>> +		cli->sb_feat.delattr = getnum(value, &nopts, N_DELATTR);
>> +		break;
>>   	default:
>>   		return -EINVAL;
>>   	}
>> @@ -1988,6 +2000,14 @@ _("reflink not supported without CRC support\n"));
>>   		cli->sb_feat.reflink = false;
>>   	}
>>   
>> +	if ((cli->sb_feat.delattr) &&
>> +	    cli->sb_feat.dir_version == 4) {
>> +		fprintf(stderr,
>> +_("delayed attributes not supported on v4 filesystems\n"));
> 
> I think this should move a few lines up to the big batch of code that
> turns off all the V5 features if crcs aren't enabled.
> 
> TBH this should silently turn off delattrs unless the admin explicitly
> enabled them, because one day this will be enabled by default.
Ok, I see it.  Will do.

> 
> --D
> 
>> +		usage();
>> +		cli->sb_feat.delattr = false;
>> +	}
>> +
>>   	if ((cli->fsx.fsx_xflags & FS_XFLAG_COWEXTSIZE) &&
>>   	    !cli->sb_feat.reflink) {
>>   		fprintf(stderr,
>> @@ -2953,6 +2973,8 @@ sb_set_features(
>>   		sbp->sb_features_ro_compat |= XFS_SB_FEAT_RO_COMPAT_RMAPBT;
>>   	if (fp->reflink)
>>   		sbp->sb_features_ro_compat |= XFS_SB_FEAT_RO_COMPAT_REFLINK;
>> +	if (fp->delattr)
>> +		sbp->sb_features_log_incompat |= XFS_SB_FEAT_INCOMPAT_LOG_DELATTR;
>>   
>>   	/*
>>   	 * Sparse inode chunk support has two main inode alignment requirements.
>> -- 
>> 2.7.4
>>

      reply	other threads:[~2020-11-13  3:55 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-23  6:32 [PATCH v13 00/14] xfsprogs: Delayed Attributes Allison Henderson
2020-10-23  6:32 ` [PATCH v13 01/14] xfs: store inode btree block counts in AGI header Allison Henderson
2020-10-23  6:32 ` [PATCH v13 02/14] xfs: enable new inode btree counters feature Allison Henderson
2020-10-23  6:32 ` [PATCH v13 03/14] xfsprogs: Add helper xfs_attr_node_remove_step Allison Henderson
2020-10-23  6:32 ` [PATCH v13 04/14] xfsprogs: Add delay ready attr remove routines Allison Henderson
2020-10-23  6:32 ` [PATCH v13 05/14] xfsprogs: Add delay ready attr set routines Allison Henderson
2020-10-23  6:32 ` [PATCH v13 06/14] xfsprogs: Rename __xfs_attr_rmtval_remove Allison Henderson
2020-10-23  6:32 ` [PATCH v13 07/14] xfsprogs: Set up infastructure for deferred attribute operations Allison Henderson
2020-10-23  6:33 ` [PATCH v13 08/14] xfsprogs: Add xfs_attr_set_deferred and xfs_attr_remove_deferred Allison Henderson
2020-10-23  6:33 ` [PATCH v13 09/14] xfsprogs: Add feature bit XFS_SB_FEAT_INCOMPAT_LOG_DELATTR Allison Henderson
2020-10-23  6:33 ` [PATCH v13 10/14] xfsprogs: Enable delayed attributes Allison Henderson
2020-10-23  6:33 ` [PATCH v13 11/14] xfsprogs: Remove unused xfs_attr_*_args Allison Henderson
2020-10-23  6:33 ` [PATCH v13 12/14] xfs_io: Add delayed attributes error tag Allison Henderson
2020-10-23  6:33 ` [PATCH v13 13/14] [RFC] xfsprogs: Add log item printing for ATTRI and ATTRD Allison Henderson
2020-11-10 23:52   ` Darrick J. Wong
2020-11-13  3:57     ` Allison Henderson
2020-10-23  6:33 ` [PATCH v13 14/14] xfsprogs: Add delayed attribute flag to cmd Allison Henderson
2020-11-10 23:48   ` Darrick J. Wong
2020-11-13  3:52     ` Allison Henderson [this message]

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=6c04237c-e8d1-5b53-329d-735a8407b555@oracle.com \
    --to=allison.henderson@oracle.com \
    --cc=darrick.wong@oracle.com \
    --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.