Whamcloud - gitweb
LU-6179 llite: Remove last lockahead old compat 79/38179/3
authorPatrick Farrell <farr0186@gmail.com>
Wed, 8 Apr 2020 14:05:25 +0000 (10:05 -0400)
committerOleg Drokin <green@whamcloud.com>
Wed, 28 Apr 2021 02:10:13 +0000 (02:10 +0000)
The CEF_NONBLOCK flag in cld_enq_flags is required for the
old Cray-only server release of lockahead.  In the more
recent versions, the required nonblocking behavior (on the
server side) is associated with LDLM_FL_SPECULATIVE, not
with the combination of LDLM_FL_NO_EXPAND and
LDLM_FL_BLOCK_NOWAIT (as was done in the old
implementation).

Now we control 'speculative' or not with the async flag
from userspace.

Now that we've removed OBD_CONNECT_LOCKAHEAD_OLD support
from the client, we should be good to go there.

The existing testing explores both sync and async requests,
and should be enough to verify this is OK.

Signed-off-by: Patrick Farrell <farr0186@gmail.com>
Change-Id: Ia3605eb22e6a6a88fb6e431286b697e2e2a1908e
Reviewed-on: https://review.whamcloud.com/38179
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/llite/file.c

index 8cb5110..2fb3256 100644 (file)
@@ -3132,8 +3132,7 @@ int ll_file_lock_ahead(struct file *file, struct llapi_lu_ladvise *ladvise)
                descr->cld_mode  = cl_mode;
                /* CEF_MUST is used because we do not want to convert a
                 * lockahead request to a lockless lock */
-               descr->cld_enq_flags = CEF_MUST | CEF_LOCK_NO_EXPAND |
-                                      CEF_NONBLOCK;
+               descr->cld_enq_flags = CEF_MUST | CEF_LOCK_NO_EXPAND;
 
                if (ladvise->lla_peradvice_flags & LF_ASYNC)
                        descr->cld_enq_flags |= CEF_SPECULATIVE;