All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
@ 2021-06-28 18:36 Johannes Thumshirn
  2021-06-28 20:20 ` David Sterba
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Johannes Thumshirn @ 2021-06-28 18:36 UTC (permalink / raw)
  To: David Sterba; +Cc: Johannes Thumshirn, linux-btrfs, Naohiro Aota, Anand Jain

Remove fs_info->max_zone_append_size, it doesn't serve any purpose.

Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>

---
Changes to v1:
- also remove the local max_zone_append_size variable in
  btrfs_check_zoned_mode() (Anand)
---
 fs/btrfs/ctree.h     |  2 --
 fs/btrfs/extent_io.c |  1 -
 fs/btrfs/zoned.c     | 10 ----------
 3 files changed, 13 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index d7ef4d7d2c1a..7a9cf4d12157 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -1014,8 +1014,6 @@ struct btrfs_fs_info {
 		u64 zoned;
 	};
 
-	/* Max size to emit ZONE_APPEND write command */
-	u64 max_zone_append_size;
 	struct mutex zoned_meta_io_lock;
 	spinlock_t treelog_bg_lock;
 	u64 treelog_bg;
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 9e81d25dea70..1f947e24091a 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -3266,7 +3266,6 @@ static int calc_bio_boundaries(struct btrfs_bio_ctrl *bio_ctrl,
 		return 0;
 	}
 
-	ASSERT(fs_info->max_zone_append_size > 0);
 	/* Ordered extent not yet created, so we're good */
 	ordered = btrfs_lookup_ordered_extent(inode, logical);
 	if (!ordered) {
diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c
index 297c0b1c0634..76754e441e20 100644
--- a/fs/btrfs/zoned.c
+++ b/fs/btrfs/zoned.c
@@ -529,7 +529,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
 	u64 zoned_devices = 0;
 	u64 nr_devices = 0;
 	u64 zone_size = 0;
-	u64 max_zone_append_size = 0;
 	const bool incompat_zoned = btrfs_fs_incompat(fs_info, ZONED);
 	int ret = 0;
 
@@ -565,11 +564,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
 				ret = -EINVAL;
 				goto out;
 			}
-			if (!max_zone_append_size ||
-			    (zone_info->max_zone_append_size &&
-			     zone_info->max_zone_append_size < max_zone_append_size))
-				max_zone_append_size =
-					zone_info->max_zone_append_size;
 		}
 		nr_devices++;
 	}
@@ -619,7 +613,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
 	}
 
 	fs_info->zone_size = zone_size;
-	fs_info->max_zone_append_size = max_zone_append_size;
 	fs_info->fs_devices->chunk_alloc_policy = BTRFS_CHUNK_ALLOC_ZONED;
 
 	/*
@@ -1318,9 +1311,6 @@ bool btrfs_use_zone_append(struct btrfs_inode *inode, u64 start)
 	if (!btrfs_is_zoned(fs_info))
 		return false;
 
-	if (!fs_info->max_zone_append_size)
-		return false;
-
 	if (!is_data_inode(&inode->vfs_inode))
 		return false;
 
-- 
2.31.1


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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-06-28 18:36 [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size Johannes Thumshirn
@ 2021-06-28 20:20 ` David Sterba
  2021-06-29  9:14   ` Johannes Thumshirn
  2021-06-29  9:18 ` Anand Jain
  2021-06-30 18:48 ` David Sterba
  2 siblings, 1 reply; 9+ messages in thread
From: David Sterba @ 2021-06-28 20:20 UTC (permalink / raw)
  To: Johannes Thumshirn; +Cc: David Sterba, linux-btrfs, Naohiro Aota, Anand Jain

On Tue, Jun 29, 2021 at 03:36:45AM +0900, Johannes Thumshirn wrote:
> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.

Why was it added then? Commit 862931c76327 ("btrfs: introduce
max_zone_append_size") states some reasons so you should explain why
it's not needed now. It's a partial revert of the commit.

> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> 
> ---
> Changes to v1:
> - also remove the local max_zone_append_size variable in
>   btrfs_check_zoned_mode() (Anand)
> ---
>  fs/btrfs/ctree.h     |  2 --
>  fs/btrfs/extent_io.c |  1 -
>  fs/btrfs/zoned.c     | 10 ----------
>  3 files changed, 13 deletions(-)
> 
> diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
> index d7ef4d7d2c1a..7a9cf4d12157 100644
> --- a/fs/btrfs/ctree.h
> +++ b/fs/btrfs/ctree.h
> @@ -1014,8 +1014,6 @@ struct btrfs_fs_info {
>  		u64 zoned;
>  	};
>  
> -	/* Max size to emit ZONE_APPEND write command */
> -	u64 max_zone_append_size;
>  	struct mutex zoned_meta_io_lock;
>  	spinlock_t treelog_bg_lock;
>  	u64 treelog_bg;
> diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
> index 9e81d25dea70..1f947e24091a 100644
> --- a/fs/btrfs/extent_io.c
> +++ b/fs/btrfs/extent_io.c
> @@ -3266,7 +3266,6 @@ static int calc_bio_boundaries(struct btrfs_bio_ctrl *bio_ctrl,
>  		return 0;
>  	}
>  
> -	ASSERT(fs_info->max_zone_append_size > 0);
>  	/* Ordered extent not yet created, so we're good */
>  	ordered = btrfs_lookup_ordered_extent(inode, logical);
>  	if (!ordered) {
> diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c
> index 297c0b1c0634..76754e441e20 100644
> --- a/fs/btrfs/zoned.c
> +++ b/fs/btrfs/zoned.c
> @@ -529,7 +529,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
>  	u64 zoned_devices = 0;
>  	u64 nr_devices = 0;
>  	u64 zone_size = 0;
> -	u64 max_zone_append_size = 0;
>  	const bool incompat_zoned = btrfs_fs_incompat(fs_info, ZONED);
>  	int ret = 0;
>  
> @@ -565,11 +564,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
>  				ret = -EINVAL;
>  				goto out;
>  			}
> -			if (!max_zone_append_size ||
> -			    (zone_info->max_zone_append_size &&
> -			     zone_info->max_zone_append_size < max_zone_append_size))
> -				max_zone_append_size =
> -					zone_info->max_zone_append_size;
>  		}
>  		nr_devices++;
>  	}
> @@ -619,7 +613,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
>  	}
>  
>  	fs_info->zone_size = zone_size;
> -	fs_info->max_zone_append_size = max_zone_append_size;
>  	fs_info->fs_devices->chunk_alloc_policy = BTRFS_CHUNK_ALLOC_ZONED;
>  
>  	/*
> @@ -1318,9 +1311,6 @@ bool btrfs_use_zone_append(struct btrfs_inode *inode, u64 start)
>  	if (!btrfs_is_zoned(fs_info))
>  		return false;
>  
> -	if (!fs_info->max_zone_append_size)
> -		return false;
> -
>  	if (!is_data_inode(&inode->vfs_inode))
>  		return false;
>  
> -- 
> 2.31.1

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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-06-28 20:20 ` David Sterba
@ 2021-06-29  9:14   ` Johannes Thumshirn
  0 siblings, 0 replies; 9+ messages in thread
From: Johannes Thumshirn @ 2021-06-29  9:14 UTC (permalink / raw)
  To: dsterba; +Cc: linux-btrfs, Naohiro Aota, Anand Jain

On 28/06/2021 22:22, David Sterba wrote:
> On Tue, Jun 29, 2021 at 03:36:45AM +0900, Johannes Thumshirn wrote:
>> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.
> Why was it added then? Commit 862931c76327 ("btrfs: introduce
> max_zone_append_size") states some reasons so you should explain why
> it's not needed now. It's a partial revert of the commit.
> 

There used to be a patch in the original series for zoned support which
limited the extent size to max_zone_append_size, but this patch has been
dropped from the series somewhere around v9 IIRC.

We've decided to go the opposite round, instead of limiting extents in the
first place we split them before submission to comply with the device's
limits.

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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-06-28 18:36 [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size Johannes Thumshirn
  2021-06-28 20:20 ` David Sterba
