[PATCH] cciss/cpqarray/md should use generic BLKGETSIZE

Christoph Hellwig (hch@sgi.com)
Thu, 16 Jan 2003 16:40:28 -0500


I did that already in 2.4.9/2.4.10 timeframe but it looks like a few
offenders started duplicating code again..

--- 1.28/drivers/block/cciss.c Thu Dec 12 17:14:12 2002
+++ edited/drivers/block/cciss.c Wed Jan 15 23:15:36 2003
@@ -505,16 +505,12 @@
return -EFAULT;
return 0;
}
- case BLKGETSIZE:
- put_user(hba[ctlr]->hd[MINOR(inode->i_rdev)].nr_sects, (unsigned long *)arg);
- return 0;
- case BLKGETSIZE64:
- put_user((u64)hba[ctlr]->hd[MINOR(inode->i_rdev)].nr_sects << 9, (u64*)arg);
- return 0;
case BLKRRPART:
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
return revalidate_logvol(inode->i_rdev, 1);
+ case BLKGETSIZE:
+ case BLKGETSIZE64:
case BLKFLSBUF:
case BLKBSZSET:
case BLKBSZGET:
===== drivers/block/cpqarray.c 1.27 vs edited =====
--- 1.27/drivers/block/cpqarray.c Tue Dec 17 00:26:25 2002
+++ edited/drivers/block/cpqarray.c Wed Jan 15 23:16:02 2003
@@ -1279,13 +1279,6 @@
ida_ioctl_t *io = (ida_ioctl_t*)arg;
return copy_to_user(&io->c.drv,&hba[ctlr]->drv[dsk],sizeof(drv_info_t));
}
- case BLKGETSIZE:
- if (!arg)
- return -EINVAL;
- return put_user(hba[ctlr]->hd[MINOR(inode->i_rdev)].nr_sects,
- (unsigned long *)arg);
- case BLKGETSIZE64:
- return put_user((u64)(hba[ctlr]->hd[MINOR(inode->i_rdev)].nr_sects) << 9, (u64*)arg);
case BLKRRPART:
return revalidate_logvol(inode->i_rdev, 1);
case IDAPASSTHRU:
@@ -1379,6 +1372,8 @@
return(0);
}

+ case BLKGETSIZE:
+ case BLKGETSIZE64:
case BLKFLSBUF:
case BLKBSZSET:
case BLKBSZGET:
===== drivers/md/md.c 1.37 vs edited =====
--- 1.37/drivers/md/md.c Fri Jan 3 00:45:34 2003
+++ edited/drivers/md/md.c Wed Jan 15 23:15:01 2003
@@ -2617,21 +2617,8 @@
goto done;
#endif

- case BLKGETSIZE: /* Return device size */
- if (!arg) {
- err = -EINVAL;
- MD_BUG();
- goto abort;
- }
- err = md_put_user(md_hd_struct[minor].nr_sects,
- (unsigned long *) arg);
- goto done;
-
- case BLKGETSIZE64: /* Return device size */
- err = md_put_user((u64)md_hd_struct[minor].nr_sects << 9,
- (u64 *) arg);
- goto done;
-
+ case BLKGETSIZE:
+ case BLKGETSIZE64:
case BLKRAGET:
case BLKRASET:
case BLKFLSBUF:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/