Whamcloud - gitweb
LU-14805 llite: No locked parallel DIO 31/44131/2
authorPatrick Farrell <pfarrell@whamcloud.com>
Fri, 2 Jul 2021 17:24:48 +0000 (13:24 -0400)
committerPatrick Farrell <pfarrell@whamcloud.com>
Sat, 3 Jul 2021 19:00:37 +0000 (15:00 -0400)
commit5a8088d385ad034df2e0f2a4338e9415a73fe785
treea277e4c1c08b510e1d4d2ef1d8c620fb6a220b65
parent04b2da6180d3c8eda21f7ab36c676462be041b74
LU-14805 llite: No locked parallel DIO

If we are doing locked DIO, the OSC & LDLM locks are
released at the end of cl_io_loop, ie, before we wait for
parallel DIO at the llite layer.

This is problematic because the locks are released before
i/o done using them is complete; this can lead to data
inconsistencies.  (And at least one LBUG, see LU-14805.)

The easiest solution for now is only do parallel DIO when
working lockless (which is the default; DIO only switches
to locked to manage conflicts with buffered i/o).

This problem & fix apply to AIO as well as parallel DIO.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: If98a0551d6dde54220b406b26e978e284a6b1ebf
lustre/llite/rw26.c