diff options
Diffstat (limited to 'main/busybox/0001-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch')
-rw-r--r-- | main/busybox/0001-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch | 45 |
1 files changed, 36 insertions, 9 deletions
diff --git a/main/busybox/0001-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch b/main/busybox/0001-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch index 323e0790214..31d8e3f89d7 100644 --- a/main/busybox/0001-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch +++ b/main/busybox/0001-fsck-resolve-LABEL-.-UUID-.-spec-to-device.patch @@ -1,14 +1,14 @@ -From 549b5fa1384bb29c3ea92486539dccd9a7d71b83 Mon Sep 17 00:00:00 2001 +From 54f76ba53e22fdbc9efebe8b42dd121ec3126fef Mon Sep 17 00:00:00 2001 From: Natanael Copa <ncopa@alpinelinux.org> Date: Tue, 28 Nov 2017 13:23:17 +0100 Subject: [PATCH] fsck: resolve LABEL=.../UUID=... spec to device --- - e2fsprogs/fsck.c | 2 ++ - 1 file changed, 2 insertions(+) + e2fsprogs/fsck.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/e2fsprogs/fsck.c b/e2fsprogs/fsck.c -index eb53002b1..2adf0cf07 100644 +index eb53002b1..338701c6a 100644 --- a/e2fsprogs/fsck.c +++ b/e2fsprogs/fsck.c @@ -60,6 +60,7 @@ @@ -19,14 +19,41 @@ index eb53002b1..2adf0cf07 100644 #include "common_bufsiz.h" /* "progress indicator" code is somewhat buggy and ext[23] specific. -@@ -976,6 +977,7 @@ int fsck_main(int argc UNUSED_PARAM, char **argv) - // "/path", "UUID=xxx" or "LABEL=xxx" into block device name - // ("UUID=xxx"/"LABEL=xxx" can probably shifted to fsck.auto duties) +@@ -523,12 +524,13 @@ static int wait_many(int flags) + * Execute a particular fsck program, and link it into the list of + * child processes we are waiting for. + */ +-static void execute(const char *type, const char *device, ++static void execute(const char *type, const char *spec, + const char *mntpt /*, int interactive */) + { + int i; + struct fsck_instance *inst; + pid_t pid; ++ char *device = (char *)spec; + + G.args[0] = xasprintf("fsck.%s", type); + +@@ -543,7 +545,8 @@ static void execute(const char *type, const char *device, + } + #endif + +- G.args[G.num_args - 2] = (char*)device; ++ resolve_mount_spec(&device); ++ G.args[G.num_args - 2] = device; + /* G.args[G.num_args - 1] = NULL; - already is */ + + if (G.verbose || G.noexecute) { +@@ -972,9 +975,6 @@ int fsck_main(int argc UNUSED_PARAM, char **argv) + + /* "/dev/blk" or "/path" or "UUID=xxx" or "LABEL=xxx" */ + if ((arg[0] == '/' && !opts_for_fsck) || strchr(arg, '=')) { +-// FIXME: must check that arg is a blkdev, or resolve +-// "/path", "UUID=xxx" or "LABEL=xxx" into block device name +-// ("UUID=xxx"/"LABEL=xxx" can probably shifted to fsck.auto duties) devices = xrealloc_vector(devices, 2, num_devices); -+ resolve_mount_spec(&arg); devices[num_devices++] = arg; continue; - } -- 2.15.0 |