diff options
author | Theodore Ts'o <tytso@mit.edu> | 2017-02-05 21:08:45 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2017-02-05 21:08:45 -0500 |
commit | 00b010e7aed21156307df2a32da7fc6d89e4c11a (patch) | |
tree | 32ab30441972624fbdde8512d10d8be2799b5545 | |
parent | d085ae86dae43e8b74ad0c476921d2001689e144 (diff) | |
download | e2fsprogs-debian-packaging.tar.gz |
Add debian packaging for tune2fs-fix-quota-enablement-regressiondebian-packaging
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r-- | debian/patches/series | 1 | ||||
-rw-r--r-- | debian/patches/tune2fs-fix-quota-enablement-regression | 71 |
2 files changed, 72 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series index bdc6d2205..8fa1f64bd 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ e2fsprogs-1.43.4-release-fixup enable-metadata_csum-by-default +tune2fs-fix-quota-enablement-regression diff --git a/debian/patches/tune2fs-fix-quota-enablement-regression b/debian/patches/tune2fs-fix-quota-enablement-regression new file mode 100644 index 000000000..f46ad0368 --- /dev/null +++ b/debian/patches/tune2fs-fix-quota-enablement-regression @@ -0,0 +1,71 @@ +From: Eric Whitney <enwlinux@gmail.com> +Description: tune2fs: fix quota enablement regression + Commit 5c2a665afa (Avoid dereferencing beyond allocated memory in quota + handling) induced a quota enablement regression in tune2fs. Attempts + to enable a particular quota type (tune2fs -O project <dev>, for + example) set the appropriate feature flag in the superblock but the + quota file for the type is not initialized. + . + The regression prevents the current version of xfstests from running + generic/383, 384, 385, and 386 (all project quota tests) with e2fsprogs + 1.43.4. These tests exit with the message "Installed kernel does not + support project quotas", but the actual problem is that the project + quota file is not present. +Origin: upstream, commit: 5f82cc95b31f87c62f18848142597d094fe966ee +--- + misc/tune2fs.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/misc/tune2fs.c b/misc/tune2fs.c +index 62395776..f1bad606 100644 +--- a/misc/tune2fs.c ++++ b/misc/tune2fs.c +@@ -1483,7 +1483,7 @@ static void handle_quota_options(ext2_filsys fs) + quota_ctx_t qctx; + ext2_ino_t qf_ino; + enum quota_type qtype; +- int enable = 0; ++ unsigned int qtype_bits = 0; + + for (qtype = 0 ; qtype < MAXQUOTAS; qtype++) + if (quota_enable[qtype] != 0) +@@ -1492,19 +1492,19 @@ static void handle_quota_options(ext2_filsys fs) + /* Nothing to do. */ + return; + +- retval = quota_init_context(&qctx, fs, 0); ++ for (qtype = 0; qtype < MAXQUOTAS; qtype++) { ++ if (quota_enable[qtype] == QOPT_ENABLE) ++ qtype_bits |= 1 << qtype; ++ } ++ ++ retval = quota_init_context(&qctx, fs, qtype_bits); + if (retval) { + com_err(program_name, retval, + _("while initializing quota context in support library")); + exit(1); + } +- for (qtype = 0 ; qtype < MAXQUOTAS; qtype++) { +- if (quota_enable[qtype] == QOPT_ENABLE) { +- enable = 1; +- break; +- } +- } +- if (enable) ++ ++ if (qtype_bits) + quota_compute_usage(qctx); + + for (qtype = 0 ; qtype < MAXQUOTAS; qtype++) { +@@ -1540,7 +1540,7 @@ static void handle_quota_options(ext2_filsys fs) + + quota_release_context(&qctx); + +- if (enable) { ++ if (qtype_bits) { + ext2fs_set_feature_quota(fs->super); + ext2fs_mark_super_dirty(fs); + } else { +-- +2.11.0.rc0.7.gbe5a750 + |