Func write_primary_superblock() has two way to wirte disk. One is 1k block,
the other is byte by byte as default. On unreliable IO case such as flaky
network, the byte-by-byte method may lost some data of ext4-superblock.
Then, the superblock may lose consistency and the sb checksum error will
occur.
We provide the env param E2FS_UNRELIABLE_IO for users to choose if it's
necessary to take 1k block way on writing disk.
Fix issue:https://gitee.com/src-openeuler/e2fsprogs/issues/I4RZVX?from=project-…
Signed-off-by: Haotian Li <lihaotian9(a)huawei.com>
Signed-off-by: Zhiqiang Liu <liuzhiqiang26(a)huawei.com>
---
lib/ext2fs/closefs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/ext2fs/closefs.c b/lib/ext2fs/closefs.c
index 1d4d5b7..1893fb6 100644
--- a/lib/ext2fs/closefs.c
+++ b/lib/ext2fs/closefs.c
@@ -195,8 +195,9 @@ static errcode_t write_primary_superblock(ext2_filsys fs,
__u16 *old_super, *new_super;
int check_idx, write_idx, size;
errcode_t retval;
+ int is_unreliable_io = getenv("E2FS_UNRELIABLE_IO") ? 1 : 0;
- if (!fs->io->manager->write_byte || !fs->orig_super) {
+ if (!fs->io->manager->write_byte || !fs->orig_super || is_unreliable_io) {
fallback:
io_channel_set_blksize(fs->io, SUPERBLOCK_OFFSET);
retval = io_channel_write_blk64(fs->io, 1, -SUPERBLOCK_SIZE,
--
2.23.0
jbd2_journal_revocer() may fail when some error occers
such as ENOMEM. However, jsb->s_start is still cleared
by func e2fsck_journal_release(). This may break
consistency between metadata and data in disk. Sometimes,
failure in jbd2_journal_revocer() is temporary but retry
e2fsck will skip the journal recovery when the temporary
problem is fixed.
To fix this case, we use "fatal_error" instead "goto errout"
when recover journal failed. If journal recovery fails, we
will send error message to user and reserve the recovery
flags to recover the journal when try e2fsck again.
Fix issue: https://gitee.com/src-openeuler/e2fsprogs/issues/I4RZUT?from=project-issue
Reported-by: Liangyun <liangyun2(a)huawei.com>
Signed-off-by: Haotian Li <lihaotian9(a)huawei.com>
Signed-off-by: Zhiqiang Liu <liuzhiqiang26(a)huawei.com>
---
e2fsck/journal.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/e2fsck/journal.c b/e2fsck/journal.c
index e83f3a9..df4f354 100644
--- a/e2fsck/journal.c
+++ b/e2fsck/journal.c
@@ -942,6 +942,13 @@ static errcode_t recover_ext3_journal(e2fsck_t ctx)
goto errout;
retval = -journal_recover(journal);
+ if (retval == EIO || retval == ENOMEM || retval == EXT2_ET_NO_MEMORY) {
+ ctx->fs->flags &= ~EXT2_FLAG_VALID;
+ com_err(ctx->program_name, 0,
+ _("Journal recovery failed "
+ "on %s, retval=%d \n"), ctx->device_name, retval);
+ fatal_error(ctx, 0);
+ }
if (retval)
goto errout;
--
1.8.3.1
~
Hi guys,
I'm from DB SIG, currently, everyone in openEuler is busying in the
development. And we also face some questions need to be clear, so we want
to collect some ideas from openEuler community, customers and users.
We are difficult to judge whether we should still reserve the following DB
related software/library in openEuler 22.03 LTS. So we consider to make
them vote in public ,direct us to make the decision according to the
requests we will get. Note that the mentioned ones are in openEuler 20.03
LTS, you guys need to leave your comment(request) in the issue(
https://gitee.com/openeuler/community/issues/I4SGDD?from=project-issue). We
will leverage our work based on the issue comments.
1. greenplum(6.17.0)
2. postgresql(10.5)/postgresql-13(13.3)
3. neo4j (4.3.0)
4. tidb (4.0.14)
Note that "issue comment format", please leave which ones you still need
and request summarized content there. Thanks very much.
Bo Zhao
BR,
DB SIG
Hi guys,
I'm from DB SIG, currently, every one in openEuler is busying in the development. And we also face some questions need to be clear, so we want to collect some ideas from openEuler community, customers and users.
We are difficult to judge whether we should still reserve the following DB related software/library in openEuler 22.03 LTS. So we consider to make them vote in public ,direct us to make the decision according to the requests we will get. Notes that the mentioned ones are in openEuler 20.03 LTS, you guys need to leave your comment(request) in the issue(https://gitee.com/openeuler/community/issues/I4SGDD?from=project-issu…. We will leverage our work based on the issue comments.
1. greenplum(6.17.0)
2. postgresql(10.5)/postgresql-13(13.3)
3. neo4j (4.3.0)
4. tidb (4.0.14)
Notes that "issue comment format", please leave which ones you still need and request summarized content there. Thanks very much.
Bo Zhao
BR,
DB SIG
您好!
sig-CICD SIG 邀请您参加 2022-01-28 10:30 召开的ZOOM会议(自动录制)
会议主题:可重复构建讨论
会议内容:
可重复构建讨论
会议链接:https://us06web.zoom.us/j/83593171861?pwd=bVBleEhDbFZ3ejhieHAycHorN01nQT09
温馨提醒:建议接入会议后修改参会人的姓名,也可以使用您在gitee.com的ID
更多资讯尽在:https://openeuler.org/zh/
Hello!
openEuler sig-CICD SIG invites you to attend the ZOOM conference(auto recording) will be held at 2022-01-28 10:30,
The subject of the conference is 可重复构建讨论,
Summary:
可重复构建讨论
You can join the meeting at https://us06web.zoom.us/j/83593171861?pwd=bVBleEhDbFZ3ejhieHAycHorN01nQT09.
Note: You are advised to change the participant name after joining the conference or use your ID at gitee.com.
More information: https://openeuler.org/en/
您好!
sig-CICD SIG 邀请您参加 2022-01-27 11:00 召开的ZOOM会议(自动录制)
会议主题:compass-ci job field字段说明
会议内容:
1.compass-ci job field字段说明
2.性能差异解决方案讨论
会议链接:https://us06web.zoom.us/j/85773766235?pwd=UXVVQlp1d3pCNWVBQVhJZWRLVEFvQT09
温馨提醒:建议接入会议后修改参会人的姓名,也可以使用您在gitee.com的ID
更多资讯尽在:https://openeuler.org/zh/
Hello!
openEuler sig-CICD SIG invites you to attend the ZOOM conference(auto recording) will be held at 2022-01-27 11:00,
The subject of the conference is compass-ci job field字段说明,
Summary:
1.compass-ci job field字段说明
2.性能差异解决方案讨论
You can join the meeting at https://us06web.zoom.us/j/85773766235?pwd=UXVVQlp1d3pCNWVBQVhJZWRLVEFvQT09.
Note: You are advised to change the participant name after joining the conference or use your ID at gitee.com.
More information: https://openeuler.org/en/