---
name: "bd_link_disk_holder"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/bd_link_disk_holder"
---

# bd\_link\_disk\_holder(9)

create symlinks between holding disk and slave bdev

## NAME

bd\_link\_disk\_holder - create symlinks between holding disk and slave bdev

## SYNOPSIS

**int bd\_link\_disk\_holder(struct block\_device \*** *bdev***, struct gendisk \*** *disk***);**

## ARGUMENTS

*bdev*

the claimed slave bdev

*disk*

the holding disk

## DESCRIPTION

DON'T USE THIS UNLESS YOU'RE ALREADY USING IT.

This functions creates the following sysfs symlinks.

\- from “slaves” directory of the holder *disk* to the claimed *bdev* - from “holders” directory of the *bdev* to the holder *disk*

For example, if /dev/dm-0 maps to /dev/sda and disk for dm-0 is passed to **bd\_link\_disk\_holder**, then:

/sys/block/dm-0/slaves/sda --\> /sys/block/sda /sys/block/sda/holders/dm-0 --\> /sys/block/dm-0

The caller must have claimed *bdev* before calling this function and ensure that both *bdev* and *disk* are valid during the creation and lifetime of these symlinks.

## CONTEXT

Might sleep.

## RETURN

0 on success, -errno on failure.

## COPYRIGHT
