Commit 44f354e5 authored by Lai Siyao's avatar Lai Siyao Committed by Oleg Drokin
Browse files

LU-13511 obdclass: don't initialize obj for zero FID

Object with zero FID is used in stripe allocation, and it's
meaningless to initialize such object via lu_object_find_at(),
return error early to avoid assertion in lu_object_put().

Lustre-commit: 22ea9767
Lustre-change: https://review.whamcloud.com/39792

Signed-off-by: default avatarLai Siyao <lai.siyao@whamcloud.com>
Change-Id: Ia1bda3d01ff7552e94f31a9c928868652937d559
Reviewed-on: https://review.whamcloud.com/40304

Tested-by: default avatarjenkins <devops@whamcloud.com>
Reviewed-by: default avatarStephane Thiell <sthiell@stanford.edu>
Tested-by: default avatarMaloo <maloo@whamcloud.com>
Reviewed-by: default avatarAlex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: default avatarOleg Drokin <green@whamcloud.com>
parent 6d92d5d0
......@@ -729,6 +729,13 @@ struct lu_object *lu_object_find_at(const struct lu_env *env,
ENTRY;
/* FID is from disk or network, zero FID is meaningless, return error
* early to avoid assertion in lu_object_put. If a zero FID is wanted,
* it should be allocated via lu_object_anon().
*/
if (fid_is_zero(f))
RETURN(ERR_PTR(-EINVAL));
/*
* This uses standard index maintenance protocol:
*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment