Whamcloud - gitweb
LU-14037 osd: track commit cb in flight 58/40258/5
authorAlex Zhuravlev <bzzz@whamcloud.com>
Wed, 14 Oct 2020 12:20:18 +0000 (15:20 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 7 Nov 2020 08:15:10 +0000 (08:15 +0000)
commit33f95f7ae7300f93433bc781845594d292a18b67
treef7dde41d3cd0a2b1635c7afc90f7a53b8fe7cd58
parent37fd0f145e2410f7a8091e58804dccad43b04afd
LU-14037 osd: track commit cb in flight

and wait for completion in osd-ldiskfs as mntput() is not synchronous
and returns quickly scheduling real umount to another thread while
osd is shutting down. as a result commit callbacks may come when
osd has been released yet.
the patch replaces lu_device_get() and lu_device_put() for transactions
with a dedicated counter which later used to wait for callback completion.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Iaa6089b9158bc2a4bea8e33f4cfcce27395689ca
Reviewed-on: https://review.whamcloud.com/40258
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Lai Siyao <lai.siyao@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_internal.h