Lines Matching refs:holder

756 			 void *holder)  in bd_may_claim()  argument
758 if (bdev->bd_holder == holder) in bd_may_claim()
792 struct block_device *whole, void *holder) in bd_prepare_to_claim() argument
796 if (!bd_may_claim(bdev, whole, holder)) in bd_prepare_to_claim()
840 void *holder) in bd_start_claiming() argument
877 err = bd_prepare_to_claim(bdev, whole, holder); in bd_start_claiming()
879 whole->bd_claiming = holder; in bd_start_claiming()
899 struct bd_holder_disk *holder; in bd_find_holder_disk() local
901 list_for_each_entry(holder, &bdev->bd_holder_disks, list) in bd_find_holder_disk()
902 if (holder->disk == disk) in bd_find_holder_disk()
903 return holder; in bd_find_holder_disk()
947 struct bd_holder_disk *holder; in bd_link_disk_holder() local
958 holder = bd_find_holder_disk(bdev, disk); in bd_link_disk_holder()
959 if (holder) { in bd_link_disk_holder()
960 holder->refcnt++; in bd_link_disk_holder()
964 holder = kzalloc(sizeof(*holder), GFP_KERNEL); in bd_link_disk_holder()
965 if (!holder) { in bd_link_disk_holder()
970 INIT_LIST_HEAD(&holder->list); in bd_link_disk_holder()
971 holder->disk = disk; in bd_link_disk_holder()
972 holder->refcnt = 1; in bd_link_disk_holder()
987 list_add(&holder->list, &bdev->bd_holder_disks); in bd_link_disk_holder()
993 kfree(holder); in bd_link_disk_holder()
1012 struct bd_holder_disk *holder; in bd_unlink_disk_holder() local
1016 holder = bd_find_holder_disk(bdev, disk); in bd_unlink_disk_holder()
1018 if (!WARN_ON_ONCE(holder == NULL) && !--holder->refcnt) { in bd_unlink_disk_holder()
1023 list_del_init(&holder->list); in bd_unlink_disk_holder()
1024 kfree(holder); in bd_unlink_disk_holder()
1340 int blkdev_get(struct block_device *bdev, fmode_t mode, void *holder) in blkdev_get() argument
1345 WARN_ON_ONCE((mode & FMODE_EXCL) && !holder); in blkdev_get()
1347 if ((mode & FMODE_EXCL) && holder) { in blkdev_get()
1348 whole = bd_start_claiming(bdev, holder); in blkdev_get()
1365 BUG_ON(!bd_may_claim(bdev, whole, holder)); in blkdev_get()
1375 bdev->bd_holder = holder; in blkdev_get()
1379 BUG_ON(whole->bd_claiming != holder); in blkdev_get()
1424 void *holder) in blkdev_get_by_path() argument
1433 err = blkdev_get(bdev, mode, holder); in blkdev_get_by_path()
1468 struct block_device *blkdev_get_by_dev(dev_t dev, fmode_t mode, void *holder) in blkdev_get_by_dev() argument
1477 err = blkdev_get(bdev, mode, holder); in blkdev_get_by_dev()