Whamcloud - gitweb
LU-7680 mdd: put migrated object on the orphan list 32/18032/8
authorAlex Zhuravlev <alexey.zhuravlev@intel.com>
Mon, 18 Jan 2016 19:03:19 +0000 (22:03 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 13 Feb 2016 03:27:29 +0000 (03:27 +0000)
commitbfd07915c9e459a3510ecbfd957dbd6e383dc3e7
tree777fb6c5a9a67f1b485c5432dc9ce2c024c01107
parent098fb363c3902f67b29ddfa864b452d0a8460ad2
LU-7680 mdd: put migrated object on the orphan list

do this unconditionally. mdd_finish_unlink() can't do this
properly as la_nlink cached in ma greater than 0. this
results in lost inodes (i.e. we still have an entry in OI,
but corresponding inode doesn't exist) and many messages
like:
LustreError: 3458:0:(osd_handler.c:3239:osd_object_ref_del())
 lustre-MDT0001-osd: nlink == 0 on [0x240000403:0x53b:0x0],
 maybe an upgraded file? (LU-3915)

the patch also adds a sanity check in osd_object_release() to
ensure that nobody is trying to leave non-destroyed object with
nlink = 0.

Change-Id: Iecfae75944854d8e9613431acb68ad17dfea90f0
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/18032
Reviewed-by: wangdi <di.wang@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/mdd/mdd_dir.c
lustre/osd-ldiskfs/osd_handler.c