From 28f9f620f3473389cdba80ae606bf064e5b16628 Mon Sep 17 00:00:00 2001 From: Michael Lass Date: Sun, 8 Nov 2015 16:33:03 +0100 Subject: [PATCH] btrfs-progs: mkfs: increase buffer size in is_ssd In current versions of util-linux the buffer passed to blkid_devno_to_wholedisk has to be sufficiently large to not only hold the device name but the complete target of the /sys/dev/block/ symlink. This was changed only recently in 4419ffb9eff5801fdbd385a4a6199b3877f802ad. The small buffer size currently can lead to failure of is_ssd due to truncated device names: readlink("/sys/dev/block/254:7", "../../devices/virtual/block/dm-", 31) = 31 open("/sys/block/dm-/queue/rotational", O_RDONLY) = -1 ENOENT (No such file or directory) Signed-off-by: Michael Lass Signed-off-by: David Sterba --- mkfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkfs.c b/mkfs.c index 1e0d0a89..5f1411f1 100644 --- a/mkfs.c +++ b/mkfs.c @@ -1111,7 +1111,7 @@ static int zero_output_file(int out_fd, u64 size) static int is_ssd(const char *file) { blkid_probe probe; - char wholedisk[32]; + char wholedisk[PATH_MAX]; char sysfs_path[PATH_MAX]; dev_t devno; int fd;