summaryrefslogtreecommitdiff
path: root/debian/patches/mount-bind.patch
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-10-05 23:23:52 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-10-05 23:23:52 +0200
commitb1d2b82dc9e1137a50fdac0d8a1f6b627517eb0d (patch)
tree56b3fed100ee9281d2191cf2794e80acbf6ae4c3 /debian/patches/mount-bind.patch
parent0d38d97649de5f94202f820c9f97549a954c2acd (diff)
drop merged patch
Diffstat (limited to 'debian/patches/mount-bind.patch')
-rw-r--r--debian/patches/mount-bind.patch113
1 files changed, 0 insertions, 113 deletions
diff --git a/debian/patches/mount-bind.patch b/debian/patches/mount-bind.patch
deleted file mode 100644
index 2a470c65..00000000
--- a/debian/patches/mount-bind.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-This is waiting for gg0's copyright assignment completion
-
-From: Gabriele Giacone <1o5g4r8o@gmail.com>
-
-* utils/mount.c (parse_opt): Add -B/--bind/--firmlink/-o bind mount
- options. (do_mount): Do not pass bind mount option to settrans, set
- firmlink fstype. (main): Likewise.
----
- utils/mount.c | 38 +++++++++++++++++++++++++++++++-------
- 1 file changed, 31 insertions(+), 7 deletions(-)
-
-diff --git a/utils/mount.c b/utils/mount.c
-index df77c66..e6893cb 100644
---- a/utils/mount.c
-+++ b/utils/mount.c
-@@ -64,6 +64,8 @@ static const struct argp_option argp_opts[] =
- {"no-mtab", 'n', 0, 0, "Do not update /etc/mtab"},
- {"test-opts", 'O', "OPTIONS", 0,
- "Only mount fstab entries matching the given set of options"},
-+ {"bind", 'B', 0, 0, "Bind mount, firmlink"},
-+ {"firmlink", 0, 0, OPTION_ALIAS},
- {"fake", 'f', 0, 0, "Do not actually mount, just pretend"},
- {0, 0}
- };
-@@ -87,6 +89,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
- case 'r': ARGZ (add (&options, &options_len, "ro"));
- case 'w': ARGZ (add (&options, &options_len, "rw"));
- case 'u': ARGZ (add (&options, &options_len, "update"));
-+ case 'B': ARGZ (add (&options, &options_len, "bind"));
- case 'o': ARGZ (add_sep (&options, &options_len, arg, ','));
- case 'v': ++verbose; break;
- #undef ARGZ
-@@ -250,12 +253,20 @@ do_mount (struct fs *fs, int remount)
- /* Append the fstab options to any specified on the command line. */
- ARGZ (create_sep (fs->mntent.mnt_opts, ',', &mntopts, &mntopts_len));
-
-- /* Remove the `noauto' option, since it's for us not the filesystem. */
-+ /* Remove the `noauto' and `bind' options, since they're for us not the
-+ filesystem. */
- for (o = mntopts; o; o = argz_next (mntopts, mntopts_len, o))
-- if (!strcmp (o, MNTOPT_NOAUTO))
-- break;
-- if (o)
-- argz_delete (&mntopts, &mntopts_len, o);
-+ {
-+ if (strcmp (o, MNTOPT_NOAUTO) == 0)
-+ argz_delete (&mntopts, &mntopts_len, o);
-+ if (strcmp (o, "bind") == 0)
-+ {
-+ fs->mntent.mnt_type = strdup ("firmlink");
-+ if (! fs->mntent.mnt_type)
-+ error (3, ENOMEM, "failed to allocate memory");
-+ argz_delete (&mntopts, &mntopts_len, o);
-+ }
-+ }
-
- ARGZ (append (&mntopts, &mntopts_len, options, options_len));
- }
-@@ -273,7 +284,7 @@ do_mount (struct fs *fs, int remount)
- }
- else if (strcmp (o, "defaults") != 0 &&
- strcmp (o, "loop") != 0 &&
-- strcmp (o, "exec") != 0)
-+ strcmp (o, "exec") != 0 && strlen (o) != 0)
- {
- /* Prepend `--' to the option to make a long option switch,
- e.g. `--ro' or `--rsize=1024'. */
-@@ -572,7 +583,7 @@ do_query (struct fs *fs)
- int
- main (int argc, char **argv)
- {
-- unsigned int remount;
-+ unsigned int remount, firmlink = 0;
- struct fstab *fstab;
- struct fs *fs;
- error_t err;
-@@ -598,6 +609,15 @@ main (int argc, char **argv)
- if (err)
- error (3, ENOMEM, "collecting mount options");
-
-+ /* Do not pass `bind' option to firmlink translator */
-+ char *opt = NULL;
-+ while ((opt = argz_next (options, options_len, opt)))
-+ if (strcmp (opt, "bind") == 0)
-+ {
-+ firmlink = 1;
-+ argz_delete(&options, &options_len, opt);
-+ }
-+
- if (device) /* two-argument form */
- {
- struct mntent m =
-@@ -608,6 +628,8 @@ main (int argc, char **argv)
- mnt_opts: 0,
- mnt_freq: 0, mnt_passno: 0
- };
-+ if (firmlink)
-+ m.mnt_type = strdup ("firmlink");
-
- err = fstab_add_mntent (fstab, &m, &fs);
- if (err)
-@@ -625,6 +647,8 @@ main (int argc, char **argv)
- mnt_opts: 0,
- mnt_freq: 0, mnt_passno: 0
- };
-+ if (firmlink)
-+ m.mnt_type = strdup ("firmlink");
-
- err = fstab_add_mntent (fstab, &m, &fs);
- if (err)
---
-2.0.0.rc2
-