On Wed, Apr 08, 2015 at 05:03:25PM +0200, Peter Zijlstra wrote: > On Wed, Apr 08, 2015 at 10:50:56PM +0800, Ming Lei wrote: > > > +/* > > > + * This is an exported API for the block driver, and will not > > > + * acquire bd_mutex, leaving it up to the caller to handle > > > + * any necessary locking. > > > > Actually, the function is introduced and should be used in case > > that bd_mutex has been held already, such as clearing fd in > > loop release(). > > > > > + */ > > > +int __blkdev_reread_part(struct block_device *bdev) > > > { > > > struct gendisk *disk = bdev->bd_disk; > > > > > lockdep_assert_held(&bdev->bd_mutex); > > is an excellent means of avoiding that comment and verifying its > actually true :-) Ah, yes, that was actually suggested by Christoph as well, I was too hasty shoving something back out the door on multiple counts. > > > + */ > > > +int blkdev_reread_part(struct block_device *bdev) > > > +{ > > > + int res; > > > + > > > if (!mutex_trylock(&bdev->bd_mutex)) > > > return -EBUSY; > > Is that really needed? It seems rather poor form. It goes away later in the series and gets converted to a straight mutex_lock(). -- Jarod Wilson jarod@xxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html