Include ext4 patch to prevent fsync from failing with ENOMEM |
||||||||||||
Issue descriptionPatch to include: https://patchwork.ozlabs.org/patch/602204/ An error was observed when calling fdatasync on a new ext4-crypto partition. Chrome Version: 59 OS: ChromeOS Observed on a Chromebook Plus with development version including USE=direncryption
,
Apr 11 2017
The path is needed, I will add it as well as its dependencies tonight.
,
Apr 11 2017
Thanks! It seems the said patch is in our 3.14 and 3.18, but not in 4.4.
,
Apr 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bf70af60ed149c7d3d62d5c7da05d6a8986296c0 commit bf70af60ed149c7d3d62d5c7da05d6a8986296c0 Author: Theodore Ts'o <tytso@mit.edu> Date: Wed Apr 12 23:07:40 2017 BACKPORT: ext4 crypto: don't let data integrity writebacks fail with ENOMEM We don't want the writeback triggered from the journal commit (in data=writeback mode) to cause the journal to abort due to generic_writepages() returning an ENOMEM error. In addition, if fsync() fails with ENOMEM, most applications will probably not do the right thing. So if we are doing a data integrity sync, and ext4_encrypt() returns ENOMEM, we will submit any queued I/O to date, and then retry the allocation using GFP_NOFAIL. Google-Bug-Id: 27641567 Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit c9af28fdd44922a6c10c9f8315718408af98e315 Use old cypher interface: ablkcipher_request_alloc) BUG= chromium:710336 TEST=compile load on cyan, already archived in 3.18 and 4.4 Change-Id: I9b9eacdb27dffcab5923a44fe73aaa4f55f4d1ec Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475207 Reviewed-by: Guenter Roeck <groeck@chromium.org> [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/crypto.c [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/page-io.c [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/readpage.c [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/ext4.h
,
Apr 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Wed Apr 12 23:07:41 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> [modify] https://crrev.com/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94/fs/ext4/page-io.c
,
Apr 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bf70af60ed149c7d3d62d5c7da05d6a8986296c0 commit bf70af60ed149c7d3d62d5c7da05d6a8986296c0 Author: Theodore Ts'o <tytso@mit.edu> Date: Wed Apr 12 23:07:40 2017 BACKPORT: ext4 crypto: don't let data integrity writebacks fail with ENOMEM We don't want the writeback triggered from the journal commit (in data=writeback mode) to cause the journal to abort due to generic_writepages() returning an ENOMEM error. In addition, if fsync() fails with ENOMEM, most applications will probably not do the right thing. So if we are doing a data integrity sync, and ext4_encrypt() returns ENOMEM, we will submit any queued I/O to date, and then retry the allocation using GFP_NOFAIL. Google-Bug-Id: 27641567 Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit c9af28fdd44922a6c10c9f8315718408af98e315 Use old cypher interface: ablkcipher_request_alloc) BUG= chromium:710336 TEST=compile load on cyan, already archived in 3.18 and 4.4 Change-Id: I9b9eacdb27dffcab5923a44fe73aaa4f55f4d1ec Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475207 Reviewed-by: Guenter Roeck <groeck@chromium.org> [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/crypto.c [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/page-io.c [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/readpage.c [modify] https://crrev.com/bf70af60ed149c7d3d62d5c7da05d6a8986296c0/fs/ext4/ext4.h
,
Apr 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Wed Apr 12 23:07:41 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> [modify] https://crrev.com/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94/fs/ext4/page-io.c
,
Apr 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Wed Apr 12 23:07:41 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> [modify] https://crrev.com/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94/fs/ext4/page-io.c
,
Apr 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Wed Apr 12 23:07:41 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> [modify] https://crrev.com/49a2f84f87e23f97d7ccc4d7295549e5efdf3a94/fs/ext4/page-io.c
,
Apr 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/90d4d72c6ab5a93dcbb986a53dc0f0160191aed0 commit 90d4d72c6ab5a93dcbb986a53dc0f0160191aed0 Author: Theodore Ts'o <tytso@mit.edu> Date: Sat Apr 15 03:21:30 2017 BACKPORT: ext4 crypto: don't let data integrity writebacks fail with ENOMEM We don't want the writeback triggered from the journal commit (in data=writeback mode) to cause the journal to abort due to generic_writepages() returning an ENOMEM error. In addition, if fsync() fails with ENOMEM, most applications will probably not do the right thing. So if we are doing a data integrity sync, and ext4_encrypt() returns ENOMEM, we will submit any queued I/O to date, and then retry the allocation using GFP_NOFAIL. Google-Bug-Id: 27641567 Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit c9af28fdd44922a6c10c9f8315718408af98e315 Use old cypher interface: ablkcipher_request_alloc) BUG= chromium:710336 TEST=compile load on cyan, already archived in 3.18 and 4.4 Change-Id: I9b9eacdb27dffcab5923a44fe73aaa4f55f4d1ec Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475207 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit bf70af60ed149c7d3d62d5c7da05d6a8986296c0) Reviewed-on: https://chromium-review.googlesource.com/479033 [modify] https://crrev.com/90d4d72c6ab5a93dcbb986a53dc0f0160191aed0/fs/ext4/crypto.c [modify] https://crrev.com/90d4d72c6ab5a93dcbb986a53dc0f0160191aed0/fs/ext4/page-io.c [modify] https://crrev.com/90d4d72c6ab5a93dcbb986a53dc0f0160191aed0/fs/ext4/readpage.c [modify] https://crrev.com/90d4d72c6ab5a93dcbb986a53dc0f0160191aed0/fs/ext4/ext4.h
,
Apr 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/b4effc7e65a45d665b4fa6a547e1a14336daa0e9 commit b4effc7e65a45d665b4fa6a547e1a14336daa0e9 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Sat Apr 15 07:13:34 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/479031 [modify] https://crrev.com/b4effc7e65a45d665b4fa6a547e1a14336daa0e9/fs/ext4/page-io.c
,
Apr 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f32efe93f05a46a74eba40cee9bb06437c72023d commit f32efe93f05a46a74eba40cee9bb06437c72023d Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Mon Apr 17 16:08:09 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/479031 (cherry picked from commit b4effc7e65a45d665b4fa6a547e1a14336daa0e9) Reviewed-on: https://chromium-review.googlesource.com/479557 [modify] https://crrev.com/f32efe93f05a46a74eba40cee9bb06437c72023d/fs/ext4/page-io.c
,
Apr 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f32efe93f05a46a74eba40cee9bb06437c72023d commit f32efe93f05a46a74eba40cee9bb06437c72023d Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Mon Apr 17 16:08:09 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/479031 (cherry picked from commit b4effc7e65a45d665b4fa6a547e1a14336daa0e9) Reviewed-on: https://chromium-review.googlesource.com/479557 [modify] https://crrev.com/f32efe93f05a46a74eba40cee9bb06437c72023d/fs/ext4/page-io.c
,
Apr 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/aac02d87335c5a9225d5597fec5d62ecef0e036f commit aac02d87335c5a9225d5597fec5d62ecef0e036f Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Sat Apr 22 04:57:47 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/479032 [modify] https://crrev.com/aac02d87335c5a9225d5597fec5d62ecef0e036f/fs/ext4/page-io.c
,
Apr 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4e81cdc6ad0712948847c11039ce674f19720b38 commit 4e81cdc6ad0712948847c11039ce674f19720b38 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Sun Apr 23 03:14:36 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/479032 (cherry picked from commit aac02d87335c5a9225d5597fec5d62ecef0e036f) Reviewed-on: https://chromium-review.googlesource.com/485220 [modify] https://crrev.com/4e81cdc6ad0712948847c11039ce674f19720b38/fs/ext4/page-io.c
,
Apr 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/736f901d9ef416936f03df5509dd69c710cb0d58 commit 736f901d9ef416936f03df5509dd69c710cb0d58 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Sun Apr 23 03:14:41 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/479032 (cherry picked from commit aac02d87335c5a9225d5597fec5d62ecef0e036f) Reviewed-on: https://chromium-review.googlesource.com/485219 [modify] https://crrev.com/736f901d9ef416936f03df5509dd69c710cb0d58/fs/ext4/page-io.c
,
Apr 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/f2d89b1d30e74d5cd96ca16ff3689812ffab78f8 commit f2d89b1d30e74d5cd96ca16ff3689812ffab78f8 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Sun Apr 23 03:19:58 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/485221 [modify] https://crrev.com/f2d89b1d30e74d5cd96ca16ff3689812ffab78f8/fs/ext4/page-io.c
,
Apr 23 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8ec542fe2a003be16ce64f5329d33848fd95a369 commit 8ec542fe2a003be16ce64f5329d33848fd95a369 Author: Dan Carpenter <dan.carpenter@oracle.com> Date: Sun Apr 23 03:20:03 2017 UPSTREAM: ext4 crypto: fix some error handling We should be testing for -ENOMEM but the minus sign is missing. Fixes: c9af28fdd449 ('ext4 crypto: don't let data integrity writebacks fail with ENOMEM') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> (cherry picked from commit 4762cc3fbbd89e5fd316d6e4d3244a8984444f8d) BUG= chromium:710336 TEST=compile load on cyan Change-Id: Ie3bc77434cfb2b00a868151a9c3ace673928f890 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/475208 Reviewed-by: Guenter Roeck <groeck@chromium.org> (cherry picked from commit 49a2f84f87e23f97d7ccc4d7295549e5efdf3a94) Reviewed-on: https://chromium-review.googlesource.com/479031 (cherry picked from commit b4effc7e65a45d665b4fa6a547e1a14336daa0e9) Reviewed-on: https://chromium-review.googlesource.com/485222 [modify] https://crrev.com/8ec542fe2a003be16ce64f5329d33848fd95a369/fs/ext4/page-io.c
,
May 23 2017
,
Jan 22 2018
|
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by uekawa@chromium.org
, Apr 11 2017Labels: -Pri-2 M-59 Pri-1