diff options
Diffstat (limited to 'extras/mini-os/blkfront.c')
-rw-r--r-- | extras/mini-os/blkfront.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/extras/mini-os/blkfront.c b/extras/mini-os/blkfront.c index f5cf19cbe5..3a6c22aceb 100644 --- a/extras/mini-os/blkfront.c +++ b/extras/mini-os/blkfront.c @@ -70,7 +70,7 @@ void blkfront_handler(evtchn_port_t port, struct pt_regs *regs, void *data) wake_up(&blkfront_queue); } -struct blkfront_dev *init_blkfront(char *nodename, uint64_t *sectors, unsigned *sector_size, int *mode) +struct blkfront_dev *init_blkfront(char *nodename, uint64_t *sectors, unsigned *sector_size, int *mode, int *info) { xenbus_transaction_t xbt; char* err; @@ -176,6 +176,9 @@ done: xenbus_unwatch_path(XBT_NIL, path); + snprintf(path, sizeof(path), "%s/info", dev->backend); + *info = xenbus_read_integer(path); + snprintf(path, sizeof(path), "%s/sectors", dev->backend); // FIXME: read_integer returns an int, so disk size limited to 1TB for now *sectors = dev->sectors = xenbus_read_integer(path); |