@ 2021-06-29  9:18 ` Anand Jain
  2021-06-30 18:48 ` David Sterba
  2 siblings, 0 replies; 9+ messages in thread
From: Anand Jain @ 2021-06-29  9:18 UTC (permalink / raw)
  To: Johannes Thumshirn; +Cc: linux-btrfs, Naohiro Aota, David Sterba



On 29/06/2021 02:36, Johannes Thumshirn wrote:
> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>


  I hope the reason to remove max_zone_append_size shall go into the 
commit log.
  With that,

  Reviewed-by: Anand Jain <anand.jain@oracle.com>

Thanks, Anand


> 
> ---
> Changes to v1:
> - also remove the local max_zone_append_size variable in
>    btrfs_check_zoned_mode() (Anand)
> ---
>   fs/btrfs/ctree.h     |  2 --
>   fs/btrfs/extent_io.c |  1 -
>   fs/btrfs/zoned.c     | 10 ----------
>   3 files changed, 13 deletions(-)
> 
> diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
> index d7ef4d7d2c1a..7a9cf4d12157 100644
> --- a/fs/btrfs/ctree.h
> +++ b/fs/btrfs/ctree.h
> @@ -1014,8 +1014,6 @@ struct btrfs_fs_info {
>   		u64 zoned;
>   	};
>   
> -	/* Max size to emit ZONE_APPEND write command */
> -	u64 max_zone_append_size;
>   	struct mutex zoned_meta_io_lock;
>   	spinlock_t treelog_bg_lock;
>   	u64 treelog_bg;
> diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
> index 9e81d25dea70..1f947e24091a 100644
> --- a/fs/btrfs/extent_io.c
> +++ b/fs/btrfs/extent_io.c
> @@ -3266,7 +3266,6 @@ static int calc_bio_boundaries(struct btrfs_bio_ctrl *bio_ctrl,
>   		return 0;
>   	}
>   
> -	ASSERT(fs_info->max_zone_append_size > 0);
>   	/* Ordered extent not yet created, so we're good */
>   	ordered = btrfs_lookup_ordered_extent(inode, logical);
>   	if (!ordered) {
> diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c
> index 297c0b1c0634..76754e441e20 100644
> --- a/fs/btrfs/zoned.c
> +++ b/fs/btrfs/zoned.c
> @@ -529,7 +529,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
>   	u64 zoned_devices = 0;
>   	u64 nr_devices = 0;
>   	u64 zone_size = 0;
> -	u64 max_zone_append_size = 0;
>   	const bool incompat_zoned = btrfs_fs_incompat(fs_info, ZONED);
>   	int ret = 0;
>   
> @@ -565,11 +564,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
>   				ret = -EINVAL;
>   				goto out;
>   			}
> -			if (!max_zone_append_size ||
> -			    (zone_info->max_zone_append_size &&
> -			     zone_info->max_zone_append_size < max_zone_append_size))
> -				max_zone_append_size =
> -					zone_info->max_zone_append_size;
>   		}
>   		nr_devices++;
>   	}
> @@ -619,7 +613,6 @@ int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info)
>   	}
>   
>   	fs_info->zone_size = zone_size;
> -	fs_info->max_zone_append_size = max_zone_append_size;
>   	fs_info->fs_devices->chunk_alloc_policy = BTRFS_CHUNK_ALLOC_ZONED;
>   
>   	/*
> @@ -1318,9 +1311,6 @@ bool btrfs_use_zone_append(struct btrfs_inode *inode, u64 start)
>   	if (!btrfs_is_zoned(fs_info))
>   		return false;
>   
> -	if (!fs_info->max_zone_append_size)
> -		return false;
> -
>   	if (!is_data_inode(&inode->vfs_inode))
>   		return false;
>   
> 

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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-06-28 18:36 [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size Johannes Thumshirn
  2021-06-28 20:20 ` David Sterba
  2021-06-29  9:18 ` Anand Jain
@ 2021-06-30 18:48 ` David Sterba
  2021-07-01  8:02   ` Johannes Thumshirn
  2 siblings, 1 reply; 9+ messages in thread
From: David Sterba @ 2021-06-30 18:48 UTC (permalink / raw)
  To: Johannes Thumshirn; +Cc: David Sterba, linux-btrfs, Naohiro Aota, Anand Jain

On Tue, Jun 29, 2021 at 03:36:45AM +0900, Johannes Thumshirn wrote:
> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.
> 
> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> 
> ---
> Changes to v1:
> - also remove the local max_zone_append_size variable in
>   btrfs_check_zoned_mode() (Anand)

And what about btrfs_zoned_device_info::max_zone_append_size, should it
also be removed? In case you don't have plans with it I'll remove it, no
need to resend, it's just a few more lines but want to know if it's
accidental or intentional.

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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-06-30 18:48 ` David Sterba
@ 2021-07-01  8:02   ` Johannes Thumshirn
  2021-07-01 10:06     ` Damien Le Moal
  0 siblings, 1 reply; 9+ messages in thread
From: Johannes Thumshirn @ 2021-07-01  8:02 UTC (permalink / raw)
  To: dsterba; +Cc: linux-btrfs, Naohiro Aota, Anand Jain

On 30/06/2021 20:51, David Sterba wrote:
> On Tue, Jun 29, 2021 at 03:36:45AM +0900, Johannes Thumshirn wrote:
>> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.
>>
>> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
>>
>> ---
>> Changes to v1:
>> - also remove the local max_zone_append_size variable in
>>   btrfs_check_zoned_mode() (Anand)
> 
> And what about btrfs_zoned_device_info::max_zone_append_size, should it
> also be removed? In case you don't have plans with it I'll remove it, no
> need to resend, it's just a few more lines but want to know if it's
> accidental or intentional.
> 

I /think/ this one can stay until we work on multi-device/RAID support.
We could though also remove it and bring it back in case we need it again.

@Naohiro what's your take on that?

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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-07-01  8:02   ` Johannes Thumshirn
@ 2021-07-01 10:06     ` Damien Le Moal
  2021-07-01 10:21       ` David Sterba
  2021-07-01 10:30       ` Johannes Thumshirn
  0 siblings, 2 replies; 9+ messages in thread
From: Damien Le Moal @ 2021-07-01 10:06 UTC (permalink / raw)
  To: Johannes Thumshirn, dsterba; +Cc: linux-btrfs, Naohiro Aota, Anand Jain

On 2021/07/01 17:02, Johannes Thumshirn wrote:
> On 30/06/2021 20:51, David Sterba wrote:
>> On Tue, Jun 29, 2021 at 03:36:45AM +0900, Johannes Thumshirn wrote:
>>> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.
>>>
>>> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
>>>
>>> ---
>>> Changes to v1:
>>> - also remove the local max_zone_append_size variable in
>>>   btrfs_check_zoned_mode() (Anand)
>>
>> And what about btrfs_zoned_device_info::max_zone_append_size, should it
>> also be removed? In case you don't have plans with it I'll remove it, no
>> need to resend, it's just a few more lines but want to know if it's
>> accidental or intentional.
>>
> 
> I /think/ this one can stay until we work on multi-device/RAID support.

We are nowhere near close to this for now, so I am all for removing it.

> We could though also remove it and bring it back in case we need it again.
> 
> @Naohiro what's your take on that?
> 


-- 
Damien Le Moal
Western Digital Research

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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-07-01 10:06     ` Damien Le Moal
@ 2021-07-01 10:21       ` David Sterba
  2021-07-01 10:30       ` Johannes Thumshirn
  1 sibling, 0 replies; 9+ messages in thread
From: David Sterba @ 2021-07-01 10:21 UTC (permalink / raw)
  To: Damien Le Moal
  Cc: Johannes Thumshirn, dsterba, linux-btrfs, Naohiro Aota, Anand Jain

On Thu, Jul 01, 2021 at 10:06:22AM +0000, Damien Le Moal wrote:
> On 2021/07/01 17:02, Johannes Thumshirn wrote:
> > On 30/06/2021 20:51, David Sterba wrote:
> >> On Tue, Jun 29, 2021 at 03:36:45AM +0900, Johannes Thumshirn wrote:
> >>> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.
> >>>
> >>> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> >>>
> >>> ---
> >>> Changes to v1:
> >>> - also remove the local max_zone_append_size variable in
> >>>   btrfs_check_zoned_mode() (Anand)
> >>
> >> And what about btrfs_zoned_device_info::max_zone_append_size, should it
> >> also be removed? In case you don't have plans with it I'll remove it, no
> >> need to resend, it's just a few more lines but want to know if it's
> >> accidental or intentional.
> >>
> > 
> > I /think/ this one can stay until we work on multi-device/RAID support.
> 
> We are nowhere near close to this for now, so I am all for removing it.

Ok then, I'll update the patch.

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

* Re: [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size
  2021-07-01 10:06     ` Damien Le Moal
  2021-07-01 10:21       ` David Sterba
@ 2021-07-01 10:30       ` Johannes Thumshirn
  1 sibling, 0 replies; 9+ messages in thread
From: Johannes Thumshirn @ 2021-07-01 10:30 UTC (permalink / raw)
  To: Damien Le Moal, dsterba; +Cc: linux-btrfs, Naohiro Aota, Anand Jain

On 01/07/2021 12:06, Damien Le Moal wrote:
> On 2021/07/01 17:02, Johannes Thumshirn wrote:
>> On 30/06/2021 20:51, David Sterba wrote:
>>> On Tue, Jun 29, 2021 at 03:36:45AM +0900, Johannes Thumshirn wrote:
>>>> Remove fs_info->max_zone_append_size, it doesn't serve any purpose.
>>>>
>>>> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
>>>>
>>>> ---
>>>> Changes to v1:
>>>> - also remove the local max_zone_append_size variable in
>>>>   btrfs_check_zoned_mode() (Anand)
>>>
>>> And what about btrfs_zoned_device_info::max_zone_append_size, should it
>>> also be removed? In case you don't have plans with it I'll remove it, no
>>> need to resend, it's just a few more lines but want to know if it's
>>> accidental or intentional.
>>>
>>
>> I /think/ this one can stay until we work on multi-device/RAID support.
> 
> We are nowhere near close to this for now, so I am all for removing it.

OK then let's get rid of it all. The block layer knows the limits when
we're constructing a bio.

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

end of thread, other threads:[~2021-07-01 10:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-28 18:36 [PATCH v2] btrfs: zoned: remove fs_info->max_zone_append_size Johannes Thumshirn
2021-06-28 20:20 ` David Sterba
2021-06-29  9:14   ` Johannes Thumshirn
2021-06-29  9:18 ` Anand Jain
2021-06-30 18:48 ` David Sterba
2021-07-01  8:02   ` Johannes Thumshirn
2021-07-01 10:06     ` Damien Le Moal
2021-07-01 10:21       ` David Sterba
2021-07-01 10:30       ` Johannes Thumshirn

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.