Whamcloud - gitweb
debugfs: fix set_inode_field block[IND|DIND|TIND]
authorTheodore Ts'o <tytso@mit.edu>
Tue, 19 Aug 2014 12:27:59 +0000 (08:27 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 19 Aug 2014 12:27:59 +0000 (08:27 -0400)
After we determine that we can't parse the array value as an integer,
we need to restore the square brackets to the field name, so that we
can find a match with block[IND], block[DIND], and block[TIND] in the
inode field table.

Reported-by: Jun He <jhe@cs.wisc.edu>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
debugfs/set_fields.c

index 40dc5e7..6104b2b 100644 (file)
@@ -321,8 +321,11 @@ static struct field_set_info *find_field(struct field_set_info *fields,
         */
        if (idx) {
                array_idx = strtol(idx, &tmp, 0);
-               if (*tmp)
+               if (*tmp) {
+                       *(--idx) = '[';
+                       *delim = ']';
                        idx = 0;
+               }
        }
 
        /*