Lines Matching refs:whole
540 static bool bd_may_claim(struct block_device *bdev, struct block_device *whole, in bd_may_claim() argument
547 else if (whole == bdev) in bd_may_claim()
550 else if (whole->bd_holder == bd_may_claim) in bd_may_claim()
552 else if (whole->bd_holder != NULL) in bd_may_claim()
572 struct block_device *whole = bdev_whole(bdev); in bd_prepare_to_claim() local
579 if (!bd_may_claim(bdev, whole, holder)) { in bd_prepare_to_claim()
585 if (whole->bd_claiming) { in bd_prepare_to_claim()
586 wait_queue_head_t *wq = bit_waitqueue(&whole->bd_claiming, 0); in bd_prepare_to_claim()
597 whole->bd_claiming = holder; in bd_prepare_to_claim()
603 static void bd_clear_claiming(struct block_device *whole, void *holder) in bd_clear_claiming() argument
607 BUG_ON(whole->bd_claiming != holder); in bd_clear_claiming()
608 whole->bd_claiming = NULL; in bd_clear_claiming()
609 wake_up_bit(&whole->bd_claiming, 0); in bd_clear_claiming()
622 struct block_device *whole = bdev_whole(bdev); in bd_finish_claiming() local
625 BUG_ON(!bd_may_claim(bdev, whole, holder)); in bd_finish_claiming()
630 whole->bd_holders++; in bd_finish_claiming()
631 whole->bd_holder = bd_may_claim; in bd_finish_claiming()
634 bd_clear_claiming(whole, holder); in bd_finish_claiming()
724 struct block_device *whole = bdev_whole(part); in blkdev_put_part() local
729 whole->bd_disk->open_partitions--; in blkdev_put_part()
730 blkdev_put_whole(whole, mode); in blkdev_put_part()
914 struct block_device *whole = bdev_whole(bdev); in blkdev_put() local
925 WARN_ON_ONCE(--whole->bd_holders < 0); in blkdev_put()
929 if (!whole->bd_holders) in blkdev_put()
930 whole->bd_holder = NULL; in blkdev_put()