Messages in this thread | | | Date | Wed, 3 Nov 2010 12:10:59 -0400 | From | Christoph Hellwig <> | Subject | Re: [PATCH 4/5] block: make blkdev_get/put() handle exclusive access |
| |
On Mon, Nov 01, 2010 at 05:15:28PM +0100, Tejun Heo wrote: > * blkdev_get() is extended to include exclusive access management. > @holder argument is added and, if is @FMODE_EXCL specified, it will > gain exclusive access atomically w.r.t. other exclusive accesses. > > * blkdev_put() is similarly extended. It now takes @mode argument and > if @FMODE_EXCL is set, it releases an exclusive access. Also, when > the last exclusive claim is released, the holder/slave symlinks are > removed automatically.
Could we get rid of FMODE_EXCL and just make a non-NULL holder field mean to open it exlusively (and pass a holder to the blkdev_put to release it)?
> * bd_link_disk_holder() remains the same but bd_unlink_disk_holder() > is no longer necessary and removed.
That's a rather asymetric interface. What about having blkdev_get_stacked that require a gendisk as holder and set up the links underneath?
> open_bdev_exclusive() and open_by_devnum() can use further cleanup - > rename to blkdev_get_by_path() and blkdev_get_by_devt() and drop > special features. Well, let's leave them for another day.
s/blkdev_get_by_devt/blkdev_get_by_dev/
And yes, that rename is a good idea and should go in ASAP after this patch.
| |