Commit 11b036c
committed
Prevented unnecessary superblock rewrites if old version in superblock chain
Because multiple, out-of-date superblocks can exist in our superblock
chain, we need to be careful to make sure newer superblock entries
override older superblock entries.
If we see an older on-disk minor version in the superblock chain, we
were correctly overriding the on-disk minor version, but we were also
leaving the "needs superblock" bit set in our consistency state.
This isn't a hard-error, but would lead to a superblock rewrite every
mount. The rewrite would make no progress, as the out-of-date version is
effectively immutable at this point, and just waste prog cycles.
This should fix that by clearing the "needs superblock" bit if we see a
newer on-disk minor version.1 parent 25ee90f commit 11b036c
1 file changed
+5
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4469 | 4469 | | |
4470 | 4470 | | |
4471 | 4471 | | |
| 4472 | + | |
4472 | 4473 | | |
4473 | 4474 | | |
4474 | 4475 | | |
4475 | 4476 | | |
4476 | 4477 | | |
4477 | 4478 | | |
4478 | 4479 | | |
4479 | | - | |
4480 | | - | |
4481 | | - | |
| 4480 | + | |
4482 | 4481 | | |
| 4482 | + | |
| 4483 | + | |
| 4484 | + | |
4483 | 4485 | | |
4484 | 4486 | | |
4485 | 4487 | | |
| |||
0 commit comments