From fa370c0d724b5a90e2d739e5d3c67066facf550b Mon Sep 17 00:00:00 2001 From: Alex Zhuravlev Date: Mon, 25 Sep 2023 13:11:04 +0300 Subject: [PATCH] LU-17075 osd: destroy declare shouldn't panic if the object doesn't exist during declaration. Signed-off-by: Alex Zhuravlev Change-Id: I7d42cad0c04e7941a2f7950fdddaf7c473998b12 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52496 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin Reviewed-by: Andreas Dilger Reviewed-by: Arshad Hussain --- lustre/osd-zfs/osd_object.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lustre/osd-zfs/osd_object.c b/lustre/osd-zfs/osd_object.c index b66254b..6ef58d7 100644 --- a/lustre/osd-zfs/osd_object.c +++ b/lustre/osd-zfs/osd_object.c @@ -762,7 +762,8 @@ static int osd_declare_destroy(const struct lu_env *env, struct dt_object *dt, ENTRY; LASSERT(th != NULL); - LASSERT(dt_object_exists(dt)); + if (unlikely(obj->oo_dn == NULL)) + RETURN(-ENOENT); oh = container_of(th, struct osd_thandle, ot_super); LASSERT(oh->ot_tx != NULL); -- 1.8.3.1