Whamcloud - gitweb
LU-9543 ofd: fiemap deadlock 24/27224/4
authorAndriy Skulysh <andriy.skulysh@seagate.com>
Mon, 22 May 2017 12:43:19 +0000 (15:43 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 4 Jan 2018 02:48:53 +0000 (02:48 +0000)
commit4eac5c85d3a4ddda5833af2f15cd8d614d1e3996
tree8006c1df480c2535ce47bd357ee570f5bc4bd9f6
parent82e494a36e9ea4f51ec163ab15beb9fdda7fa8d6
LU-9543 ofd: fiemap deadlock

lock_zero_regions() locks all zero regions by acquiring
a set of independent locks.
It can deadlock with a PW lock for the whole file from
a client.

Indeed it isn't required to have all zero regions locked
at once, we need only force clients to flush data for
these regions.

Change-Id: Ib48e2bd9e6f715eb54a7821acde7b38b0de6650c
Seagate-bug-id: MRP-4393
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-on: http://es-gerrit.xyus.xyratex.com:8080/15734
Reviewed-by: Artem Blagodarenko <artem.blagodarenko@seagate.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Tested-by: Elena V. Gryaznova <elena.gryaznova@seagate.com>
Reviewed-on: https://review.whamcloud.com/27224
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Artem Blagodarenko <c17828@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/ofd/ofd_dev.c