From: David Sterba <dsterba@suse.cz>
To: Naohiro Aota <naohiro.aota@wdc.com>
Cc: linux-btrfs@vger.kernel.org, dsterba@suse.com, hare@suse.com,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 2/3] btrfs: zoned: add missing type conversion
Date: Fri, 26 Feb 2021 20:18:58 +0100 [thread overview]
Message-ID: <20210226191858.GS7604@twin.jikos.cz> (raw)
In-Reply-To: <e6519c3681550015fbeeb0565f707d72705a39f1.1614331998.git.naohiro.aota@wdc.com>
On Fri, Feb 26, 2021 at 06:34:37PM +0900, Naohiro Aota wrote:
> We need to cast zone_sectors from u32 to u64 when setting the zone_size, or
> it set the zone size = 0 when the size >= 4G.
>
> Fixes: 5b316468983d ("btrfs: get zone information of zoned block devices")
> Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
> ---
> fs/btrfs/zoned.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c
> index 40cb99854844..4de82da39c10 100644
> --- a/fs/btrfs/zoned.c
> +++ b/fs/btrfs/zoned.c
> @@ -312,7 +312,7 @@ int btrfs_get_dev_zone_info(struct btrfs_device *device)
> nr_sectors = bdev_nr_sectors(bdev);
> /* Check if it's power of 2 (see is_power_of_2) */
> ASSERT(zone_sectors != 0 && (zone_sectors & (zone_sectors - 1)) == 0);
> - zone_info->zone_size = zone_sectors << SECTOR_SHIFT;
> + zone_info->zone_size = (u64)zone_sectors << SECTOR_SHIFT;
That should be fixed by changing type to sector_t, it's already so in
other functions (btrfs_reset_sb_log_zones, emulate_report_zones).
In btrfs_get_dev_zone_info thers's already a type mismatch near line
300:
zone_sectors = bdev_zone_sectors(bdev);
linux/blkdev.h:
static inline sector_t bdev_zone_sectors(struct block_device *bdev)
> zone_info->zone_size_shift = ilog2(zone_info->zone_size);
> zone_info->max_zone_append_size =
> (u64)queue_max_zone_append_sectors(queue) << SECTOR_SHIFT;
> --
> 2.30.1
next prev parent reply other threads:[~2021-02-26 19:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-26 9:34 [PATCH 0/3] Fixes for zoned mode Naohiro Aota
2021-02-26 9:34 ` [PATCH 1/3] btrfs: zoned: move superblock logging zone location Naohiro Aota
2021-02-26 19:11 ` David Sterba
2021-03-01 4:55 ` Naohiro Aota
2021-03-01 5:17 ` Damien Le Moal
2021-03-01 13:25 ` David Sterba
2021-02-26 9:34 ` [PATCH 2/3] btrfs: zoned: add missing type conversion Naohiro Aota
2021-02-26 19:18 ` David Sterba [this message]
2021-03-01 4:57 ` Naohiro Aota
2021-02-26 9:34 ` [PATCH 3/3] btrfs: zoned: do not account freed region of read-only block group as zone_unusable Naohiro Aota
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=20210226191858.GS7604@twin.jikos.cz \
--to=dsterba@suse.cz \
--cc=dsterba@suse.com \
--cc=hare@suse.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=naohiro.aota@wdc.com \
/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).