public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xfs: check if reserved free disk blocks is needed
@ 2020-04-05  9:17 xiakaixu1987
  2020-04-06 13:38 ` Brian Foster
  0 siblings, 1 reply; 3+ messages in thread
From: xiakaixu1987 @ 2020-04-05  9:17 UTC (permalink / raw)
  To: linux-xfs; +Cc: darrick.wong, Kaixu Xia

From: Kaixu Xia <kaixuxia@tencent.com>

We don't need to create the new quota inodes from disk when
they exist already, so add check if reserved free disk blocks
is needed in xfs_trans_alloc().

Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
---
 fs/xfs/xfs_qm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
index 6678baa..b684b04 100644
--- a/fs/xfs/xfs_qm.c
+++ b/fs/xfs/xfs_qm.c
@@ -780,7 +780,8 @@ struct xfs_qm_isolate {
 	}
 
 	error = xfs_trans_alloc(mp, &M_RES(mp)->tr_create,
-			XFS_QM_QINOCREATE_SPACE_RES(mp), 0, 0, &tp);
+			need_alloc ? XFS_QM_QINOCREATE_SPACE_RES(mp) : 0,
+			0, 0, &tp);
 	if (error)
 		return error;
 
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] xfs: check if reserved free disk blocks is needed
  2020-04-05  9:17 [PATCH] xfs: check if reserved free disk blocks is needed xiakaixu1987
@ 2020-04-06 13:38 ` Brian Foster
  2020-04-07  1:30   ` kaixuxia
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Foster @ 2020-04-06 13:38 UTC (permalink / raw)
  To: xiakaixu1987; +Cc: linux-xfs, darrick.wong, Kaixu Xia

On Sun, Apr 05, 2020 at 05:17:19PM +0800, xiakaixu1987@gmail.com wrote:
> From: Kaixu Xia <kaixuxia@tencent.com>
> 
> We don't need to create the new quota inodes from disk when
> they exist already, so add check if reserved free disk blocks
> is needed in xfs_trans_alloc().
> 

I find the commit log to be a bit misleading. We don't actually get into
this code if the inodes exist already. The need_alloc == false case
looks like it has more to do with the scenario with the project/group
inode is shared on older superblocks (explained in the comment near the
top of the alloc function).

That aside, the code looks fine to me, so with an improved commit log:

Reviewed-by: Brian Foster <bfoster@redhat.com>

> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
> ---
>  fs/xfs/xfs_qm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
> index 6678baa..b684b04 100644
> --- a/fs/xfs/xfs_qm.c
> +++ b/fs/xfs/xfs_qm.c
> @@ -780,7 +780,8 @@ struct xfs_qm_isolate {
>  	}
>  
>  	error = xfs_trans_alloc(mp, &M_RES(mp)->tr_create,
> -			XFS_QM_QINOCREATE_SPACE_RES(mp), 0, 0, &tp);
> +			need_alloc ? XFS_QM_QINOCREATE_SPACE_RES(mp) : 0,
> +			0, 0, &tp);
>  	if (error)
>  		return error;
>  
> -- 
> 1.8.3.1
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] xfs: check if reserved free disk blocks is needed
  2020-04-06 13:38 ` Brian Foster
@ 2020-04-07  1:30   ` kaixuxia
  0 siblings, 0 replies; 3+ messages in thread
From: kaixuxia @ 2020-04-07  1:30 UTC (permalink / raw)
  To: Brian Foster; +Cc: linux-xfs, darrick.wong, Kaixu Xia


On 2020/4/6 21:38, Brian Foster wrote:
> On Sun, Apr 05, 2020 at 05:17:19PM +0800, xiakaixu1987@gmail.com wrote:
>> From: Kaixu Xia <kaixuxia@tencent.com>
>>
>> We don't need to create the new quota inodes from disk when
>> they exist already, so add check if reserved free disk blocks
>> is needed in xfs_trans_alloc().
>>
> 
> I find the commit log to be a bit misleading. We don't actually get into
> this code if the inodes exist already. The need_alloc == false case
> looks like it has more to do with the scenario with the project/group
> inode is shared on older superblocks (explained in the comment near the
> top of the alloc function).
> 
> That aside, the code looks fine to me, so with an improved commit log:
> 
> Reviewed-by: Brian Foster <bfoster@redhat.com>
> 
Thanks for your comments, will send the new version with the improved
commit log and add your Reviewed-by.

>> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
>> ---
>>  fs/xfs/xfs_qm.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/xfs/xfs_qm.c b/fs/xfs/xfs_qm.c
>> index 6678baa..b684b04 100644
>> --- a/fs/xfs/xfs_qm.c
>> +++ b/fs/xfs/xfs_qm.c
>> @@ -780,7 +780,8 @@ struct xfs_qm_isolate {
>>  	}
>>  
>>  	error = xfs_trans_alloc(mp, &M_RES(mp)->tr_create,
>> -			XFS_QM_QINOCREATE_SPACE_RES(mp), 0, 0, &tp);
>> +			need_alloc ? XFS_QM_QINOCREATE_SPACE_RES(mp) : 0,
>> +			0, 0, &tp);
>>  	if (error)
>>  		return error;
>>  
>> -- 
>> 1.8.3.1
>>
> 

-- 
kaixuxia

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-04-07  1:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-05  9:17 [PATCH] xfs: check if reserved free disk blocks is needed xiakaixu1987
2020-04-06 13:38 ` Brian Foster
2020-04-07  1:30   ` kaixuxia

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox