Index: uspace/srv/volsrv/disk.c
===================================================================
--- uspace/srv/volsrv/disk.c	(revision 603c1d1f2f250c70a6ee5b7b75494f1ed4c16e1a)
+++ uspace/srv/volsrv/disk.c	(revision b7a4d06b6d03da11c24ad8eee4f374f7b8a7dc13)
@@ -271,5 +271,5 @@
 }
 
-int vol_disk_empty(vol_disk_t *disk)
+int vol_disk_empty_disk(vol_disk_t *disk)
 {
 	int rc;
@@ -286,4 +286,23 @@
 }
 
+int vol_disk_get_info(vol_disk_t *disk, vol_disk_info_t *dinfo)
+{
+	vbd_disk_info_t vdinfo;
+	int rc;
+
+	dinfo->dcnt = disk->dcnt;
+
+	if (disk->dcnt == dc_label) {
+		rc = vbd_disk_info(vbd, disk->svc_id, &vdinfo);
+		if (rc != EOK)
+			return rc;
+
+		dinfo->ltype = vdinfo.ltype;
+		dinfo->flags = vdinfo.flags;
+	}
+
+	return EOK;
+}
+
 
 /** @}
Index: uspace/srv/volsrv/disk.h
===================================================================
--- uspace/srv/volsrv/disk.h	(revision 603c1d1f2f250c70a6ee5b7b75494f1ed4c16e1a)
+++ uspace/srv/volsrv/disk.h	(revision b7a4d06b6d03da11c24ad8eee4f374f7b8a7dc13)
@@ -39,4 +39,5 @@
 
 #include <sys/types.h>
+#include <vol.h>
 #include "types/disk.h"
 
@@ -46,5 +47,6 @@
 extern int vol_disk_find_by_id(service_id_t, vol_disk_t **);
 extern int vol_disk_label_create(vol_disk_t *, label_type_t);
-extern int vol_disk_empty(vol_disk_t *);
+extern int vol_disk_empty_disk(vol_disk_t *);
+extern int vol_disk_get_info(vol_disk_t *, vol_disk_info_t *);
 
 #endif
Index: uspace/srv/volsrv/volsrv.c
===================================================================
--- uspace/srv/volsrv/volsrv.c	(revision 603c1d1f2f250c70a6ee5b7b75494f1ed4c16e1a)
+++ uspace/srv/volsrv/volsrv.c	(revision b7a4d06b6d03da11c24ad8eee4f374f7b8a7dc13)
@@ -43,4 +43,5 @@
 #include <stdlib.h>
 #include <task.h>
+#include <vol.h>
 
 #include "disk.h"
@@ -118,4 +119,5 @@
 	service_id_t sid;
 	vol_disk_t *disk;
+	vol_disk_info_t dinfo;
 	int rc;
 
@@ -127,5 +129,11 @@
 	}
 
-	async_answer_2(iid, rc, disk->dcnt, disk->ltype);
+	rc = vol_disk_get_info(disk, &dinfo);
+	if (rc != EOK) {
+		async_answer_0(iid, EIO);
+		return;
+	}
+
+	async_answer_3(iid, rc, dinfo.dcnt, dinfo.ltype, dinfo.flags);
 }
 
@@ -169,5 +177,5 @@
 	}
 
-	rc = vol_disk_empty(disk);
+	rc = vol_disk_empty_disk(disk);
 	if (rc != EOK) {
 		async_answer_0(iid, EIO);
