Whamcloud - gitweb
LU-13416 ldiskfs: don't corrupt data on journal replay 05/38705/4
authorAlexey Lyashkov <c17817@cray.com>
Mon, 20 Apr 2020 09:45:52 +0000 (12:45 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 27 May 2020 21:34:33 +0000 (21:34 +0000)
commit76b1050a56385cf8ddea47c9fea12eec21478601
tree7b49c3a398578efa9eafb75bc1fe8ad50686806b
parent4e7fd8821da4da2148c5044f416e390c42faf3b8
LU-13416 ldiskfs: don't corrupt data on journal replay

Journalled write want a special attention on blocks release,
revoke records must added to avoid replace new write blocks
with stale data. Mark inode as "journal write" to generate
valid revoke records. Large EA inode updates affected
with this bug also.

large ea fix is

Linux-commit: ddfa17e4adc4bd19c32216aaa6250dc38b0579df
Author: Tahsin Erdogan <tahsin@google.com>
Date:   Wed Jun 21 21:36:51 2017 -0400
ext4: call journal revoke when freeing ea_inode blocks

Lustre-change: https://review.whamcloud.com/38281
Lustre-commit: a23aac2219047cb04ed1fa555f31fa39e5c499dc

Change-Id: I605128c4ba70331a48715dc95546430909efb893
Signed-off-by: Alexey Lyashkov <c17817@cray.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/38705
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
12 files changed:
ldiskfs/kernel_patches/patches/rhel6.3/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/rhel7.2/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/rhel7.6/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/rhel7.7/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/rhel7/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/sles12/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/sles12sp2/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/sles12sp3/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/ubuntu14+16/ext4-large-eas.patch
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_io.c
lustre/osd-ldiskfs/osd_scrub.c