Index: uspace/app/blkdump/blkdump.c
===================================================================
--- uspace/app/blkdump/blkdump.c	(revision cd5816d6e1fbb72939a8862b69c851363fa032f4)
+++ uspace/app/blkdump/blkdump.c	(revision 8bd5dad5ecd2864a0b786bb755ee062c3c5aafe0)
@@ -69,4 +69,5 @@
 	aoff64_t current;
 	aoff64_t limit;
+	bool relative = false;
 	
 	if (argc < 2) {
@@ -78,4 +79,9 @@
 	--argc; ++argv;
 
+	if (str_cmp(*argv, "--relative") == 0) {
+		--argc; ++argv;
+		relative = true;
+	}
+	
 	if (str_cmp(*argv, "--offset") == 0) {
 		--argc; ++argv;
@@ -166,5 +172,10 @@
 		
 		for (data_offset = 0; data_offset < block_size; data_offset += 16) {
-			printf("%8" PRIxOFF64 ": ", current*block_size + data_offset);
+			if (relative) {
+				printf("%8" PRIxOFF64 ": ", (aoff64_t) data_offset);
+			}
+			else {
+				printf("%8" PRIxOFF64 ": ", current*block_size + data_offset);
+			}
 			print_hex_row(data+data_offset, block_size-data_offset, 16);
 			printf("\n");
@@ -224,5 +235,5 @@
 static void syntax_print(void)
 {
-	printf("syntax: blkdump [--offset <num_blocks>] [--count <num_blocks>] <device_name>\n");
+	printf("syntax: blkdump [--relative] [--offset <num_blocks>] [--count <num_blocks>] <device_name>\n");
 }
 
