diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-10-05 23:23:52 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-10-05 23:23:52 +0200 |
commit | b1d2b82dc9e1137a50fdac0d8a1f6b627517eb0d (patch) | |
tree | 56b3fed100ee9281d2191cf2794e80acbf6ae4c3 /debian/patches/mount-bind.patch | |
parent | 0d38d97649de5f94202f820c9f97549a954c2acd (diff) |
drop merged patch
Diffstat (limited to 'debian/patches/mount-bind.patch')
-rw-r--r-- | debian/patches/mount-bind.patch | 113 |
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 - |