Commit 7d81ec0
ext4: ensure zeroed partial blocks are persisted in SYNC mode
In ext4_zero_range() and ext4_punch_hole(), when operating in SYNC mode
and zeroing a partial block, only data=journal modes guarantee that the
zeroed data is synchronously persisted after the operation completes.
For data=ordered/writeback mode and non-journal modes, this guarantee is
missing.
Introduce a partial_zero parameter to explicitly trigger writeback for
all scenarios where a partial block is zeroed, ensuring the zeroed data
is durably persisted.
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://patch.msgid.link/20260327102939.1095257-10-yi.zhang@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>1 parent c4602a1 commit 7d81ec0
3 files changed
Lines changed: 23 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3099 | 3099 | | |
3100 | 3100 | | |
3101 | 3101 | | |
3102 | | - | |
| 3102 | + | |
3103 | 3103 | | |
3104 | 3104 | | |
3105 | 3105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4702 | 4702 | | |
4703 | 4703 | | |
4704 | 4704 | | |
| 4705 | + | |
4705 | 4706 | | |
4706 | 4707 | | |
4707 | 4708 | | |
| |||
4757 | 4758 | | |
4758 | 4759 | | |
4759 | 4760 | | |
4760 | | - | |
| 4761 | + | |
4761 | 4762 | | |
4762 | 4763 | | |
| 4764 | + | |
| 4765 | + | |
| 4766 | + | |
| 4767 | + | |
| 4768 | + | |
| 4769 | + | |
4763 | 4770 | | |
4764 | 4771 | | |
4765 | 4772 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4257 | 4257 | | |
4258 | 4258 | | |
4259 | 4259 | | |
4260 | | - | |
| 4260 | + | |
| 4261 | + | |
4261 | 4262 | | |
4262 | 4263 | | |
4263 | 4264 | | |
| |||
4274 | 4275 | | |
4275 | 4276 | | |
4276 | 4277 | | |
4277 | | - | |
| 4278 | + | |
| 4279 | + | |
4278 | 4280 | | |
4279 | 4281 | | |
4280 | 4282 | | |
4281 | 4283 | | |
4282 | 4284 | | |
4283 | | - | |
| 4285 | + | |
4284 | 4286 | | |
4285 | 4287 | | |
4286 | 4288 | | |
4287 | 4289 | | |
4288 | 4290 | | |
4289 | 4291 | | |
4290 | | - | |
| 4292 | + | |
4291 | 4293 | | |
4292 | 4294 | | |
4293 | 4295 | | |
| |||
4436 | 4438 | | |
4437 | 4439 | | |
4438 | 4440 | | |
| 4441 | + | |
4439 | 4442 | | |
4440 | 4443 | | |
4441 | 4444 | | |
| |||
4471 | 4474 | | |
4472 | 4475 | | |
4473 | 4476 | | |
4474 | | - | |
| 4477 | + | |
4475 | 4478 | | |
4476 | 4479 | | |
| 4480 | + | |
| 4481 | + | |
| 4482 | + | |
| 4483 | + | |
| 4484 | + | |
| 4485 | + | |
4477 | 4486 | | |
4478 | 4487 | | |
4479 | 4488 | | |
| |||
0 commit comments