"Jun'ichi Nomura" <j-nomura@xxxxxxxxxxxxx> wrote: > > 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 <j-nomura@xxxxxxxxxxxxx> > > 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); > +} > + genhd.h doesn't include kobject.h, so this only compiles due to luck. An alternative to adding possibly risky nested header inclusions would be to uninline these functions. -- dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel