ubd_dev           265 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev;
ubd_dev           318 arch/um/drivers/ubd_kern.c 	ubd_dev = &ubd_devs[n];
ubd_dev           319 arch/um/drivers/ubd_kern.c 	if(ubd_dev->file != NULL){
ubd_dev           337 arch/um/drivers/ubd_kern.c 			ubd_dev->no_cow = 1;
ubd_dev           340 arch/um/drivers/ubd_kern.c 			ubd_dev->shared = 1;
ubd_dev           343 arch/um/drivers/ubd_kern.c 			ubd_dev->no_trim = 1;
ubd_dev           369 arch/um/drivers/ubd_kern.c 		if(ubd_dev->no_cow){
ubd_dev           379 arch/um/drivers/ubd_kern.c 	ubd_dev->file = str;
ubd_dev           380 arch/um/drivers/ubd_kern.c 	ubd_dev->cow.file = backing_file;
ubd_dev           381 arch/um/drivers/ubd_kern.c 	ubd_dev->boot_openflags = flags;
ubd_dev           555 arch/um/drivers/ubd_kern.c static inline int ubd_file_size(struct ubd *ubd_dev, __u64 *size_out)
ubd_dev           569 arch/um/drivers/ubd_kern.c 	if (ubd_dev->file && ubd_dev->cow.file) {
ubd_dev           570 arch/um/drivers/ubd_kern.c 		file = ubd_dev->cow.file;
ubd_dev           575 arch/um/drivers/ubd_kern.c 	fd = os_open_file(ubd_dev->file, of_read(OPENFLAGS()), 0);
ubd_dev           584 arch/um/drivers/ubd_kern.c 		file = ubd_dev->file;
ubd_dev           774 arch/um/drivers/ubd_kern.c static void ubd_close_dev(struct ubd *ubd_dev)
ubd_dev           776 arch/um/drivers/ubd_kern.c 	os_close_file(ubd_dev->fd);
ubd_dev           777 arch/um/drivers/ubd_kern.c 	if(ubd_dev->cow.file == NULL)
ubd_dev           780 arch/um/drivers/ubd_kern.c 	os_close_file(ubd_dev->cow.fd);
ubd_dev           781 arch/um/drivers/ubd_kern.c 	vfree(ubd_dev->cow.bitmap);
ubd_dev           782 arch/um/drivers/ubd_kern.c 	ubd_dev->cow.bitmap = NULL;
ubd_dev           785 arch/um/drivers/ubd_kern.c static int ubd_open_dev(struct ubd *ubd_dev)
ubd_dev           792 arch/um/drivers/ubd_kern.c 	ubd_dev->openflags = ubd_dev->boot_openflags;
ubd_dev           794 arch/um/drivers/ubd_kern.c 	create_ptr = (ubd_dev->cow.file != NULL) ? &create_cow : NULL;
ubd_dev           795 arch/um/drivers/ubd_kern.c 	back_ptr = ubd_dev->no_cow ? NULL : &ubd_dev->cow.file;
ubd_dev           797 arch/um/drivers/ubd_kern.c 	fd = open_ubd_file(ubd_dev->file, &ubd_dev->openflags, ubd_dev->shared,
ubd_dev           798 arch/um/drivers/ubd_kern.c 				back_ptr, &ubd_dev->cow.bitmap_offset,
ubd_dev           799 arch/um/drivers/ubd_kern.c 				&ubd_dev->cow.bitmap_len, &ubd_dev->cow.data_offset,
ubd_dev           803 arch/um/drivers/ubd_kern.c 		fd = create_cow_file(ubd_dev->file, ubd_dev->cow.file,
ubd_dev           804 arch/um/drivers/ubd_kern.c 					  ubd_dev->openflags, SECTOR_SIZE, PAGE_SIZE,
ubd_dev           805 arch/um/drivers/ubd_kern.c 					  &ubd_dev->cow.bitmap_offset,
ubd_dev           806 arch/um/drivers/ubd_kern.c 					  &ubd_dev->cow.bitmap_len,
ubd_dev           807 arch/um/drivers/ubd_kern.c 					  &ubd_dev->cow.data_offset);
ubd_dev           810 arch/um/drivers/ubd_kern.c 			       "\"%s\"\n", ubd_dev->file, ubd_dev->cow.file);
ubd_dev           815 arch/um/drivers/ubd_kern.c 		printk("Failed to open '%s', errno = %d\n", ubd_dev->file,
ubd_dev           819 arch/um/drivers/ubd_kern.c 	ubd_dev->fd = fd;
ubd_dev           821 arch/um/drivers/ubd_kern.c 	if(ubd_dev->cow.file != NULL){
ubd_dev           822 arch/um/drivers/ubd_kern.c 		blk_queue_max_hw_sectors(ubd_dev->queue, 8 * sizeof(long));
ubd_dev           825 arch/um/drivers/ubd_kern.c 		ubd_dev->cow.bitmap = vmalloc(ubd_dev->cow.bitmap_len);
ubd_dev           826 arch/um/drivers/ubd_kern.c 		if(ubd_dev->cow.bitmap == NULL){
ubd_dev           832 arch/um/drivers/ubd_kern.c 		err = read_cow_bitmap(ubd_dev->fd, ubd_dev->cow.bitmap,
ubd_dev           833 arch/um/drivers/ubd_kern.c 				      ubd_dev->cow.bitmap_offset,
ubd_dev           834 arch/um/drivers/ubd_kern.c 				      ubd_dev->cow.bitmap_len);
ubd_dev           838 arch/um/drivers/ubd_kern.c 		flags = ubd_dev->openflags;
ubd_dev           840 arch/um/drivers/ubd_kern.c 		err = open_ubd_file(ubd_dev->cow.file, &flags, ubd_dev->shared, NULL,
ubd_dev           843 arch/um/drivers/ubd_kern.c 		ubd_dev->cow.fd = err;
ubd_dev           845 arch/um/drivers/ubd_kern.c 	if (ubd_dev->no_trim == 0) {
ubd_dev           846 arch/um/drivers/ubd_kern.c 		ubd_dev->queue->limits.discard_granularity = SECTOR_SIZE;
ubd_dev           847 arch/um/drivers/ubd_kern.c 		ubd_dev->queue->limits.discard_alignment = SECTOR_SIZE;
ubd_dev           848 arch/um/drivers/ubd_kern.c 		blk_queue_max_discard_sectors(ubd_dev->queue, UBD_MAX_REQUEST);
ubd_dev           849 arch/um/drivers/ubd_kern.c 		blk_queue_max_write_zeroes_sectors(ubd_dev->queue, UBD_MAX_REQUEST);
ubd_dev           850 arch/um/drivers/ubd_kern.c 		blk_queue_flag_set(QUEUE_FLAG_DISCARD, ubd_dev->queue);
ubd_dev           852 arch/um/drivers/ubd_kern.c 	blk_queue_flag_set(QUEUE_FLAG_NONROT, ubd_dev->queue);
ubd_dev           855 arch/um/drivers/ubd_kern.c 	os_close_file(ubd_dev->fd);
ubd_dev           861 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = dev_get_drvdata(dev);
ubd_dev           863 arch/um/drivers/ubd_kern.c 	blk_cleanup_queue(ubd_dev->queue);
ubd_dev           864 arch/um/drivers/ubd_kern.c 	blk_mq_free_tag_set(&ubd_dev->tag_set);
ubd_dev           865 arch/um/drivers/ubd_kern.c 	*ubd_dev = ((struct ubd) DEFAULT_UBD);
ubd_dev           913 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = &ubd_devs[n];
ubd_dev           916 arch/um/drivers/ubd_kern.c 	if(ubd_dev->file == NULL)
ubd_dev           919 arch/um/drivers/ubd_kern.c 	err = ubd_file_size(ubd_dev, &ubd_dev->size);
ubd_dev           925 arch/um/drivers/ubd_kern.c 	ubd_dev->size = ROUND_BLOCK(ubd_dev->size);
ubd_dev           927 arch/um/drivers/ubd_kern.c 	ubd_dev->tag_set.ops = &ubd_mq_ops;
ubd_dev           928 arch/um/drivers/ubd_kern.c 	ubd_dev->tag_set.queue_depth = 64;
ubd_dev           929 arch/um/drivers/ubd_kern.c 	ubd_dev->tag_set.numa_node = NUMA_NO_NODE;
ubd_dev           930 arch/um/drivers/ubd_kern.c 	ubd_dev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
ubd_dev           931 arch/um/drivers/ubd_kern.c 	ubd_dev->tag_set.driver_data = ubd_dev;
ubd_dev           932 arch/um/drivers/ubd_kern.c 	ubd_dev->tag_set.nr_hw_queues = 1;
ubd_dev           934 arch/um/drivers/ubd_kern.c 	err = blk_mq_alloc_tag_set(&ubd_dev->tag_set);
ubd_dev           938 arch/um/drivers/ubd_kern.c 	ubd_dev->queue = blk_mq_init_queue(&ubd_dev->tag_set);
ubd_dev           939 arch/um/drivers/ubd_kern.c 	if (IS_ERR(ubd_dev->queue)) {
ubd_dev           940 arch/um/drivers/ubd_kern.c 		err = PTR_ERR(ubd_dev->queue);
ubd_dev           944 arch/um/drivers/ubd_kern.c 	ubd_dev->queue->queuedata = ubd_dev;
ubd_dev           945 arch/um/drivers/ubd_kern.c 	blk_queue_write_cache(ubd_dev->queue, true, false);
ubd_dev           947 arch/um/drivers/ubd_kern.c 	blk_queue_max_segments(ubd_dev->queue, MAX_SG);
ubd_dev           948 arch/um/drivers/ubd_kern.c 	err = ubd_disk_register(UBD_MAJOR, ubd_dev->size, n, &ubd_gendisk[n]);
ubd_dev           955 arch/um/drivers/ubd_kern.c 		ubd_disk_register(fake_major, ubd_dev->size, n,
ubd_dev           970 arch/um/drivers/ubd_kern.c 	blk_mq_free_tag_set(&ubd_dev->tag_set);
ubd_dev           971 arch/um/drivers/ubd_kern.c 	if (!(IS_ERR(ubd_dev->queue)))
ubd_dev           972 arch/um/drivers/ubd_kern.c 		blk_cleanup_queue(ubd_dev->queue);
ubd_dev          1015 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev;
ubd_dev          1024 arch/um/drivers/ubd_kern.c 	ubd_dev = &ubd_devs[n];
ubd_dev          1027 arch/um/drivers/ubd_kern.c 	if(ubd_dev->file == NULL){
ubd_dev          1032 arch/um/drivers/ubd_kern.c 	CONFIG_CHUNK(str, size, len, ubd_dev->file, 0);
ubd_dev          1034 arch/um/drivers/ubd_kern.c 	if(ubd_dev->cow.file != NULL){
ubd_dev          1036 arch/um/drivers/ubd_kern.c 		CONFIG_CHUNK(str, size, len, ubd_dev->cow.file, 1);
ubd_dev          1058 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev;
ubd_dev          1063 arch/um/drivers/ubd_kern.c 	ubd_dev = &ubd_devs[n];
ubd_dev          1065 arch/um/drivers/ubd_kern.c 	if(ubd_dev->file == NULL)
ubd_dev          1070 arch/um/drivers/ubd_kern.c 	if(ubd_dev->count > 0)
ubd_dev          1086 arch/um/drivers/ubd_kern.c 	platform_device_unregister(&ubd_dev->pdev);
ubd_dev          1114 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = &ubd_devs[0];
ubd_dev          1117 arch/um/drivers/ubd_kern.c 	if(ubd_dev->file == NULL)
ubd_dev          1118 arch/um/drivers/ubd_kern.c 		ubd_dev->file = "root_fs";
ubd_dev          1216 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = disk->private_data;
ubd_dev          1220 arch/um/drivers/ubd_kern.c 	if(ubd_dev->count == 0){
ubd_dev          1221 arch/um/drivers/ubd_kern.c 		err = ubd_open_dev(ubd_dev);
ubd_dev          1224 arch/um/drivers/ubd_kern.c 			       disk->disk_name, ubd_dev->file, -err);
ubd_dev          1228 arch/um/drivers/ubd_kern.c 	ubd_dev->count++;
ubd_dev          1229 arch/um/drivers/ubd_kern.c 	set_disk_ro(disk, !ubd_dev->openflags.w);
ubd_dev          1244 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = disk->private_data;
ubd_dev          1247 arch/um/drivers/ubd_kern.c 	if(--ubd_dev->count == 0)
ubd_dev          1248 arch/um/drivers/ubd_kern.c 		ubd_close_dev(ubd_dev);
ubd_dev          1378 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = hctx->queue->queuedata;
ubd_dev          1384 arch/um/drivers/ubd_kern.c 	spin_lock_irq(&ubd_dev->lock);
ubd_dev          1404 arch/um/drivers/ubd_kern.c 	spin_unlock_irq(&ubd_dev->lock);
ubd_dev          1418 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = bdev->bd_disk->private_data;
ubd_dev          1422 arch/um/drivers/ubd_kern.c 	geo->cylinders = ubd_dev->size / (128 * 32 * 512);
ubd_dev          1429 arch/um/drivers/ubd_kern.c 	struct ubd *ubd_dev = bdev->bd_disk->private_data;
ubd_dev          1436 arch/um/drivers/ubd_kern.c 		ubd_id[ATA_ID_CYLS]	= ubd_dev->size / (128 * 32 * 512);