All of lore.kernel.org
 help / color / mirror / Atom feed
From: Allison Henderson <allison.henderson@oracle.com>
To: Chandan Babu R <chandanrlinux@gmail.com>
Cc: linux-xfs@vger.kernel.org
Subject: Re: [PATCH v22 03/16] xfs: refactor xfs_iget calls from log intent recovery
Date: Fri, 30 Jul 2021 02:17:36 -0700	[thread overview]
Message-ID: <fcb8fef9-cb8a-1f51-590b-9ffa9a20b090@oracle.com> (raw)
In-Reply-To: <87y29qvekr.fsf@garuda>



On 7/28/21 4:54 AM, Chandan Babu R wrote:
> On 27 Jul 2021 at 11:50, Allison Henderson wrote:
>> Hoist the code from xfs_bui_item_recover that igets an inode and marks
>> it as being part of log intent recovery.  The next patch will want a
>> common function.
> 
> A straight forward hoist.
> 
> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com>
Great, thank you!
Allison

> 
>>
>> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
>> Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
>> Signed-off-by: Allison Henderson <allison.henderson@oracle.com>
>> ---
>>   fs/xfs/libxfs/xfs_log_recover.h |  2 ++
>>   fs/xfs/xfs_bmap_item.c          | 11 +----------
>>   fs/xfs/xfs_log_recover.c        | 26 ++++++++++++++++++++++++++
>>   3 files changed, 29 insertions(+), 10 deletions(-)
>>
>> diff --git a/fs/xfs/libxfs/xfs_log_recover.h b/fs/xfs/libxfs/xfs_log_recover.h
>> index 3cca2bf..ff69a00 100644
>> --- a/fs/xfs/libxfs/xfs_log_recover.h
>> +++ b/fs/xfs/libxfs/xfs_log_recover.h
>> @@ -122,6 +122,8 @@ void xlog_buf_readahead(struct xlog *log, xfs_daddr_t blkno, uint len,
>>   		const struct xfs_buf_ops *ops);
>>   bool xlog_is_buffer_cancelled(struct xlog *log, xfs_daddr_t blkno, uint len);
>>   
>> +int xlog_recover_iget(struct xfs_mount *mp, xfs_ino_t ino,
>> +		struct xfs_inode **ipp);
>>   void xlog_recover_release_intent(struct xlog *log, unsigned short intent_type,
>>   		uint64_t intent_id);
>>   
>> diff --git a/fs/xfs/xfs_bmap_item.c b/fs/xfs/xfs_bmap_item.c
>> index e3a6919..e587a00 100644
>> --- a/fs/xfs/xfs_bmap_item.c
>> +++ b/fs/xfs/xfs_bmap_item.c
>> @@ -24,7 +24,6 @@
>>   #include "xfs_error.h"
>>   #include "xfs_log_priv.h"
>>   #include "xfs_log_recover.h"
>> -#include "xfs_quota.h"
>>   
>>   kmem_zone_t	*xfs_bui_zone;
>>   kmem_zone_t	*xfs_bud_zone;
>> @@ -487,18 +486,10 @@ xfs_bui_item_recover(
>>   			XFS_ATTR_FORK : XFS_DATA_FORK;
>>   	bui_type = bmap->me_flags & XFS_BMAP_EXTENT_TYPE_MASK;
>>   
>> -	/* Grab the inode. */
>> -	error = xfs_iget(mp, NULL, bmap->me_owner, 0, 0, &ip);
>> +	error = xlog_recover_iget(mp, bmap->me_owner, &ip);
>>   	if (error)
>>   		return error;
>>   
>> -	error = xfs_qm_dqattach(ip);
>> -	if (error)
>> -		goto err_rele;
>> -
>> -	if (VFS_I(ip)->i_nlink == 0)
>> -		xfs_iflags_set(ip, XFS_IRECOVERY);
>> -
>>   	/* Allocate transaction and do the work. */
>>   	error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate,
>>   			XFS_EXTENTADD_SPACE_RES(mp, XFS_DATA_FORK), 0, 0, &tp);
>> diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
>> index ec4ccae..12118d5 100644
>> --- a/fs/xfs/xfs_log_recover.c
>> +++ b/fs/xfs/xfs_log_recover.c
>> @@ -26,6 +26,8 @@
>>   #include "xfs_error.h"
>>   #include "xfs_buf_item.h"
>>   #include "xfs_ag.h"
>> +#include "xfs_quota.h"
>> +
>>   
>>   #define BLK_AVG(blk1, blk2)	((blk1+blk2) >> 1)
>>   
>> @@ -1756,6 +1758,30 @@ xlog_recover_release_intent(
>>   	spin_unlock(&ailp->ail_lock);
>>   }
>>   
>> +int
>> +xlog_recover_iget(
>> +	struct xfs_mount	*mp,
>> +	xfs_ino_t		ino,
>> +	struct xfs_inode	**ipp)
>> +{
>> +	int			error;
>> +
>> +	error = xfs_iget(mp, NULL, ino, 0, 0, ipp);
>> +	if (error)
>> +		return error;
>> +
>> +	error = xfs_qm_dqattach(*ipp);
>> +	if (error) {
>> +		xfs_irele(*ipp);
>> +		return error;
>> +	}
>> +
>> +	if (VFS_I(*ipp)->i_nlink == 0)
>> +		xfs_iflags_set(*ipp, XFS_IRECOVERY);
>> +
>> +	return 0;
>> +}
>> +
>>   /******************************************************************************
>>    *
>>    *		Log recover routines
> 
> 

  reply	other threads:[~2021-07-30  9:17 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-27  6:20 [PATCH v22 00/16] Delayed Attributes Allison Henderson
2021-07-27  6:20 ` [PATCH v22 01/16] xfs: allow setting and clearing of log incompat feature flags Allison Henderson
2021-07-27 12:24   ` Chandan Babu R
2021-07-28  9:01     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 02/16] xfs: clear log incompat feature bits when the log is idle Allison Henderson
2021-07-27 12:46   ` Chandan Babu R
2021-07-28  9:02     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 03/16] xfs: refactor xfs_iget calls from log intent recovery Allison Henderson
2021-07-28 11:54   ` Chandan Babu R
2021-07-30  9:17     ` Allison Henderson [this message]
2021-07-27  6:20 ` [PATCH v22 04/16] xfs: Return from xfs_attr_set_iter if there are no more rmtblks to process Allison Henderson
2021-07-27 23:30   ` Darrick J. Wong
2021-07-28  9:01     ` Allison Henderson
2021-07-28 12:18   ` Chandan Babu R
2021-07-30  9:17     ` Allison Henderson
2021-08-09 17:24   ` Darrick J. Wong
2021-07-27  6:20 ` [PATCH v22 05/16] xfs: Add state machine tracepoints Allison Henderson
2021-07-28 13:42   ` Chandan Babu R
2021-07-30  9:17     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 06/16] xfs: Rename __xfs_attr_rmtval_remove Allison Henderson
2021-07-29  7:56   ` Chandan Babu R
2021-07-30  9:17     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 07/16] xfs: Handle krealloc errors in xlog_recover_add_to_cont_trans Allison Henderson
2021-07-29  8:27   ` Chandan Babu R
2021-07-30  9:17     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 08/16] xfs: Set up infrastructure for deferred attribute operations Allison Henderson
2021-07-28  0:56   ` Darrick J. Wong
2021-07-28  9:04     ` Allison Henderson
2021-07-30  4:46   ` Chandan Babu R
2021-07-30  9:17     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 09/16] xfs: Implement attr logging and replay Allison Henderson
2021-07-27  9:38   ` Chandan Babu R
2021-07-28  9:01     ` Allison Henderson
2021-07-28  0:39   ` Darrick J. Wong
2021-07-28  9:05     ` Allison Henderson
2021-07-30 12:21   ` Chandan Babu R
2021-08-02  8:33     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 10/16] RFC xfs: Skip flip flags for delayed attrs Allison Henderson
2021-07-28 19:18   ` Darrick J. Wong
2021-07-31  5:11     ` Allison Henderson
2021-08-02  7:47       ` Allison Henderson
2021-07-30 14:40   ` Chandan Babu R
2021-08-02  8:33     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 11/16] xfs: Add xfs_attr_set_deferred and xfs_attr_remove_deferred Allison Henderson
2021-07-28 19:24   ` Darrick J. Wong
2021-08-02  8:18     ` Allison Henderson
2021-07-30 14:58   ` Chandan Babu R
2021-08-02  8:33     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 12/16] xfs: Remove unused xfs_attr_*_args Allison Henderson
2021-07-28 19:31   ` Darrick J. Wong
2021-08-02  8:11     ` Allison Henderson
2021-08-02  3:26   ` Chandan Babu R
2021-08-02  8:33     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 13/16] xfs: Add delayed attributes error tag Allison Henderson
2021-08-02  3:27   ` Chandan Babu R
2021-08-02  8:33     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 14/16] xfs: Add delattr mount option Allison Henderson
2021-07-28  0:47   ` Darrick J. Wong
2021-07-28  2:13     ` Dave Chinner
2021-07-28  9:05       ` Allison Henderson
2021-07-28  9:02     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 15/16] xfs: Merge xfs_delattr_context into xfs_attr_item Allison Henderson
2021-08-02  3:27   ` Chandan Babu R
2021-08-02  8:33     ` Allison Henderson
2021-07-27  6:20 ` [PATCH v22 16/16] xfs: Add helper function xfs_attr_leaf_addname Allison Henderson
2021-07-28 19:52   ` Darrick J. Wong
2021-08-02  8:18     ` Allison Henderson

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=fcb8fef9-cb8a-1f51-590b-9ffa9a20b090@oracle.com \
    --to=allison.henderson@oracle.com \
    --cc=chandanrlinux@gmail.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.