On Thu, Nov 26, 2020 at 05:50:36PM +0100, Jan Kara wrote:
> > +   if (size == capacity ||
> > +       (disk->flags & (GENHD_FL_UP | GENHD_FL_HIDDEN)) != GENHD_FL_UP)
> > +           return false;
> > +   pr_info("%s: detected capacity change from %lld to %lld\n",
> > +           disk->disk_name, size, capacity);
> > +   kobject_uevent_env(&disk_to_dev(disk)->kobj, KOBJ_CHANGE, envp);
> 
> I think we don't want to generate resize event for changes from / to 0...

Didn't you ask for that in the last round?

> Also the return value of this function is now different.

It returns true if it did send an uevent, which is what the callers rely
on.

> > diff --git a/drivers/target/target_core_pscsi.c 
> > b/drivers/target/target_core_pscsi.c
> > index 4e37fa9b409d52..a70c33c49f0960 100644
> > --- a/drivers/target/target_core_pscsi.c
> > +++ b/drivers/target/target_core_pscsi.c
> > @@ -1027,12 +1027,7 @@ static u32 pscsi_get_device_type(struct se_device 
> > *dev)
> >  
> >  static sector_t pscsi_get_blocks(struct se_device *dev)
> >  {
> > -   struct pscsi_dev_virt *pdv = PSCSI_DEV(dev);
> > -
> > -   if (pdv->pdv_bd && pdv->pdv_bd->bd_part)
> > -           return pdv->pdv_bd->bd_part->nr_sects;
> > -
> > -   return 0;
> > +   return bdev_nr_sectors(PSCSI_DEV(dev)->pdv_bd);
> 
> I pdv_bd guaranteed to be non-NULL in pscsi_dev_virt?

Looking at the code - only for disk devices.  And while ->get_blocks
should only be called for those I'd rather err on the safe side and will
add the check back.

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to