Message ID | 20240123-zonefs_nofs-v1-5-cc0b0308ef25@wdc.com (mailing list archive) |
---|---|
State | Superseded, archived |
Delegated to: | Mike Snitzer |
Headers | show |
Series | block: remove gfp_mask for blkdev_zone_mgmt() | expand |
Hi Johannes,
kernel test robot noticed the following build errors:
[auto build test ERROR on 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf]
url: https://github.com/intel-lab-lkp/linux/commits/Johannes-Thumshirn/zonefs-pass-GFP_KERNEL-to-blkdev_zone_mgmt-call/20240123-174911
base: 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf
patch link: https://lore.kernel.org/r/20240123-zonefs_nofs-v1-5-cc0b0308ef25%40wdc.com
patch subject: [PATCH 5/5] block: remove gfp_flags from blkdev_zone_mgmt
config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20240127/202401270524.3SWUUYR8-lkp@intel.com/config)
compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project a31a60074717fc40887cfe132b77eec93bedd307)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240127/202401270524.3SWUUYR8-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401270524.3SWUUYR8-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/md/dm-zoned-metadata.c:8:
In file included from drivers/md/dm-zoned.h:12:
In file included from include/linux/blkdev.h:9:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
547 | val = __raw_readb(PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
560 | val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu'
37 | #define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
| ^
In file included from drivers/md/dm-zoned-metadata.c:8:
In file included from drivers/md/dm-zoned.h:12:
In file included from include/linux/blkdev.h:9:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
573 | val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr));
| ~~~~~~~~~~ ^
include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu'
35 | #define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
| ^
In file included from drivers/md/dm-zoned-metadata.c:8:
In file included from drivers/md/dm-zoned.h:12:
In file included from include/linux/blkdev.h:9:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:12:
In file included from include/linux/hardirq.h:11:
In file included from ./arch/hexagon/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:17:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/hexagon/include/asm/io.h:328:
include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
584 | __raw_writeb(value, PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
594 | __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
604 | __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr);
| ~~~~~~~~~~ ^
>> drivers/md/dm-zoned-metadata.c:1661:34: error: too many arguments to function call, expected 4, have 5
1659 | ret = blkdev_zone_mgmt(dev->bdev, REQ_OP_ZONE_RESET,
| ~~~~~~~~~~~~~~~~
1660 | dmz_start_sect(zmd, zone),
1661 | zmd->zone_nr_sectors, GFP_KERNEL);
| ^~~~~~~~~~
include/linux/gfp_types.h:327:20: note: expanded from macro 'GFP_KERNEL'
327 | #define GFP_KERNEL (__GFP_RECLAIM | __GFP_IO | __GFP_FS)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/blkdev.h:327:5: note: 'blkdev_zone_mgmt' declared here
327 | int blkdev_zone_mgmt(struct block_device *bdev, enum req_op op,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
328 | sector_t sectors, sector_t nr_sectors);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 warnings and 1 error generated.
vim +1661 drivers/md/dm-zoned-metadata.c
3b1a94c88b798d Damien Le Moal 2017-06-07 1639
3b1a94c88b798d Damien Le Moal 2017-06-07 1640 /*
3b1a94c88b798d Damien Le Moal 2017-06-07 1641 * Reset a zone write pointer.
3b1a94c88b798d Damien Le Moal 2017-06-07 1642 */
3b1a94c88b798d Damien Le Moal 2017-06-07 1643 static int dmz_reset_zone(struct dmz_metadata *zmd, struct dm_zone *zone)
3b1a94c88b798d Damien Le Moal 2017-06-07 1644 {
3b1a94c88b798d Damien Le Moal 2017-06-07 1645 int ret;
3b1a94c88b798d Damien Le Moal 2017-06-07 1646
3b1a94c88b798d Damien Le Moal 2017-06-07 1647 /*
3b1a94c88b798d Damien Le Moal 2017-06-07 1648 * Ignore offline zones, read only zones,
3b1a94c88b798d Damien Le Moal 2017-06-07 1649 * and conventional zones.
3b1a94c88b798d Damien Le Moal 2017-06-07 1650 */
3b1a94c88b798d Damien Le Moal 2017-06-07 1651 if (dmz_is_offline(zone) ||
3b1a94c88b798d Damien Le Moal 2017-06-07 1652 dmz_is_readonly(zone) ||
3b1a94c88b798d Damien Le Moal 2017-06-07 1653 dmz_is_rnd(zone))
3b1a94c88b798d Damien Le Moal 2017-06-07 1654 return 0;
3b1a94c88b798d Damien Le Moal 2017-06-07 1655
3b1a94c88b798d Damien Le Moal 2017-06-07 1656 if (!dmz_is_empty(zone) || dmz_seq_write_err(zone)) {
8f22272af7a727 Hannes Reinecke 2020-06-02 1657 struct dmz_dev *dev = zone->dev;
3b1a94c88b798d Damien Le Moal 2017-06-07 1658
6c1b1da58f8c7a Ajay Joshi 2019-10-27 1659 ret = blkdev_zone_mgmt(dev->bdev, REQ_OP_ZONE_RESET,
3b1a94c88b798d Damien Le Moal 2017-06-07 1660 dmz_start_sect(zmd, zone),
c4d4977392621f Johannes Thumshirn 2024-01-23 @1661 zmd->zone_nr_sectors, GFP_KERNEL);
3b1a94c88b798d Damien Le Moal 2017-06-07 1662 if (ret) {
3b1a94c88b798d Damien Le Moal 2017-06-07 1663 dmz_dev_err(dev, "Reset zone %u failed %d",
b71228739851a9 Hannes Reinecke 2020-05-11 1664 zone->id, ret);
3b1a94c88b798d Damien Le Moal 2017-06-07 1665 return ret;
3b1a94c88b798d Damien Le Moal 2017-06-07 1666 }
3b1a94c88b798d Damien Le Moal 2017-06-07 1667 }
3b1a94c88b798d Damien Le Moal 2017-06-07 1668
3b1a94c88b798d Damien Le Moal 2017-06-07 1669 /* Clear write error bit and rewind write pointer position */
3b1a94c88b798d Damien Le Moal 2017-06-07 1670 clear_bit(DMZ_SEQ_WRITE_ERR, &zone->flags);
3b1a94c88b798d Damien Le Moal 2017-06-07 1671 zone->wp_block = 0;
3b1a94c88b798d Damien Le Moal 2017-06-07 1672
3b1a94c88b798d Damien Le Moal 2017-06-07 1673 return 0;
3b1a94c88b798d Damien Le Moal 2017-06-07 1674 }
3b1a94c88b798d Damien Le Moal 2017-06-07 1675
Hi Johannes,
kernel test robot noticed the following build errors:
[auto build test ERROR on 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf]
url: https://github.com/intel-lab-lkp/linux/commits/Johannes-Thumshirn/zonefs-pass-GFP_KERNEL-to-blkdev_zone_mgmt-call/20240123-174911
base: 7ed2632ec7d72e926b9e8bcc9ad1bb0cd37274bf
patch link: https://lore.kernel.org/r/20240123-zonefs_nofs-v1-5-cc0b0308ef25%40wdc.com
patch subject: [PATCH 5/5] block: remove gfp_flags from blkdev_zone_mgmt
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20240127/202401271724.LJfDQ6VB-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240127/202401271724.LJfDQ6VB-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401271724.LJfDQ6VB-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/md/dm-zoned-metadata.c: In function 'dmz_reset_zone':
>> drivers/md/dm-zoned-metadata.c:1659:23: error: too many arguments to function 'blkdev_zone_mgmt'
1659 | ret = blkdev_zone_mgmt(dev->bdev, REQ_OP_ZONE_RESET,
| ^~~~~~~~~~~~~~~~
In file included from drivers/md/dm-zoned.h:12,
from drivers/md/dm-zoned-metadata.c:8:
include/linux/blkdev.h:327:5: note: declared here
327 | int blkdev_zone_mgmt(struct block_device *bdev, enum req_op op,
| ^~~~~~~~~~~~~~~~
vim +/blkdev_zone_mgmt +1659 drivers/md/dm-zoned-metadata.c
3b1a94c88b798d Damien Le Moal 2017-06-07 1639
3b1a94c88b798d Damien Le Moal 2017-06-07 1640 /*
3b1a94c88b798d Damien Le Moal 2017-06-07 1641 * Reset a zone write pointer.
3b1a94c88b798d Damien Le Moal 2017-06-07 1642 */
3b1a94c88b798d Damien Le Moal 2017-06-07 1643 static int dmz_reset_zone(struct dmz_metadata *zmd, struct dm_zone *zone)
3b1a94c88b798d Damien Le Moal 2017-06-07 1644 {
3b1a94c88b798d Damien Le Moal 2017-06-07 1645 int ret;
3b1a94c88b798d Damien Le Moal 2017-06-07 1646
3b1a94c88b798d Damien Le Moal 2017-06-07 1647 /*
3b1a94c88b798d Damien Le Moal 2017-06-07 1648 * Ignore offline zones, read only zones,
3b1a94c88b798d Damien Le Moal 2017-06-07 1649 * and conventional zones.
3b1a94c88b798d Damien Le Moal 2017-06-07 1650 */
3b1a94c88b798d Damien Le Moal 2017-06-07 1651 if (dmz_is_offline(zone) ||
3b1a94c88b798d Damien Le Moal 2017-06-07 1652 dmz_is_readonly(zone) ||
3b1a94c88b798d Damien Le Moal 2017-06-07 1653 dmz_is_rnd(zone))
3b1a94c88b798d Damien Le Moal 2017-06-07 1654 return 0;
3b1a94c88b798d Damien Le Moal 2017-06-07 1655
3b1a94c88b798d Damien Le Moal 2017-06-07 1656 if (!dmz_is_empty(zone) || dmz_seq_write_err(zone)) {
8f22272af7a727 Hannes Reinecke 2020-06-02 1657 struct dmz_dev *dev = zone->dev;
3b1a94c88b798d Damien Le Moal 2017-06-07 1658
6c1b1da58f8c7a Ajay Joshi 2019-10-27 @1659 ret = blkdev_zone_mgmt(dev->bdev, REQ_OP_ZONE_RESET,
3b1a94c88b798d Damien Le Moal 2017-06-07 1660 dmz_start_sect(zmd, zone),
c4d4977392621f Johannes Thumshirn 2024-01-23 1661 zmd->zone_nr_sectors, GFP_KERNEL);
3b1a94c88b798d Damien Le Moal 2017-06-07 1662 if (ret) {
3b1a94c88b798d Damien Le Moal 2017-06-07 1663 dmz_dev_err(dev, "Reset zone %u failed %d",
b71228739851a9 Hannes Reinecke 2020-05-11 1664 zone->id, ret);
3b1a94c88b798d Damien Le Moal 2017-06-07 1665 return ret;
3b1a94c88b798d Damien Le Moal 2017-06-07 1666 }
3b1a94c88b798d Damien Le Moal 2017-06-07 1667 }
3b1a94c88b798d Damien Le Moal 2017-06-07 1668
3b1a94c88b798d Damien Le Moal 2017-06-07 1669 /* Clear write error bit and rewind write pointer position */
3b1a94c88b798d Damien Le Moal 2017-06-07 1670 clear_bit(DMZ_SEQ_WRITE_ERR, &zone->flags);
3b1a94c88b798d Damien Le Moal 2017-06-07 1671 zone->wp_block = 0;
3b1a94c88b798d Damien Le Moal 2017-06-07 1672
3b1a94c88b798d Damien Le Moal 2017-06-07 1673 return 0;
3b1a94c88b798d Damien Le Moal 2017-06-07 1674 }
3b1a94c88b798d Damien Le Moal 2017-06-07 1675
diff --git a/block/blk-zoned.c b/block/blk-zoned.c index d343e5756a9c..d4f4f8325eff 100644 --- a/block/blk-zoned.c +++ b/block/blk-zoned.c @@ -177,8 +177,7 @@ static int blk_zone_need_reset_cb(struct blk_zone *zone, unsigned int idx, } } -static int blkdev_zone_reset_all_emulated(struct block_device *bdev, - gfp_t gfp_mask) +static int blkdev_zone_reset_all_emulated(struct block_device *bdev) { struct gendisk *disk = bdev->bd_disk; sector_t capacity = bdev_nr_sectors(bdev); @@ -205,7 +204,7 @@ static int blkdev_zone_reset_all_emulated(struct block_device *bdev, } bio = blk_next_bio(bio, bdev, 0, REQ_OP_ZONE_RESET | REQ_SYNC, - gfp_mask); + GFP_KERNEL); bio->bi_iter.bi_sector = sector; sector += zone_sectors; @@ -223,7 +222,7 @@ static int blkdev_zone_reset_all_emulated(struct block_device *bdev, return ret; } -static int blkdev_zone_reset_all(struct block_device *bdev, gfp_t gfp_mask) +static int blkdev_zone_reset_all(struct block_device *bdev) { struct bio bio; @@ -238,7 +237,6 @@ static int blkdev_zone_reset_all(struct block_device *bdev, gfp_t gfp_mask) * @sector: Start sector of the first zone to operate on * @nr_sectors: Number of sectors, should be at least the length of one zone and * must be zone size aligned. - * @gfp_mask: Memory allocation flags (for bio_alloc) * * Description: * Perform the specified operation on the range of zones specified by @@ -248,7 +246,7 @@ static int blkdev_zone_reset_all(struct block_device *bdev, gfp_t gfp_mask) * or finish request. */ int blkdev_zone_mgmt(struct block_device *bdev, enum req_op op, - sector_t sector, sector_t nr_sectors, gfp_t gfp_mask) + sector_t sector, sector_t nr_sectors) { struct request_queue *q = bdev_get_queue(bdev); sector_t zone_sectors = bdev_zone_sectors(bdev); @@ -285,12 +283,12 @@ int blkdev_zone_mgmt(struct block_device *bdev, enum req_op op, */ if (op == REQ_OP_ZONE_RESET && sector == 0 && nr_sectors == capacity) { if (!blk_queue_zone_resetall(q)) - return blkdev_zone_reset_all_emulated(bdev, gfp_mask); - return blkdev_zone_reset_all(bdev, gfp_mask); + return blkdev_zone_reset_all_emulated(bdev); + return blkdev_zone_reset_all(bdev); } while (sector < end_sector) { - bio = blk_next_bio(bio, bdev, 0, op | REQ_SYNC, gfp_mask); + bio = blk_next_bio(bio, bdev, 0, op | REQ_SYNC, GFP_KERNEL); bio->bi_iter.bi_sector = sector; sector += zone_sectors; @@ -419,8 +417,7 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, blk_mode_t mode, return -ENOTTY; } - ret = blkdev_zone_mgmt(bdev, op, zrange.sector, zrange.nr_sectors, - GFP_KERNEL); + ret = blkdev_zone_mgmt(bdev, op, zrange.sector, zrange.nr_sectors); fail: if (cmd == BLKRESETZONE) diff --git a/drivers/nvme/target/zns.c b/drivers/nvme/target/zns.c index 5b5c1e481722..3148d9f1bde6 100644 --- a/drivers/nvme/target/zns.c +++ b/drivers/nvme/target/zns.c @@ -456,8 +456,7 @@ static u16 nvmet_bdev_execute_zmgmt_send_all(struct nvmet_req *req) switch (zsa_req_op(req->cmd->zms.zsa)) { case REQ_OP_ZONE_RESET: ret = blkdev_zone_mgmt(req->ns->bdev, REQ_OP_ZONE_RESET, 0, - get_capacity(req->ns->bdev->bd_disk), - GFP_KERNEL); + get_capacity(req->ns->bdev->bd_disk)); if (ret < 0) return blkdev_zone_mgmt_errno_to_nvme_status(ret); break; @@ -508,7 +507,7 @@ static void nvmet_bdev_zmgmt_send_work(struct work_struct *w) goto out; } - ret = blkdev_zone_mgmt(bdev, op, sect, zone_sectors, GFP_KERNEL); + ret = blkdev_zone_mgmt(bdev, op, sect, zone_sectors); if (ret < 0) status = blkdev_zone_mgmt_errno_to_nvme_status(ret); diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c index 05640d61e435..cf2e779d8ef4 100644 --- a/fs/btrfs/zoned.c +++ b/fs/btrfs/zoned.c @@ -830,8 +830,7 @@ static int sb_log_location(struct block_device *bdev, struct blk_zone *zones, nofs_flags = memalloc_nofs_save(); ret = blkdev_zone_mgmt(bdev, REQ_OP_ZONE_RESET, - reset->start, reset->len, - GFP_KERNEL); + reset->start, reset->len); memalloc_nofs_restore(nofs_flags); if (ret) return ret; @@ -984,7 +983,7 @@ int btrfs_advance_sb_log(struct btrfs_device *device, int mirror) nofs_flags = memalloc_nofs_save(); ret = blkdev_zone_mgmt(device->bdev, REQ_OP_ZONE_FINISH, zone->start, - zone->len, GFP_KERNEL); + zone->len); memalloc_nofs_restore(nofs_flags); if (ret) return ret; @@ -1023,8 +1022,7 @@ int btrfs_reset_sb_log_zones(struct block_device *bdev, int mirror) nofs_flags = memalloc_nofs_save(); ret = blkdev_zone_mgmt(bdev, REQ_OP_ZONE_RESET, zone_start_sector(sb_zone, bdev), - zone_sectors * BTRFS_NR_SB_LOG_ZONES, - GFP_KERNEL); + zone_sectors * BTRFS_NR_SB_LOG_ZONES); memalloc_nofs_restore(nofs_flags); return ret; } @@ -1143,8 +1141,7 @@ int btrfs_reset_device_zone(struct btrfs_device *device, u64 physical, *bytes = 0; nofs_flags = memalloc_nofs_save(); ret = blkdev_zone_mgmt(device->bdev, REQ_OP_ZONE_RESET, - physical >> SECTOR_SHIFT, length >> SECTOR_SHIFT, - GFP_KERNEL); + physical >> SECTOR_SHIFT, length >> SECTOR_SHIFT); memalloc_nofs_restore(nofs_flags); if (ret) return ret; @@ -2258,8 +2255,7 @@ static int do_zone_finish(struct btrfs_block_group *block_group, bool fully_writ nofs_flags = memalloc_nofs_save(); ret = blkdev_zone_mgmt(device->bdev, REQ_OP_ZONE_FINISH, physical >> SECTOR_SHIFT, - zinfo->zone_size >> SECTOR_SHIFT, - GFP_KERNEL); + zinfo->zone_size >> SECTOR_SHIFT); memalloc_nofs_restore(nofs_flags); if (ret) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 0094fe491364..e1065ba70207 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1977,7 +1977,7 @@ static int __f2fs_issue_discard_zone(struct f2fs_sb_info *sbi, trace_f2fs_issue_reset_zone(bdev, blkstart); nofs_flags = memalloc_nofs_save(); ret = blkdev_zone_mgmt(bdev, REQ_OP_ZONE_RESET, - sector, nr_sects, GFP_KERNEL); + sector, nr_sects); memalloc_nofs_restore(nofs_flags); return ret; } @@ -4921,7 +4921,7 @@ static int check_zone_write_pointer(struct f2fs_sb_info *sbi, nofs_flags = memalloc_nofs_save(); ret = blkdev_zone_mgmt(fdev->bdev, REQ_OP_ZONE_FINISH, - zone->start, zone->len, GFP_KERNEL); + zone->start, zone->len); memalloc_nofs_restore(nofs_flags); if (ret == -EOPNOTSUPP) { ret = blkdev_issue_zeroout(fdev->bdev, zone->wp, diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c index 63fbac018c04..cadb1364f951 100644 --- a/fs/zonefs/super.c +++ b/fs/zonefs/super.c @@ -113,7 +113,7 @@ static int zonefs_zone_mgmt(struct super_block *sb, trace_zonefs_zone_mgmt(sb, z, op); ret = blkdev_zone_mgmt(sb->s_bdev, op, z->z_sector, - z->z_size >> SECTOR_SHIFT, GFP_KERNEL); + z->z_size >> SECTOR_SHIFT); if (ret) { zonefs_err(sb, "Zone management operation %s at %llu failed %d\n", diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 99e4f5e72213..8467c1910404 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -325,7 +325,7 @@ void disk_set_zoned(struct gendisk *disk); int blkdev_report_zones(struct block_device *bdev, sector_t sector, unsigned int nr_zones, report_zones_cb cb, void *data); int blkdev_zone_mgmt(struct block_device *bdev, enum req_op op, - sector_t sectors, sector_t nr_sectors, gfp_t gfp_mask); + sector_t sectors, sector_t nr_sectors); int blk_revalidate_disk_zones(struct gendisk *disk, void (*update_driver_data)(struct gendisk *disk));
Now that all callers pass in GFP_KERNEL to blkdev_zone_mgmt() and use memalloc_no{io,fs}_{save,restore}() to define the allocation scope, we can drop the gfp_mask parameter from blkdev_zone_mgmt() as well as blkdev_zone_reset_all() and blkdev_zone_reset_all_emulated(). Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> --- block/blk-zoned.c | 19 ++++++++----------- drivers/nvme/target/zns.c | 5 ++--- fs/btrfs/zoned.c | 14 +++++--------- fs/f2fs/segment.c | 4 ++-- fs/zonefs/super.c | 2 +- include/linux/blkdev.h | 2 +- 6 files changed, 19 insertions(+), 27 deletions(-)