Whamcloud - gitweb
LU-13416 ldiskfs: don't corrupt data on journal replay 81/38281/5
authorAlexey Lyashkov <c17817@cray.com>
Mon, 20 Apr 2020 09:45:52 +0000 (12:45 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 20 May 2020 08:22:17 +0000 (08:22 +0000)
commita23aac2219047cb04ed1fa555f31fa39e5c499dc
treebe4b69c00ecd261601e21d341c309487214de4d2
parentebaf3b1b9980bcea6e404e03dfd2ac48f21cc3fc
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 a new write blocks with stale data. Mark inode as
“journal write” generate a right revoke records. Large EA inode updates affected
with this bug also.

large ea fix is

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

Change-Id: I605128c4ba70331a48715dc95546430909efb893
Signed-off-by: Alexey Lyashkov <c17817@cray.com>
Reviewed-on: https://review.whamcloud.com/38281
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
ldiskfs/kernel_patches/patches/rhel7.6/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/rhel7.7/ext4-large-eas.patch
ldiskfs/kernel_patches/patches/suse15/ext4-large-eas.patch
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_io.c
lustre/osd-ldiskfs/osd_scrub.c