cl_inode_fini() calls cl_object_kill() to set LU_OBJECT_HEARD_BANSHEE,
and then calls cl_object_put_last() to wait for object refcount to
become one, It should wake_up() in the middle in case someone is
waiting on the flag.
Lustre-change: https://review.whamcloud.com/49130
Lustre-commit:
3a0a6c7a88499a78c9bfc6ac514d05eba60312c9
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I244db71ee4ed9c39118e443b99c3b8a3a0aa4bc3
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/49312
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
wq = lu_site_wq_from_fid(site, &header->loh_fid);
+ /* LU_OBJECT_HEARD_BANSHEE is set in cl_object_kill(), in case
+ * someone is waiting on this, wake up and then wait for object
+ * refcount becomes one.
+ */
+ wake_up(wq);
wait_event(*wq, atomic_read(&header->loh_ref) == 1);
}