[dm-devel] Re: [PATCH 4/7] dm/md dependency tree in sysfs: bd_claim_by_disk
Andrew Morton
akpm at osdl.org
Tue Mar 14 02:29:43 UTC 2006
"Jun'ichi Nomura" <j-nomura at ce.jp.nec.com> 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 at ce.jp.nec.com>
>
> 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.
More information about the dm-devel
mailing list