Whamcloud - gitweb
debian: update debian/patches for 1.42.9-2 release debian-1.42.9-2
authorTheodore Ts'o <tytso@mit.edu>
Mon, 30 Dec 2013 22:59:16 +0000 (17:59 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 30 Dec 2013 22:59:16 +0000 (17:59 -0500)
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
debian/patches/fix-debugfs-block-parse-error-reporting [new file with mode: 0644]
debian/patches/fix-printf-format-type-match [new file with mode: 0644]
debian/patches/fix-spec-file-version [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]

diff --git a/debian/patches/fix-debugfs-block-parse-error-reporting b/debian/patches/fix-debugfs-block-parse-error-reporting
new file mode 100644 (file)
index 0000000..4dfaf5d
--- /dev/null
@@ -0,0 +1,216 @@
+Description: debugfs: restore and tweak original error messaging
+ .
+ In response to reviewer comments, commit fe56188b07 included changes
+ that modified some of the code used to output error messages when
+ checking user-supplied block numbers.  These changes converted calls
+ to parse_ulonglong() to calls to strtoblk().  Because strtoblk() calls
+ parse_ulonglong(), and both output error messages, two redundant and
+ relatively generic messages were output on each error.
+ .
+ Fix this by removing the error message output from strtoblk(), and
+ extending it to accept an optional error message argument that it
+ supplies in lieu of a default to parse_ulonglong().  Also, revert to
+ the more descriptive original error messages with mods per reviewer
+ comments, and fix an error message in do_replace_node().
+ .
+Author: Eric Whitney <enwlinux@gmail.com>
+Origin: upstream
+
+diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
+index cf7670b..998af33 100644
+--- a/debugfs/debugfs.c
++++ b/debugfs/debugfs.c
+@@ -181,7 +181,8 @@ void do_open_filesys(int argc, char **argv)
+                               return;
+                       break;
+               case 's':
+-                      err = strtoblk(argv[0], optarg, &superblock);
++                      err = strtoblk(argv[0], optarg,
++                                     "superblock block number", &superblock);
+                       if (err)
+                               return;
+                       break;
+@@ -284,7 +285,7 @@ void do_init_filesys(int argc, char **argv)
+               return;
+       memset(&param, 0, sizeof(struct ext2_super_block));
+-      err = strtoblk(argv[0], argv[2], &blocks);
++      err = strtoblk(argv[0], argv[2], "blocks count", &blocks);
+       if (err)
+               return;
+       ext2fs_blocks_count_set(&param, blocks);
+@@ -2100,7 +2101,7 @@ void do_bmap(int argc, char *argv[])
+       ino = string_to_inode(argv[1]);
+       if (!ino)
+               return;
+-      err = strtoblk(argv[0], argv[2], &blk);
++      err = strtoblk(argv[0], argv[2], "logical block", &blk);
+       if (err)
+               return;
+@@ -2247,11 +2248,11 @@ void do_punch(int argc, char *argv[])
+       ino = string_to_inode(argv[1]);
+       if (!ino)
+               return;
+-      err = strtoblk(argv[0], argv[2], &start);
++      err = strtoblk(argv[0], argv[2], "logical block", &start);
+       if (err)
+               return;
+       if (argc == 4) {
+-              err = strtoblk(argv[0], argv[3], &end);
++              err = strtoblk(argv[0], argv[3], "logical block", &end);
+               if (err)
+                       return;
+       } else
+@@ -2457,7 +2458,9 @@ int main(int argc, char **argv)
+                                               "block size", 0);
+                       break;
+               case 's':
+-                      retval = strtoblk(argv[0], optarg, &superblock);
++                      retval = strtoblk(argv[0], optarg,
++                                        "superblock block number",
++                                        &superblock);
+                       if (retval)
+                               return 1;
+                       break;
+diff --git a/debugfs/debugfs.h b/debugfs/debugfs.h
+index 6b4f6ef..33389fa 100644
+--- a/debugfs/debugfs.h
++++ b/debugfs/debugfs.h
+@@ -39,7 +39,8 @@ extern unsigned long parse_ulong(const char *str, const char *cmd,
+                                const char *descr, int *err);
+ extern unsigned long long parse_ulonglong(const char *str, const char *cmd,
+                                         const char *descr, int *err);
+-extern int strtoblk(const char *cmd, const char *str, blk64_t *ret);
++extern int strtoblk(const char *cmd, const char *str, const char *errmsg,
++                  blk64_t *ret);
+ extern int common_args_process(int argc, char *argv[], int min_argc,
+                              int max_argc, const char *cmd,
+                              const char *usage, int flags);
+diff --git a/debugfs/extent_inode.c b/debugfs/extent_inode.c
+index b3c55f9..8b22f5e 100644
+--- a/debugfs/extent_inode.c
++++ b/debugfs/extent_inode.c
+@@ -264,15 +264,15 @@ void do_replace_node(int argc, char *argv[])
+               return;
+       }
+-      err = strtoblk(argv[0], argv[1], &extent.e_lblk);
++      err = strtoblk(argv[0], argv[1], "logical block", &extent.e_lblk);
+       if (err)
+               return;
+-      extent.e_len = parse_ulong(argv[2], argv[0], "logical block", &err);
++      extent.e_len = parse_ulong(argv[2], argv[0], "length", &err);
+       if (err)
+               return;
+-      err = strtoblk(argv[0], argv[3], &extent.e_pblk);
++      err = strtoblk(argv[0], argv[3], "physical block", &extent.e_pblk);
+       if (err)
+               return;
+@@ -338,16 +338,15 @@ void do_insert_node(int argc, char *argv[])
+               return;
+       }
+-      err = strtoblk(cmd, argv[1], &extent.e_lblk);
++      err = strtoblk(cmd, argv[1], "logical block", &extent.e_lblk);
+       if (err)
+               return;
+-      extent.e_len = parse_ulong(argv[2], cmd,
+-                                  "length", &err);
++      extent.e_len = parse_ulong(argv[2], cmd, "length", &err);
+       if (err)
+               return;
+-      err = strtoblk(cmd, argv[3], &extent.e_pblk);
++      err = strtoblk(cmd, argv[3], "physical block", &extent.e_pblk);
+       if (err)
+               return;
+@@ -385,11 +384,11 @@ void do_set_bmap(int argc, char **argv)
+               return;
+       }
+-      err = strtoblk(cmd, argv[1], &logical);
++      err = strtoblk(cmd, argv[1], "logical block", &logical);
+       if (err)
+               return;
+-      err = strtoblk(cmd, argv[2], &physical);
++      err = strtoblk(cmd, argv[2], "physical block", &physical);
+       if (err)
+               return;
+@@ -516,7 +515,7 @@ void do_goto_block(int argc, char **argv)
+                                      "block [level]", 0))
+               return;
+-      if (strtoblk(argv[0], argv[1], &blk))
++      if (strtoblk(argv[0], argv[1], NULL, &blk))
+               return;
+       if (argc == 3) {
+diff --git a/debugfs/icheck.c b/debugfs/icheck.c
+index 48f432a..3b9bd14 100644
+--- a/debugfs/icheck.c
++++ b/debugfs/icheck.c
+@@ -86,7 +86,7 @@ void do_icheck(int argc, char **argv)
+       }
+       for (i=1; i < argc; i++) {
+-              if (strtoblk(argv[0], argv[i], &bw.barray[i-1].blk))
++              if (strtoblk(argv[0], argv[i], NULL, &bw.barray[i-1].blk))
+                       goto error_out;
+       }
+diff --git a/debugfs/util.c b/debugfs/util.c
+index aafbc56..21991cf 100644
+--- a/debugfs/util.c
++++ b/debugfs/util.c
+@@ -301,17 +301,20 @@ unsigned long long parse_ulonglong(const char *str, const char *cmd,
+ /*
+  * This function will convert a string to a block number.  It returns
+- * 0 on success, 1 on failure.
++ * 0 on success, 1 on failure.  On failure, it outputs either an optionally
++ * specified error message or a default.
+  */
+-int strtoblk(const char *cmd, const char *str, blk64_t *ret)
++int strtoblk(const char *cmd, const char *str, const char *errmsg,
++           blk64_t *ret)
+ {
+       blk64_t blk;
+       int     err;
+-      blk = parse_ulonglong(str, cmd, "block number", &err);
++      if (errmsg == NULL)
++              blk = parse_ulonglong(str, cmd, "block number", &err);
++      else
++              blk = parse_ulonglong(str, cmd, errmsg, &err);
+       *ret = blk;
+-      if (err)
+-              com_err(cmd, 0, "Invalid block number: %s", str);
+       return err;
+ }
+@@ -369,7 +372,7 @@ int common_block_args_process(int argc, char *argv[],
+                               "<block> [count]", CHECK_FS_BITMAPS))
+               return 1;
+-      if (strtoblk(argv[0], argv[1], block))
++      if (strtoblk(argv[0], argv[1], NULL, block))
+               return 1;
+       if (*block == 0) {
+               com_err(argv[0], 0, "Invalid block number 0");
+@@ -377,7 +380,7 @@ int common_block_args_process(int argc, char *argv[],
+       }
+       if (argc > 2) {
+-              err = strtoblk(argv[0], argv[2], count);
++              err = strtoblk(argv[0], argv[2], "count", count);
+               if (err)
+                       return 1;
+       }
diff --git a/debian/patches/fix-printf-format-type-match b/debian/patches/fix-printf-format-type-match
new file mode 100644 (file)
index 0000000..0ce0df1
--- /dev/null
@@ -0,0 +1,20 @@
+Description: e2image: fix printf format type match
+ .
+ Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+ .
+Author: Theodore Ts'o <tytso@mit.edu>
+Origin: upstream
+
+diff --git a/misc/e2image.c b/misc/e2image.c
+index 0537b0d..402ea9f 100644
+--- a/misc/e2image.c
++++ b/misc/e2image.c
+@@ -707,7 +707,7 @@ more_blocks:
+                       fputc('\b', stderr);
+               strftime(buff, 30, "%T", gmtime(&duration));
+               fprintf(stderr, _("\b\b\b\b\b\b\b\bCopied %llu / %llu "
+-                       "blocks (%llu%%) in %s at %.2f MB/s       \n"),
++                       "blocks (%d%%) in %s at %.2f MB/s       \n"),
+                      total_written, meta_blocks_count,
+                      calc_percent(total_written, meta_blocks_count), buff,
+                      calc_rate(total_written, fs->blocksize, duration));
diff --git a/debian/patches/fix-spec-file-version b/debian/patches/fix-spec-file-version
new file mode 100644 (file)
index 0000000..7253542
--- /dev/null
@@ -0,0 +1,19 @@
+Description: fix version number in e2fsprogs.spec file
+ .
+ Due to a screwup in building the official upsteam source tarball,
+ the version number in the e2fsprogs.spec file wasn't bumped to 1.42.9.
+ Subsequent source extracts will have this fixed.
+ .
+Origin: other
+
+--- e2fsprogs-1.42.9.orig/e2fsprogs.spec
++++ e2fsprogs-1.42.9/e2fsprogs.spec
+@@ -5,7 +5,7 @@
+ Summary: Utilities for managing ext2/ext3/ext4 filesystems
+ Name: e2fsprogs
+-Version: 1.42.8
++Version: 1.42.9
+ Release: 0
+ License: GPLv2
+ Group: System Environment/Base
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..45b462d
--- /dev/null
@@ -0,0 +1,3 @@
+fix-spec-file-version
+fix-printf-format-type-match
+fix-debugfs-block-parse-error-reporting