linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
From: Chao Yu <yuchao0@huawei.com>
To: Damien Le Moal <damien.lemoal@wdc.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>,
	linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [PATCH 4/5] f2fs-tools: Allow using host-aware devices as regular devices
Date: Thu, 21 Mar 2019 16:32:09 +0800	[thread overview]
Message-ID: <a2201b9a-9fa0-a01f-d44f-03120f3d4d8f@huawei.com> (raw)
In-Reply-To: <20190318063959.21369-5-damien.lemoal@wdc.com>

On 2019/3/18 14:39, Damien Le Moal wrote:
> Host-aware zoned block devices can accept random writes anywhere and so
> do not require to be handled under F2FS_ZONED_HM mode. Allow host aware
> disks to be treated as regular devices if c.zoned_mode is false, that
> is, if the -m option is not specified in mkfs.f2fs.
> 
> Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
> ---
>  lib/libf2fs.c | 43 ++++++++++++++++++++++++++++++-------------
>  1 file changed, 30 insertions(+), 13 deletions(-)
> 
> diff --git a/lib/libf2fs.c b/lib/libf2fs.c
> index 5ca1bb0..214c921 100644
> --- a/lib/libf2fs.c
> +++ b/lib/libf2fs.c
> @@ -933,9 +933,21 @@ int get_device_info(int i)
>  	}
>  
>  	if (dev->zoned_model != F2FS_ZONED_NONE) {
> -		if (dev->zoned_model == F2FS_ZONED_HM)
> +		if (dev->zoned_model == F2FS_ZONED_HM) {
>  			c.zoned_model = F2FS_ZONED_HM;
> +		} else {
> +			/* F2FS_ZONED_HA */
> +			if (c.zoned_mode) {
> +				c.zoned_model = F2FS_ZONED_HM;

May I ask why we change the model from F2FS_ZONED_HA to F2FS_ZONED_HM?

Thanks,

> +			} else {
> +				MSG(0, "Info: treating host-aware zoned block "
> +				    "device as regular device\n");
> +				dev->zoned_model = F2FS_ZONED_NONE;
> +			}
> +		}
> +	}
>  
> +	if (c.zoned_model == F2FS_ZONED_HM) {
>  		if (f2fs_get_zone_blocks(i)) {
>  			MSG(0, "\tError: Failed to get number of blocks per zone\n");
>  			free(stat_buf);
> @@ -1071,6 +1083,7 @@ int get_device_info(int i)
>  
>  int f2fs_get_device_info(void)
>  {
> +	bool zoned = false;
>  	int i;
>  
>  	for (i = 0; i < c.ndevs; i++)
> @@ -1089,22 +1102,26 @@ int f2fs_get_device_info(void)
>  		return -1;
>  	}
>  
> +	/* For zoned devices, the zones sizes must be equal */
>  	for (i = 0; i < c.ndevs; i++) {
> -		if (c.devices[i].zoned_model != F2FS_ZONED_NONE) {
> -			if (c.zone_blocks &&
> -				c.zone_blocks != c.devices[i].zone_blocks) {
> -				MSG(0, "\tError: not support different zone sizes!!!\n");
> -				return -1;
> -			}
> -			c.zone_blocks = c.devices[i].zone_blocks;
> +		if (c.devices[i].zoned_model != F2FS_ZONED_HM)
> +			continue;
> +
> +		zoned = true;
> +
> +		if (c.zone_blocks &&
> +		    c.zone_blocks != c.devices[i].zone_blocks) {
> +			MSG(0, "\tError: zones of different size are not supported\n");
> +			return -1;
>  		}
> +		c.zone_blocks = c.devices[i].zone_blocks;
>  	}
>  
> -	/*
> -	 * Align sections to the device zone size
> -	 * and align F2FS zones to the device zones.
> -	 */
> -	if (c.zone_blocks) {
> +	if (zoned) {
> +		/*
> +		 * Align sections to the device zone size
> +		 * and align F2FS zones to the device zones.
> +		 */
>  		c.segs_per_sec = c.zone_blocks / DEFAULT_BLOCKS_PER_SEGMENT;
>  		c.secs_per_zone = 1;
>  	} else {
> 

  reply	other threads:[~2019-03-21  8:32 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-18  6:39 [PATCH 0/5] Zoned block device support improvments Damien Le Moal
2019-03-18  6:39 ` [PATCH 1/5] f2fs-tools: Fix various compilation warnings Damien Le Moal
2019-03-21  6:29   ` Chao Yu
2019-03-18  6:39 ` [PATCH 2/5] f2fs-tools: Add f2fs_io to .gitignore Damien Le Moal
2019-03-21  6:29   ` Chao Yu
2019-03-18  6:39 ` [PATCH 3/5] f2fs-tools: Improve zoned model check Damien Le Moal
2019-03-21  6:32   ` Chao Yu
2019-03-26 18:24   ` Jaegeuk Kim
2019-03-26 22:58     ` Damien Le Moal
2019-03-18  6:39 ` [PATCH 4/5] f2fs-tools: Allow using host-aware devices as regular devices Damien Le Moal
2019-03-21  8:32   ` Chao Yu [this message]
2019-03-21  9:29     ` Damien Le Moal
2019-03-21 12:27       ` Chao Yu
2019-03-18  6:39 ` [PATCH 5/5] f2fs-tools: Fix multi-device format with zoned devices Damien Le Moal
2019-03-21  8:41   ` Chao Yu
2019-03-21  9:30     ` Damien Le Moal

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=a2201b9a-9fa0-a01f-d44f-03120f3d4d8f@huawei.com \
    --to=yuchao0@huawei.com \
    --cc=damien.lemoal@wdc.com \
    --cc=jaegeuk@kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    /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).