• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/arch/um/drivers/

Lines Matching refs:ubd_dev

288 	struct ubd *ubd_dev;
341 ubd_dev = &ubd_devs[n];
342 if(ubd_dev->file != NULL){
360 ubd_dev->no_cow = 1;
363 ubd_dev->shared = 1;
389 if(ubd_dev->no_cow){
399 ubd_dev->file = str;
400 ubd_dev->cow.file = backing_file;
401 ubd_dev->boot_openflags = flags;
558 static inline int ubd_file_size(struct ubd *ubd_dev, __u64 *size_out)
562 file = ubd_dev->cow.file ? ubd_dev->cow.file : ubd_dev->file;
566 static void ubd_close_dev(struct ubd *ubd_dev)
568 os_close_file(ubd_dev->fd);
569 if(ubd_dev->cow.file == NULL)
572 os_close_file(ubd_dev->cow.fd);
573 vfree(ubd_dev->cow.bitmap);
574 ubd_dev->cow.bitmap = NULL;
577 static int ubd_open_dev(struct ubd *ubd_dev)
584 ubd_dev->openflags = ubd_dev->boot_openflags;
586 create_ptr = (ubd_dev->cow.file != NULL) ? &create_cow : NULL;
587 back_ptr = ubd_dev->no_cow ? NULL : &ubd_dev->cow.file;
589 fd = open_ubd_file(ubd_dev->file, &ubd_dev->openflags, ubd_dev->shared,
590 back_ptr, &ubd_dev->cow.bitmap_offset,
591 &ubd_dev->cow.bitmap_len, &ubd_dev->cow.data_offset,
595 fd = create_cow_file(ubd_dev->file, ubd_dev->cow.file,
596 ubd_dev->openflags, 1 << 9, PAGE_SIZE,
597 &ubd_dev->cow.bitmap_offset,
598 &ubd_dev->cow.bitmap_len,
599 &ubd_dev->cow.data_offset);
602 "\"%s\"\n", ubd_dev->file, ubd_dev->cow.file);
607 printk("Failed to open '%s', errno = %d\n", ubd_dev->file,
611 ubd_dev->fd = fd;
613 if(ubd_dev->cow.file != NULL){
615 ubd_dev->cow.bitmap = (void *) vmalloc(ubd_dev->cow.bitmap_len);
616 if(ubd_dev->cow.bitmap == NULL){
622 err = read_cow_bitmap(ubd_dev->fd, ubd_dev->cow.bitmap,
623 ubd_dev->cow.bitmap_offset,
624 ubd_dev->cow.bitmap_len);
628 flags = ubd_dev->openflags;
630 err = open_ubd_file(ubd_dev->cow.file, &flags, ubd_dev->shared, NULL,
633 ubd_dev->cow.fd = err;
637 os_close_file(ubd_dev->fd);
643 struct ubd *ubd_dev = dev->driver_data;
645 blk_cleanup_queue(ubd_dev->queue);
646 *ubd_dev = ((struct ubd) DEFAULT_UBD);
689 struct ubd *ubd_dev = &ubd_devs[n];
692 if(ubd_dev->file == NULL)
695 err = ubd_file_size(ubd_dev, &ubd_dev->size);
701 ubd_dev->size = ROUND_BLOCK(ubd_dev->size);
703 INIT_LIST_HEAD(&ubd_dev->restart);
706 ubd_dev->queue = blk_init_queue(do_ubd_request, &ubd_dev->lock);
707 if (ubd_dev->queue == NULL) {
711 ubd_dev->queue->queuedata = ubd_dev;
713 blk_queue_max_hw_segments(ubd_dev->queue, MAX_SG);
714 err = ubd_disk_register(MAJOR_NR, ubd_dev->size, n, &ubd_gendisk[n]);
721 ubd_disk_register(fake_major, ubd_dev->size, n,
734 blk_cleanup_queue(ubd_dev->queue);
777 struct ubd *ubd_dev;
786 ubd_dev = &ubd_devs[n];
789 if(ubd_dev->file == NULL){
794 CONFIG_CHUNK(str, size, len, ubd_dev->file, 0);
796 if(ubd_dev->cow.file != NULL){
798 CONFIG_CHUNK(str, size, len, ubd_dev->cow.file, 1);
820 struct ubd *ubd_dev;
825 ubd_dev = &ubd_devs[n];
827 if(ubd_dev->file == NULL)
832 if(ubd_dev->count > 0)
848 platform_device_unregister(&ubd_dev->pdev);
876 struct ubd *ubd_dev = &ubd_devs[0];
879 if(ubd_dev->file == NULL)
880 ubd_dev->file = "root_fs";
956 struct ubd *ubd_dev = disk->private_data;
959 if(ubd_dev->count == 0){
960 err = ubd_open_dev(ubd_dev);
963 disk->disk_name, ubd_dev->file, -err);
967 ubd_dev->count++;
968 set_disk_ro(disk, !ubd_dev->openflags.w);
972 /*if((filp->f_mode & FMODE_WRITE) && !ubd_dev->openflags.w){
973 if(--ubd_dev->count == 0) ubd_close_dev(ubd_dev);
983 struct ubd *ubd_dev = disk->private_data;
985 if(--ubd_dev->count == 0)
986 ubd_close_dev(ubd_dev);
1056 struct ubd *ubd_dev = disk->private_data;
1059 io_req->fds[0] = (ubd_dev->cow.file != NULL) ? ubd_dev->cow.fd :
1060 ubd_dev->fd;
1061 io_req->fds[1] = ubd_dev->fd;
1070 io_req->offsets[1] = ubd_dev->cow.data_offset;
1074 if(ubd_dev->cow.file != NULL)
1075 cowify_req(io_req, ubd_dev->cow.bitmap,
1076 ubd_dev->cow.bitmap_offset, ubd_dev->cow.bitmap_len);
1136 struct ubd *ubd_dev = bdev->bd_disk->private_data;
1140 geo->cylinders = ubd_dev->size / (128 * 32 * 512);
1147 struct ubd *ubd_dev = inode->i_bdev->bd_disk->private_data;
1157 ubd_id.cyls = ubd_dev->size / (128 * 32 * 512);