[LU-17184] remove corrupted local config llog Created: 11/Oct/23 Updated: 14/Nov/23 Resolved: 09/Nov/23 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.16.0 |
| Type: | Improvement | Priority: | Major |
| Reporter: | Mikhail Pershin | Assignee: | Mikhail Pershin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||
| Severity: | 3 | ||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
damaged local config llog can stay on target and prevent it from mount. This happens because mgc_llog_local_copy() uses llog_erase() to remove llogs which can't do the job if llog header is damaged. Such situation can be resolved by manual cleanup via ldiskfs mount only. The mgc_llog_local_copy() should be reworked to remove local llog and its backup if they are not valid. |
| Comments |
| Comment by Gerrit Updater [ 13/Oct/23 ] |
|
"Mikhail Pershin <mpershin@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/52697 |
| Comment by Mikhail Pershin [ 13/Oct/23 ] |
|
The llog_erase() analysis showed that is can work without calling llog_init_handle() which validates llog header and fails if it is damaged. So llog_erase() can just destroy llog as file without checking its internals. That resolves the part of issue about removal of damaged configs. The second part of solution is to avoid exiting with error when local config can't be copied to backup, there is no need to prevent mount. Instead we just proceed with remote llog copying and refresh local config. |
| Comment by Gerrit Updater [ 08/Nov/23 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52697/ |
| Comment by Peter Jones [ 09/Nov/23 ] |
|
Landed for 2.16 |