u64 size;
if (!dev->file)
- return -1;
+ goto out;
- disk = alloc_disk();
+ disk = alloc_disk(1 << UBD_SHIFT);
if (!disk)
return -1;
disk->major = MAJOR_NR;
static int ubd_open(struct inode *inode, struct file *filp)
{
- struct ubd *dev;
- int n, offset, err = 0;
-
- n = DEVICE_NR(inode->i_rdev);
- dev = &ubd_dev[n];
- if(n > MAX_DEV)
- return -ENODEV;
-
- offset = n << UBD_SHIFT;
+ int n = DEVICE_NR(inode->i_rdev);
+ struct ubd *dev = &ubd_dev[n];
+ int err;
-
if(dev->is_dir == 1)
- return(0);
+ goto out;
if(dev->count == 0){
dev->openflags = dev->boot_openflags;