Whamcloud - gitweb
LU-11867 osd-ldiskfs: FID in LMA mismatch won't block create 52/34052/5
authorLai Siyao <lai.siyao@whamcloud.com>
Mon, 7 Jan 2019 03:37:48 +0000 (11:37 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 27 Jun 2019 21:34:13 +0000 (21:34 +0000)
commitcbf59ba6a56086c53a15622db7fa9f95d9798b7f
tree8751796edfccee0a9b77621f1bd86b315f98400e
parent490f0dd33b2244029f8bf17050f7a86bc76986d6
LU-11867 osd-ldiskfs: FID in LMA mismatch won't block create

Sometimes two OST objects may be mapped to the same inode, so the
second object FID mismatch with FID in inode LMA, in this case,
if this inode was not written yet, it's safe to set object inode
to NULL to let it create a new inode.

Another case is if the mapped inode doesn't exist, it's also safe
to not initialize inode and return 0, so that create can succeed.

Add sanity-scrub.sh 4d for this.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: Ic84cdeaca2ea202ab0c01a0075a2f9ee8627f508
Reviewed-on: https://review.whamcloud.com/34052
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd_support.h
lustre/osd-ldiskfs/osd_handler.c
lustre/tests/sanity-scrub.sh