Lines Matching refs:holder

726 			 void *holder)  in bd_may_claim()  argument
728 if (bdev->bd_holder == holder) in bd_may_claim()
762 struct block_device *whole, void *holder) in bd_prepare_to_claim() argument
766 if (!bd_may_claim(bdev, whole, holder)) in bd_prepare_to_claim()
810 void *holder) in bd_start_claiming() argument
847 err = bd_prepare_to_claim(bdev, whole, holder); in bd_start_claiming()
849 whole->bd_claiming = holder; in bd_start_claiming()
869 struct bd_holder_disk *holder; in bd_find_holder_disk() local
871 list_for_each_entry(holder, &bdev->bd_holder_disks, list) in bd_find_holder_disk()
872 if (holder->disk == disk) in bd_find_holder_disk()
873 return holder; in bd_find_holder_disk()
917 struct bd_holder_disk *holder; in bd_link_disk_holder() local
928 holder = bd_find_holder_disk(bdev, disk); in bd_link_disk_holder()
929 if (holder) { in bd_link_disk_holder()
930 holder->refcnt++; in bd_link_disk_holder()
934 holder = kzalloc(sizeof(*holder), GFP_KERNEL); in bd_link_disk_holder()
935 if (!holder) { in bd_link_disk_holder()
940 INIT_LIST_HEAD(&holder->list); in bd_link_disk_holder()
941 holder->disk = disk; in bd_link_disk_holder()
942 holder->refcnt = 1; in bd_link_disk_holder()
957 list_add(&holder->list, &bdev->bd_holder_disks); in bd_link_disk_holder()
963 kfree(holder); in bd_link_disk_holder()
982 struct bd_holder_disk *holder; in bd_unlink_disk_holder() local
986 holder = bd_find_holder_disk(bdev, disk); in bd_unlink_disk_holder()
988 if (!WARN_ON_ONCE(holder == NULL) && !--holder->refcnt) { in bd_unlink_disk_holder()
993 list_del_init(&holder->list); in bd_unlink_disk_holder()
994 kfree(holder); in bd_unlink_disk_holder()
1309 int blkdev_get(struct block_device *bdev, fmode_t mode, void *holder) in blkdev_get() argument
1314 WARN_ON_ONCE((mode & FMODE_EXCL) && !holder); in blkdev_get()
1316 if ((mode & FMODE_EXCL) && holder) { in blkdev_get()
1317 whole = bd_start_claiming(bdev, holder); in blkdev_get()
1334 BUG_ON(!bd_may_claim(bdev, whole, holder)); in blkdev_get()
1344 bdev->bd_holder = holder; in blkdev_get()
1348 BUG_ON(whole->bd_claiming != holder); in blkdev_get()
1393 void *holder) in blkdev_get_by_path() argument
1402 err = blkdev_get(bdev, mode, holder); in blkdev_get_by_path()
1437 struct block_device *blkdev_get_by_dev(dev_t dev, fmode_t mode, void *holder) in blkdev_get_by_dev() argument
1446 err = blkdev_get(bdev, mode, holder); in blkdev_get_by_dev()