[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Nbd] [PATCH 5/6] block: dasd_genhd: convert to blkdev_reread_part



On Mon, Apr 06, 2015 at 09:46:55AM -0400, Jarod Wilson wrote:
> On Sun, Apr 05, 2015 at 03:24:47PM +0800, Ming Lei wrote:
> > Also remove the obsolete comment.
> > 
> > Signed-off-by: Ming Lei <ming.lei@...1301...>
> > ---
> >  drivers/s390/block/dasd_genhd.c |    9 +++------
> >  1 file changed, 3 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c
> > index 90f39f7..2af4619 100644
> > --- a/drivers/s390/block/dasd_genhd.c
> > +++ b/drivers/s390/block/dasd_genhd.c
> > @@ -116,14 +116,11 @@ int dasd_scan_partitions(struct dasd_block *block)
> >  			      rc);
> >  		return -ENODEV;
> >  	}
> > -	/*
> > -	 * See fs/partition/check.c:register_disk,rescan_partitions
> > -	 * Can't call rescan_partitions directly. Use ioctl.
> > -	 */
> > -	rc = ioctl_by_bdev(bdev, BLKRRPART, 0);
> > +
> > +	rc = blkdev_reread_part(bdev);
> >  	while (rc == -EBUSY && retry > 0) {
> >  		schedule();
> > -		rc = ioctl_by_bdev(bdev, BLKRRPART, 0);
> > +		rc = blkdev_reread_part(bdev);
> >  		retry--;
> >  		DBF_DEV_EVENT(DBF_ERR, block->base,
> >  			      "scan partitions error, retry %d rc %d",
> 
> Note: patch 6/6 in the series makes this whole while() loops pointless,
> since the possibility of the -EBUSY return goes away.

Minor clarification: the -EBUSY due to the trylock, which is why that
retry loop exists, goes away. You *could* still get an -EBUSY through
blkdev_reread_part()->rescan_partitions()->drop_partitions() if
bdev->bd_part_count is non-zero.

-- 
Jarod Wilson
jarod@...696...




Reply to: