aboutsummaryrefslogtreecommitdiffstats
path: root/main/btrfs-progs/musl-compat.patch
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@gmail.com>2014-07-30 15:44:00 +0200
committerCarlo Landmeter <clandmeter@gmail.com>2014-07-30 15:44:00 +0200
commit32cbca3231fa46ccf05eb8ef94adb2f973292990 (patch)
tree15adff3ddf79cabc92ea1be5e529a6c1c2dd6c0a /main/btrfs-progs/musl-compat.patch
parent0615b6c0b127285338934ef4d7b874a65225174e (diff)
downloadaports-32cbca3231fa46ccf05eb8ef94adb2f973292990.tar.bz2
aports-32cbca3231fa46ccf05eb8ef94adb2f973292990.tar.xz
main/btrfs-progs: musl compat
Diffstat (limited to 'main/btrfs-progs/musl-compat.patch')
-rw-r--r--main/btrfs-progs/musl-compat.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/main/btrfs-progs/musl-compat.patch b/main/btrfs-progs/musl-compat.patch
new file mode 100644
index 0000000000..63e6220007
--- /dev/null
+++ b/main/btrfs-progs/musl-compat.patch
@@ -0,0 +1,23 @@
+--- a/utils.c
++++ b/utils.c
+@@ -833,13 +833,19 @@
+ {
+ int ret;
+ FILE *f;
++ struct stat stat_buf;
+ char fmt[20];
+ char p[PATH_MAX];
+ char real_loop_dev[PATH_MAX];
+
+ if (!realpath(loop_dev, real_loop_dev))
+ return -errno;
+- snprintf(p, PATH_MAX, "/sys/block/%s/loop/backing_file", strrchr(real_loop_dev, '/'));
++
++ if (stat(real_loop_dev, &stat_buf) || !S_ISBLK(stat_buf.st_mode))
++ return -errno;
++
++ snprintf(p, PATH_MAX, "/sys/dev/block/%d:%d/loop/backing_file",
++ major(stat_buf.st_rdev), minor(stat_buf.st_rdev));
+ if (!(f = fopen(p, "r")))
+ return -errno;
+