Whamcloud - gitweb
LU-3590 lfsck: repair MDT-object with dangling reference 17/7517/28
authorFan Yong <fan.yong@intel.com>
Wed, 5 Feb 2014 17:46:42 +0000 (01:46 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 22 Feb 2014 18:34:09 +0000 (18:34 +0000)
commit46b927d45eb2ee5db3e35df2a0ade4c11ba9f345
treec45a2f128f31145f32df23c5b495f03d9fac985a
parent4ea73f18550786f5c2841944527c0d2d69a2a886
LU-3590 lfsck: repair MDT-object with dangling reference

If the OST-object referenced by the MDT-object is lost, then the
LFSCK needs to recreate the OST-object with the specified FID and
initialize it with the given parent MDT-object FID and owner attr.
Although the new created OST-object is initialized, the SUID+SGID
mode will be kept, which will be dropped by the first modification
RPC, like write/punch/setattr. Then we can distinguish whether the
recreate OST-object has been modified or not.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ic45254695e7b1902020c133bb23fd32685b9a414
Reviewed-on: http://review.whamcloud.com/7517
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Tested-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/obd_support.h
lustre/lfsck/lfsck_internal.h
lustre/lfsck/lfsck_layout.c
lustre/ofd/ofd_objects.c
lustre/osp/osp_internal.h
lustre/osp/osp_md_object.c
lustre/osp/osp_object.c
lustre/tests/sanity-lfsck.sh