In lod_fld_lookup() the FID in question may have come from disk or
wire. Thus if fid_is_sane() returns false then return -EIO rather than
asserting.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I6c7e3885a8b1aa81fcaa8891392a11e40a02fbce
Reviewed-on: http://review.whamcloud.com/11560
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
int rc = 0;
ENTRY;
- LASSERTF(fid_is_sane(fid), "Invalid FID "DFID"\n", PFID(fid));
+ if (!fid_is_sane(fid)) {
+ CERROR("%s: invalid FID "DFID"\n", lod2obd(lod)->obd_name,
+ PFID(fid));
+ RETURN(-EIO);
+ }
if (fid_is_idif(fid)) {
*tgt = fid_idif_ost_idx(fid);