Lines Matching refs:dif

224 			     struct erofs_device_info *dif, erofs_off_t *pos)  in erofs_init_device()  argument
237 if (!dif->path) { in erofs_init_device()
242 dif->path = kmemdup_nul(dis->tag, sizeof(dis->tag), GFP_KERNEL); in erofs_init_device()
243 if (!dif->path) in erofs_init_device()
248 fscache = erofs_fscache_register_cookie(sb, dif->path, false); in erofs_init_device()
251 dif->fscache = fscache; in erofs_init_device()
253 bdev = blkdev_get_by_path(dif->path, FMODE_READ | FMODE_EXCL, in erofs_init_device()
257 dif->bdev = bdev; in erofs_init_device()
258 dif->dax_dev = fs_dax_get_by_bdev(bdev, &dif->dax_part_off, in erofs_init_device()
262 dif->blocks = le32_to_cpu(dis->blocks); in erofs_init_device()
263 dif->mapped_blkaddr = le32_to_cpu(dis->mapped_blkaddr); in erofs_init_device()
264 sbi->total_blocks += dif->blocks; in erofs_init_device()
276 struct erofs_device_info *dif; in erofs_scan_devices() local
298 idr_for_each_entry(&sbi->devs->tree, dif, id) { in erofs_scan_devices()
299 err = erofs_init_device(&buf, sb, dif, &pos); in erofs_scan_devices()
305 dif = kzalloc(sizeof(*dif), GFP_KERNEL); in erofs_scan_devices()
306 if (!dif) { in erofs_scan_devices()
311 err = idr_alloc(&sbi->devs->tree, dif, 0, 0, GFP_KERNEL); in erofs_scan_devices()
313 kfree(dif); in erofs_scan_devices()
318 err = erofs_init_device(&buf, sb, dif, &pos); in erofs_scan_devices()
518 struct erofs_device_info *dif; in erofs_fc_parse_param() local
562 dif = kzalloc(sizeof(*dif), GFP_KERNEL); in erofs_fc_parse_param()
563 if (!dif) in erofs_fc_parse_param()
565 dif->path = kstrdup(param->string, GFP_KERNEL); in erofs_fc_parse_param()
566 if (!dif->path) { in erofs_fc_parse_param()
567 kfree(dif); in erofs_fc_parse_param()
571 ret = idr_alloc(&ctx->devs->tree, dif, 0, 0, GFP_KERNEL); in erofs_fc_parse_param()
574 kfree(dif->path); in erofs_fc_parse_param()
575 kfree(dif); in erofs_fc_parse_param()
855 struct erofs_device_info *dif = ptr; in erofs_release_device_info() local
857 fs_put_dax(dif->dax_dev, NULL); in erofs_release_device_info()
858 if (dif->bdev) in erofs_release_device_info()
859 blkdev_put(dif->bdev, FMODE_READ | FMODE_EXCL); in erofs_release_device_info()
860 erofs_fscache_unregister_cookie(dif->fscache); in erofs_release_device_info()
861 dif->fscache = NULL; in erofs_release_device_info()
862 kfree(dif->path); in erofs_release_device_info()
863 kfree(dif); in erofs_release_device_info()