Re: [PATCH 4/4] staging: lustre: obdclass: change object lookup to no wait mode

From: Greg Kroah-Hartman
Date: Mon May 07 2018 - 09:16:07 EST


On Wed, May 02, 2018 at 02:21:48PM -0400, James Simmons wrote:
> From: Lai Siyao <lai.siyao@xxxxxxxxx>
>
> Currently we set LU_OBJECT_HEARD_BANSHEE on object when we want
> to remove object from cache, but this may lead to deadlock, because
> when other process lookup such object, it needs to wait for this
> object until release (done at last refcount put), while that process
> maybe already hold an LDLM lock.
>
> Now that current code can handle dying object correctly, we can just
> return such object in lookup, thus the above deadlock can be avoided.
>
> Signed-off-by: Lai Siyao <lai.siyao@xxxxxxxxx>
> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-9049
> Reviewed-on: https://review.whamcloud.com/26965
> Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@xxxxxxxxx>
> Tested-by: Cliff White <cliff.white@xxxxxxxxx>
> Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx>
> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx>
> Signed-off-by: James Simmons <jsimmons@xxxxxxxxxxxxx>
> ---
> drivers/staging/lustre/lustre/include/lu_object.h | 2 +-
> drivers/staging/lustre/lustre/obdclass/lu_object.c | 82 +++++++++-------------
> 2 files changed, 36 insertions(+), 48 deletions(-)

Patch does not apply to my tree :(