patch-2.4.10 linux/drivers/ide/hd.c
Next file: linux/drivers/ide/hptraid.c
Previous file: linux/drivers/ide/buddha.c
Back to the patch index
Back to the overall index
- Lines: 47
- Date:
Mon Sep 10 12:42:31 2001
- Orig file:
v2.4.9/linux/drivers/ide/hd.c
- Orig date:
Sat Apr 28 11:27:53 2001
diff -u --recursive --new-file v2.4.9/linux/drivers/ide/hd.c linux/drivers/ide/hd.c
@@ -639,9 +639,11 @@
}
case BLKGETSIZE: /* Return device size */
- if (!arg) return -EINVAL;
return put_user(hd[MINOR(inode->i_rdev)].nr_sects,
(long *) arg);
+ case BLKGETSIZE64:
+ return put_user((u64)hd[MINOR(inode->i_rdev)].nr_sects << 9,
+ (u64 *) arg);
case BLKRRPART: /* Re-read partition tables */
if (!capable(CAP_SYS_ADMIN))
@@ -688,16 +690,13 @@
extern struct block_device_operations hd_fops;
static struct gendisk hd_gendisk = {
- MAJOR_NR, /* Major number */
- "hd", /* Major name */
- 6, /* Bits to shift to get real from partition */
- 1 << 6, /* Number of partitions per real */
- hd, /* hd struct */
- hd_sizes, /* block sizes */
- 0, /* number */
- NULL, /* internal use, not presently used */
- NULL, /* next */
- &hd_fops, /* file operations */
+ major: MAJOR_NR,
+ major_name: "hd",
+ minor_shift: 6,
+ max_p: 1 << 6,
+ part: hd,
+ sizes: hd_sizes,
+ fops: &hd_fops,
};
static void hd_interrupt(int irq, void *dev_id, struct pt_regs *regs)
@@ -842,8 +841,7 @@
}
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST);
read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read-ahead */
- hd_gendisk.next = gendisk_head;
- gendisk_head = &hd_gendisk;
+ add_gendisk(&hd_gendisk);
init_timer(&device_timer);
device_timer.function = hd_times_out;
hd_geninit();
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)