Index: uspace/app/fdisk/fdisk.c
===================================================================
--- uspace/app/fdisk/fdisk.c	(revision 2456fd045bff5152efb26cabb5e5324c45875540)
+++ uspace/app/fdisk/fdisk.c	(revision d858a660afff3b05ffdfe37e6957b83b447f6b26)
@@ -677,4 +677,5 @@
 	char *svcname = NULL;
 	char *spkind;
+	const char *label;
 	int rc;
 	int npart;
@@ -717,5 +718,5 @@
 	fdisk_dev_get_flags(dev, &dflags);
 
-	printf("Device: %s, %s\n", sdcap, svcname);
+	printf("Device: %s (%s)\n", svcname, sdcap);
 	free(sdcap);
 	sdcap = NULL;
@@ -769,8 +770,13 @@
 		}
 
+		if (str_size(pinfo.label) > 0)
+			label = pinfo.label;
+		else
+			label = "(No label)";
+
 		if (linfo.ltype == lt_none)
-			printf("Entire disk: %s", scap);
+			printf("Entire disk: %s %s", label, scap);
 		else
-			printf("Partition %d: %s", npart, scap);
+			printf("Partition %d: %s %s", npart, label, scap);
 
 		if ((linfo.flags & lf_ext_supp) != 0) {
Index: uspace/lib/c/include/ipc/vol.h
===================================================================
--- uspace/lib/c/include/ipc/vol.h	(revision 2456fd045bff5152efb26cabb5e5324c45875540)
+++ uspace/lib/c/include/ipc/vol.h	(revision d858a660afff3b05ffdfe37e6957b83b447f6b26)
@@ -36,4 +36,6 @@
 #include <ipc/common.h>
 
+#define VOL_LABEL_MAXLEN 63
+
 typedef enum {
 	VOL_GET_PARTS = IPC_FIRST_USER_METHOD,
Index: uspace/lib/c/include/types/vol.h
===================================================================
--- uspace/lib/c/include/types/vol.h	(revision 2456fd045bff5152efb26cabb5e5324c45875540)
+++ uspace/lib/c/include/types/vol.h	(revision d858a660afff3b05ffdfe37e6957b83b447f6b26)
@@ -37,4 +37,5 @@
 
 #include <async.h>
+#include <ipc/vol.h>
 
 typedef enum {
@@ -71,4 +72,6 @@
 	/** Filesystem type */
 	vol_fstype_t fstype;
+	/** Volume label */
+	char label[VOL_LABEL_MAXLEN + 1];
 } vol_part_info_t;
 
Index: uspace/lib/fdisk/include/types/fdisk.h
===================================================================
--- uspace/lib/fdisk/include/types/fdisk.h	(revision 2456fd045bff5152efb26cabb5e5324c45875540)
+++ uspace/lib/fdisk/include/types/fdisk.h	(revision d858a660afff3b05ffdfe37e6957b83b447f6b26)
@@ -187,4 +187,6 @@
 	/** Service ID */
 	service_id_t svc_id;
+	/** Volume label */
+	char *label;
 } fdisk_part_t;
 
@@ -209,4 +211,6 @@
 	/** File system type */
 	vol_fstype_t fstype;
+	/** Volume label */
+	char *label;
 } fdisk_part_info_t;
 
Index: uspace/lib/fdisk/src/fdisk.c
===================================================================
--- uspace/lib/fdisk/src/fdisk.c	(revision 2456fd045bff5152efb26cabb5e5324c45875540)
+++ uspace/lib/fdisk/src/fdisk.c	(revision d858a660afff3b05ffdfe37e6957b83b447f6b26)
@@ -269,4 +269,5 @@
 		part->pcnt = vpinfo.pcnt;
 		part->fstype = vpinfo.fstype;
+		part->label = str_dup(vpinfo.label);
 	}
 
@@ -301,4 +302,6 @@
 	return EOK;
 error:
+	if (part != NULL)
+		free(part->label);
 	free(part);
 	return rc;
@@ -315,4 +318,6 @@
 	if (link_used(&part->llog_ba))
 		list_remove(&part->llog_ba);
+
+	free(part->label);
 	free(part);
 }
@@ -667,4 +672,5 @@
 	info->fstype = part->fstype;
 	info->pkind = part->pkind;
+	info->label = part->label;
 	return EOK;
 }
Index: uspace/srv/volsrv/part.c
===================================================================
--- uspace/srv/volsrv/part.c	(revision 2456fd045bff5152efb26cabb5e5324c45875540)
+++ uspace/srv/volsrv/part.c	(revision d858a660afff3b05ffdfe37e6957b83b447f6b26)
@@ -186,4 +186,7 @@
 		part->pcnt = vpc_fs;
 		part->fstype = fst->fstype;
+		part->label = str_dup(info.label);
+		if (part->label == NULL)
+			goto error;
 	} else {
 		log_msg(LOG_DEFAULT, LVL_NOTE, "Partition does not contain "
@@ -198,4 +201,7 @@
 
 		part->pcnt = empty ? vpc_empty : vpc_unknown;
+		part->label = str_dup("");
+		if (part->label == NULL)
+			goto error;
 	}
 
@@ -327,4 +333,5 @@
 	pinfo->pcnt = part->pcnt;
 	pinfo->fstype = part->fstype;
+	str_cpy(pinfo->label, sizeof(pinfo->label), part->label);
 	return EOK;
 }
Index: uspace/srv/volsrv/types/part.h
===================================================================
--- uspace/srv/volsrv/types/part.h	(revision 2456fd045bff5152efb26cabb5e5324c45875540)
+++ uspace/srv/volsrv/types/part.h	(revision d858a660afff3b05ffdfe37e6957b83b447f6b26)
@@ -52,4 +52,6 @@
 	/** Filesystem type */
 	vol_fstype_t fstype;
+	/** Volume label */
+	char *label;
 } vol_part_t;
 
