summaryrefslogtreecommitdiffstats
path: root/sys/dev/pst/pst-raid.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pst/pst-raid.c')
-rw-r--r--sys/dev/pst/pst-raid.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c
index e545a5f..83a5280 100644
--- a/sys/dev/pst/pst-raid.c
+++ b/sys/dev/pst/pst-raid.c
@@ -56,7 +56,7 @@ struct pst_softc {
struct iop_softc *iop;
struct i2o_lct_entry *lct;
struct i2o_bsa_device *info;
- struct disk disk;
+ struct disk *disk;
struct bio_queue_head queue;
};
@@ -149,16 +149,19 @@ pst_attach(device_t dev)
bioq_init(&psc->queue);
- psc->disk.d_name = "pst";
- psc->disk.d_strategy = pststrategy;
- psc->disk.d_maxsize = 64 * 1024; /*I2O_SGL_MAX_SEGS * PAGE_SIZE;*/
- psc->disk.d_drv1 = psc;
- disk_create(lun, &psc->disk, DISKFLAG_NOGIANT, NULL, NULL);
+ psc->disk = disk_alloc();
+ psc->disk->d_name = "pst";
+ psc->disk->d_strategy = pststrategy;
+ psc->disk->d_maxsize = 64 * 1024; /*I2O_SGL_MAX_SEGS * PAGE_SIZE;*/
+ psc->disk->d_drv1 = psc;
+ psc->disk->d_unit = lun;
- psc->disk.d_sectorsize = psc->info->block_size;
- psc->disk.d_mediasize = psc->info->capacity;
- psc->disk.d_fwsectors = 63;
- psc->disk.d_fwheads = 255;
+ psc->disk->d_sectorsize = psc->info->block_size;
+ psc->disk->d_mediasize = psc->info->capacity;
+ psc->disk->d_fwsectors = 63;
+ psc->disk->d_fwheads = 255;
+
+ disk_create(psc->disk, DISK_VERSION);
printf("pst%d: %lluMB <%.40s> [%lld/%d/%d] on %.16s\n", lun,
(unsigned long long)psc->info->capacity / (1024 * 1024),
OpenPOWER on IntegriCloud