Lines Matching refs:ds

268 static void btrfsic_dev_state_init(struct btrfsic_dev_state *ds);
270 static void btrfsic_dev_state_free(struct btrfsic_dev_state *ds);
294 struct btrfsic_dev_state *ds,
296 static void btrfsic_dev_state_hashtable_remove(struct btrfsic_dev_state *ds);
470 static void btrfsic_dev_state_init(struct btrfsic_dev_state *ds) in btrfsic_dev_state_init() argument
472 ds->magic_num = BTRFSIC_DEV2STATE_MAGIC_NUMBER; in btrfsic_dev_state_init()
473 ds->bdev = NULL; in btrfsic_dev_state_init()
474 ds->state = NULL; in btrfsic_dev_state_init()
475 ds->name[0] = '\0'; in btrfsic_dev_state_init()
476 INIT_LIST_HEAD(&ds->collision_resolving_node); in btrfsic_dev_state_init()
477 ds->last_flush_gen = 0; in btrfsic_dev_state_init()
478 btrfsic_block_init(&ds->dummy_block_for_bio_bh_flush); in btrfsic_dev_state_init()
479 ds->dummy_block_for_bio_bh_flush.is_iodone = 1; in btrfsic_dev_state_init()
480 ds->dummy_block_for_bio_bh_flush.dev_state = ds; in btrfsic_dev_state_init()
485 struct btrfsic_dev_state *ds; in btrfsic_dev_state_alloc() local
487 ds = kzalloc(sizeof(*ds), GFP_NOFS); in btrfsic_dev_state_alloc()
488 if (NULL != ds) in btrfsic_dev_state_alloc()
489 btrfsic_dev_state_init(ds); in btrfsic_dev_state_alloc()
491 return ds; in btrfsic_dev_state_alloc()
494 static void btrfsic_dev_state_free(struct btrfsic_dev_state *ds) in btrfsic_dev_state_free() argument
496 BUG_ON(!(NULL == ds || in btrfsic_dev_state_free()
497 BTRFSIC_DEV2STATE_MAGIC_NUMBER == ds->magic_num)); in btrfsic_dev_state_free()
498 kfree(ds); in btrfsic_dev_state_free()
620 struct btrfsic_dev_state *ds, in btrfsic_dev_state_hashtable_add() argument
624 (((unsigned int)((uintptr_t)ds->bdev)) & in btrfsic_dev_state_hashtable_add()
627 list_add(&ds->collision_resolving_node, h->table + hashval); in btrfsic_dev_state_hashtable_add()
630 static void btrfsic_dev_state_hashtable_remove(struct btrfsic_dev_state *ds) in btrfsic_dev_state_hashtable_remove() argument
632 list_del(&ds->collision_resolving_node); in btrfsic_dev_state_hashtable_remove()
645 struct btrfsic_dev_state *const ds = in btrfsic_dev_state_hashtable_lookup() local
649 if (ds->bdev == bdev) in btrfsic_dev_state_hashtable_lookup()
650 return ds; in btrfsic_dev_state_hashtable_lookup()
2893 struct btrfsic_dev_state *ds; in btrfsic_dev_state_lookup() local
2895 ds = btrfsic_dev_state_hashtable_lookup(bdev, in btrfsic_dev_state_lookup()
2897 return ds; in btrfsic_dev_state_lookup()
3122 struct btrfsic_dev_state *ds; in btrfsic_mount() local
3128 ds = btrfsic_dev_state_alloc(); in btrfsic_mount()
3129 if (NULL == ds) { in btrfsic_mount()
3135 ds->bdev = device->bdev; in btrfsic_mount()
3136 ds->state = state; in btrfsic_mount()
3137 bdevname(ds->bdev, ds->name); in btrfsic_mount()
3138 ds->name[BDEVNAME_SIZE - 1] = '\0'; in btrfsic_mount()
3139 for (p = ds->name; *p != '\0'; p++); in btrfsic_mount()
3140 while (p > ds->name && *p != '/') in btrfsic_mount()
3144 strlcpy(ds->name, p, sizeof(ds->name)); in btrfsic_mount()
3145 btrfsic_dev_state_hashtable_add(ds, in btrfsic_mount()
3181 struct btrfsic_dev_state *ds; in btrfsic_unmount() local
3186 ds = btrfsic_dev_state_hashtable_lookup( in btrfsic_unmount()
3189 if (NULL != ds) { in btrfsic_unmount()
3190 state = ds->state; in btrfsic_unmount()
3191 btrfsic_dev_state_hashtable_remove(ds); in btrfsic_unmount()
3192 btrfsic_dev_state_free(ds); in btrfsic_unmount()