linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Allison Collins <allison.henderson@oracle.com>
To: Brian Foster <bfoster@redhat.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v8 12/20] xfs: Removed unneeded xfs_trans_roll_inode calls
Date: Tue, 7 Apr 2020 14:53:13 -0700	[thread overview]
Message-ID: <416ff860-7c41-3e4c-3630-4610688f6da1@oracle.com> (raw)
In-Reply-To: <20200407141723.GC28936@bfoster>



On 4/7/20 7:17 AM, Brian Foster wrote:
> On Fri, Apr 03, 2020 at 03:12:21PM -0700, Allison Collins wrote:
>> Some calls to xfs_trans_roll_inode in the *_addname routines are not
>> needed. If they are the last operations executed in these functions, and
>> no further changes are made, then higher level routines will roll or
>> commit the tranactions. The xfs_trans_roll in _removename is also not
>> needed because invalidating blocks is not an incore change.
>>
>> Signed-off-by: Allison Collins <allison.henderson@oracle.com>
>> ---
>>   fs/xfs/libxfs/xfs_attr.c | 30 ------------------------------
>>   1 file changed, 30 deletions(-)
>>
>> diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c
>> index 27a9bb5..4225a94 100644
>> --- a/fs/xfs/libxfs/xfs_attr.c
>> +++ b/fs/xfs/libxfs/xfs_attr.c
>> @@ -700,11 +700,6 @@ xfs_attr_leaf_addname(
>>   				return error;
>>   		}
>>   
>> -		/*
>> -		 * Commit the remove and start the next trans in series.
>> -		 */
>> -		error = xfs_trans_roll_inode(&args->trans, dp);
>> -
> 
> Ok, so it looks like the only caller immediately rolls again.
> 
>>   	} else if (args->rmtblkno > 0) {
>>   		/*
>>   		 * Added a "remote" value, just clear the incomplete flag.
>> @@ -712,12 +707,6 @@ xfs_attr_leaf_addname(
>>   		error = xfs_attr3_leaf_clearflag(args);
>>   		if (error)
>>   			return error;
>> -
>> -		/*
>> -		 * Commit the flag value change and start the next trans in
>> -		 * series.
>> -		 */
>> -		error = xfs_trans_roll_inode(&args->trans, args->dp);
>>   	}
> 
> Same logic applies here. Makes sense.
> 
>>   	return error;
>>   }
>> @@ -1069,13 +1058,6 @@ xfs_attr_node_addname(
>>   				goto out;
>>   		}
>>   
>> -		/*
>> -		 * Commit and start the next trans in the chain.
>> -		 */
>> -		error = xfs_trans_roll_inode(&args->trans, dp);
>> -		if (error)
>> -			goto out;
>> -
> 
>  From here, we log the inode and commit, so that seems safe.
> 
> BTW, doesn't that mean the defer_finish() just above (after the
> da3_join()) is unnecessary as well?
Hmm, I think you're right.  Will clean out here too.

