Message ID | 20240128-zonefs_nofs-v3-2-ae3b7c8def61@wdc.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Mike Snitzer |
Headers | show |
Series | block: remove gfp_mask for blkdev_zone_mgmt() | expand |
On 1/29/24 16:52, Johannes Thumshirn wrote: > Guard the calls to blkdev_zone_mgmt() with a memalloc_noio scope. > This helps us getting rid of the GFP_NOIO argument to blkdev_zone_mgmt(); > > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> > --- > drivers/md/dm-zoned-metadata.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c > index fdfe30f7b697..165996cc966c 100644 > --- a/drivers/md/dm-zoned-metadata.c > +++ b/drivers/md/dm-zoned-metadata.c > @@ -1655,10 +1655,13 @@ static int dmz_reset_zone(struct dmz_metadata *zmd, struct dm_zone *zone) > > if (!dmz_is_empty(zone) || dmz_seq_write_err(zone)) { > struct dmz_dev *dev = zone->dev; > + unsigned int noio_flag; > > + noio_flag = memalloc_noio_save(); > ret = blkdev_zone_mgmt(dev->bdev, REQ_OP_ZONE_RESET, > dmz_start_sect(zmd, zone), > - zmd->zone_nr_sectors, GFP_NOIO); > + zmd->zone_nr_sectors, GFP_KERNEL); > + memalloc_noio_restore(noio_flag); > if (ret) { > dmz_dev_err(dev, "Reset zone %u failed %d", > zone->id, ret); >
On Mon, Jan 29 2024 at 2:52P -0500, Johannes Thumshirn <johannes.thumshirn@wdc.com> wrote: > Guard the calls to blkdev_zone_mgmt() with a memalloc_noio scope. > This helps us getting rid of the GFP_NOIO argument to blkdev_zone_mgmt(); > > Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Mike Snitzer <snitzer@kernel.org>
diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c index fdfe30f7b697..165996cc966c 100644 --- a/drivers/md/dm-zoned-metadata.c +++ b/drivers/md/dm-zoned-metadata.c @@ -1655,10 +1655,13 @@ static int dmz_reset_zone(struct dmz_metadata *zmd, struct dm_zone *zone) if (!dmz_is_empty(zone) || dmz_seq_write_err(zone)) { struct dmz_dev *dev = zone->dev; + unsigned int noio_flag; + noio_flag = memalloc_noio_save(); ret = blkdev_zone_mgmt(dev->bdev, REQ_OP_ZONE_RESET, dmz_start_sect(zmd, zone), - zmd->zone_nr_sectors, GFP_NOIO); + zmd->zone_nr_sectors, GFP_KERNEL); + memalloc_noio_restore(noio_flag); if (ret) { dmz_dev_err(dev, "Reset zone %u failed %d", zone->id, ret);
Guard the calls to blkdev_zone_mgmt() with a memalloc_noio scope. This helps us getting rid of the GFP_NOIO argument to blkdev_zone_mgmt(); Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> --- drivers/md/dm-zoned-metadata.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)