Variants of bd_claim_by_kobject which takes gendisk instead of kobject and do kobject_{get,put}(&gendisk->slave_dir). Signed-off-by: Jun'ichi Nomura include/linux/genhd.h | 13 +++++++++++++ 1 files changed, 13 insertions(+) --- linux-2.6.16-rc6.orig/include/linux/genhd.h 2006-03-11 17:12:55.000000000 -0500 +++ linux-2.6.16-rc6/include/linux/genhd.h 2006-03-13 11:24:13.000000000 -0500 @@ -421,6 +424,19 @@ static inline struct block_device *bdget return bdget(MKDEV(disk->major, disk->first_minor) + index); } +static inline int bd_claim_by_disk(struct block_device *bdev, + void *holder, struct gendisk *disk) +{ + return bd_claim_by_kobject(bdev, holder, kobject_get(disk->slave_dir)); +} + +static inline void bd_release_from_disk(struct block_device *bdev, + struct gendisk *disk) +{ + bd_release_from_kobject(bdev, disk->slave_dir); + kobject_put(disk->slave_dir); +} + #endif #endif