> 
>>   	} else if (args->rmtblkno > 0) {
>>   		/*
>>   		 * Added a "remote" value, just clear the incomplete flag.
>> @@ -1083,14 +1065,6 @@ xfs_attr_node_addname(
>>   		error = xfs_attr3_leaf_clearflag(args);
>>   		if (error)
>>   			goto out;
>> -
>> -		 /*
>> -		  * Commit the flag value change and start the next trans in
>> -		  * series.
>> -		  */
>> -		error = xfs_trans_roll_inode(&args->trans, args->dp);
>> -		if (error)
>> -			goto out;
>>   	}
>>   	retval = error = 0;
>>   
>> @@ -1189,10 +1163,6 @@ xfs_attr_node_removename(
>>   		if (error)
>>   			goto out;
>>   
>> -		error = xfs_trans_roll_inode(&args->trans, args->dp);
>> -		if (error)
>> -			goto out;
>> -
> 
> Hmm, not sure I follow this one. Don't we want to commit the incomplete
> flag before proceeding? Or are we just saying it can be combined with
> the first bunmap since that's going to roll anyways..?
> 
> BTW, the commit log refers to the invalidation as "not incore," which I
> think is opposite. :P xfs_attr_rmtval_invalidate() is incore-only in the
> sense that it doesn't seem to use the transaction. Is that what you
> mean?
Yes, sorry, the commit should say in-core only.  We pulled this one out 
in v5 for that reason.  It used to belong to the later "Add delay ready 
attr remove routines" patch in v6 and v7. Then when we decided to clean 
out these extra transaction rolls, because it simplifies the top level 
transaction rolling.  So I decided to do the removename clean out in 
this patch because it seemed appropriate.  In any case, will amend the 
commit message.  Discussion thread just for brain refresh:

https://lore.kernel.org/linux-xfs/27f6d1f2-8d7e-c759-31e1-6c4ac8c7ccad@oracle.com/

Thanks for the reviews!  Will update!

Allison


> 
> Brian
> 
>>   		error = xfs_attr_rmtval_remove(args);
>>   		if (error)
>>   			goto out;
>> -- 
>> 2.7.4
>>
> 

  reply	other threads:[~2020-04-07 21:53 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-03 22:12 [PATCH v8 00/20] xfs: Delay Ready Attributes Allison Collins
2020-04-03 22:12 ` [PATCH v8 01/20] xfs: Add xfs_has_attr and subroutines Allison Collins
2020-04-06 14:31   ` Brian Foster
2020-04-06 22:09     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 02/20] xfs: Check for -ENOATTR or -EEXIST Allison Collins
2020-04-06 14:31   ` Brian Foster
2020-04-06 23:14     ` Allison Collins
2020-04-15  6:43   ` Chandan Rajendra
2020-04-03 22:12 ` [PATCH v8 03/20] xfs: Factor out new helper functions xfs_attr_rmtval_set Allison Collins
2020-04-03 22:12 ` [PATCH v8 04/20] xfs: Pull up trans handling in xfs_attr3_leaf_flipflags Allison Collins
2020-04-03 22:12 ` [PATCH v8 05/20] xfs: Split apart xfs_attr_leaf_addname Allison Collins
2020-04-03 22:12 ` [PATCH v8 06/20] xfs: Refactor xfs_attr_try_sf_addname Allison Collins
2020-04-03 22:12 ` [PATCH v8 07/20] xfs: Pull up trans roll from xfs_attr3_leaf_setflag Allison Collins
2020-04-03 22:12 ` [PATCH v8 08/20] xfs: Factor out xfs_attr_rmtval_invalidate Allison Collins
2020-04-03 22:12 ` [PATCH v8 09/20] xfs: Pull up trans roll in xfs_attr3_leaf_clearflag Allison Collins
2020-04-03 22:12 ` [PATCH v8 10/20] xfs: Add helper function __xfs_attr_rmtval_remove Allison Collins
2020-04-07 14:16   ` Brian Foster
2020-04-07 22:19     ` Allison Collins
2020-04-29 23:05   ` Darrick J. Wong
2020-04-29 23:09     ` Darrick J. Wong
2020-04-03 22:12 ` [PATCH v8 11/20] xfs: Add helper function xfs_attr_node_shrink Allison Collins
2020-04-07 14:17   ` Brian Foster
2020-04-07 21:52     ` Allison Collins
2020-04-15 10:16   ` Chandan Rajendra
2020-04-15 22:13     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 12/20] xfs: Removed unneeded xfs_trans_roll_inode calls Allison Collins
2020-04-07 14:17   ` Brian Foster
2020-04-07 21:53     ` Allison Collins [this message]
2020-04-03 22:12 ` [PATCH v8 13/20] xfs: Add helpers xfs_attr_is_shortform and xfs_attr_set_shortform Allison Collins
2020-04-07 15:23   ` Brian Foster
2020-04-07 21:53     ` Allison Collins
2020-04-10 16:55       ` Allison Collins
2020-04-11 12:57         ` Brian Foster
2020-04-20  5:30   ` Chandan Rajendra
2020-04-20 22:45     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 14/20] xfs: Add helper function xfs_attr_leaf_mark_incomplete Allison Collins
2020-04-07 15:23   ` Brian Foster
2020-04-07 21:53     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 15/20] xfs: Add remote block helper functions Allison Collins
2020-04-08 12:09   ` Brian Foster
2020-04-08 16:32     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 16/20] xfs: Add helper function xfs_attr_node_removename_setup Allison Collins
2020-04-08 12:09   ` Brian Foster
2020-04-08 16:32     ` Allison Collins
2020-04-20  6:25   ` Chandan Rajendra
2020-04-20 22:46     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 17/20] xfs: Add helper function xfs_attr_node_removename_rmt Allison Collins
2020-04-08 12:10   ` Brian Foster
2020-04-08 16:32     ` Allison Collins
2020-04-20  6:38   ` Chandan Rajendra
2020-04-20 22:46     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 18/20] xfs: Add delay ready attr remove routines Allison Collins
2020-04-13 12:30   ` Brian Foster
2020-04-14 21:35     ` Allison Collins
2020-04-15 11:46       ` Brian Foster
2020-04-16  3:17         ` Allison Collins
2020-04-16 10:58           ` Brian Foster
2020-04-16 22:41             ` Allison Collins
2020-04-20  9:06   ` Chandan Rajendra
2020-04-20 23:26     ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 19/20] xfs: Add delay ready attr set routines Allison Collins
2020-04-13 13:40   ` Brian Foster
2020-04-15 22:08     ` Allison Collins
2020-04-16 11:01       ` Brian Foster
2020-04-16 22:54         ` Allison Collins
2020-04-17 10:36           ` Brian Foster
2020-04-20 11:45   ` Chandan Rajendra
2020-04-20 16:20     ` Brian Foster
2020-04-20 23:26       ` Allison Collins
2020-04-03 22:12 ` [PATCH v8 20/20] xfs: Rename __xfs_attr_rmtval_remove Allison Collins

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=416ff860-7c41-3e4c-3630-4610688f6da1@oracle.com \
    --to=allison.henderson@oracle.com \
    --cc=bfoster@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).