[git commit master] mountpoint: btrfs fix

Denys Vlasenko vda.linux at googlemail.com
Sun Nov 1 03:33:23 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=4214f8b537045e88de14a721e6aa773fe36d771f
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Vladimir Dronnikov <dronnikov at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 miscutils/mountpoint.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/miscutils/mountpoint.c b/miscutils/mountpoint.c
index b541ce2..a35c389 100644
--- a/miscutils/mountpoint.c
+++ b/miscutils/mountpoint.c
@@ -55,8 +55,17 @@ int mountpoint_main(int argc UNUSED_PARAM, char **argv)
 
 			if (opt & OPT_d)
 				printf("%u:%u\n", major(st_dev), minor(st_dev));
-			if (opt & OPT_n)
-				printf("%s %s\n", find_block_device(arg), arg);
+			if (opt & OPT_n) {
+				const char *d = find_block_device(arg);
+				/* name is undefined, but device is mounted -> anonymous superblock! */
+				/* happens with btrfs */
+				if (!d) {
+					d = "UNKNOWN";
+					/* TODO: iterate /proc/mounts, or /proc/self/mountinfo
+					 * to find out the device name */
+				}
+				printf("%s %s\n", d, arg);
+			}
 			if (!(opt & (OPT_q | OPT_d | OPT_n)))
 				printf("%s is %sa mountpoint\n", arg, is_not_mnt ? "not " : "");
 			return is_not_mnt;
-- 
1.6.3.3



More information about the busybox-cvs mailing list