Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
50ce29a
)
LU-13987 ldlm: Don't re-enqueue glimpse lock on read
44/40044/3
author
Andriy Skulysh
<c17819@cray.com>
Wed, 1 Apr 2020 18:20:58 +0000
(21:20 +0300)
committer
Oleg Drokin
<green@whamcloud.com>
Thu, 26 Nov 2020 09:26:24 +0000
(09:26 +0000)
cl_glimpse_lock() doesn't match a lock with LDLM_FL_BL_AST
even if this lock is acquired by the same thread earlier.
It needs only size to check for spare file,
so let't add LDLM_FL_CBPENDING to match flags.
#1 [
ffff9ba7326036f0
] schedule at
ffffffff87b67c49
#2 [
ffff9ba732603700
] obd_get_request_slot at
ffffffffc0dbe0a4
[obdclass]
#3 [
ffff9ba7326037b8
] ldlm_cli_enqueue at
ffffffffc0faedce
[ptlrpc]
#4 [
ffff9ba732603878
] mdc_enqueue_send at
ffffffffc11b38a8
[mdc]
#5 [
ffff9ba732603938
] mdc_lock_enqueue at
ffffffffc11b3eb2
[mdc]
#6 [
ffff9ba7326039a8
] cl_lock_enqueue at
ffffffffc0dfee95
[obdclass]
#7 [
ffff9ba7326039e0
] lov_lock_enqueue at
ffffffffc10ef265
[lov]
#8 [
ffff9ba732603a20
] cl_lock_enqueue at
ffffffffc0dfee95
[obdclass]
#9 [
ffff9ba732603a58
] cl_lock_request at
ffffffffc0dff54b
[obdclass]
HPE-bug-id: LUS-8690
Change-Id: I4c3820f754ceb502079bdd7d8e1a5389f6696eba
Signed-off-by: Andriy Skulysh <c17819@cray.com>
Reviewed-by: Vitaly Fertman <c17818@cray.com>
Reviewed-by: Alexander Boyko <c17825@cray.com>
Reviewed-by: Andrew Perepechko <c17827@cray.com>
Tested-by: Elena Gryaznova <c17455@cray.com>
Reviewed-on: https://review.whamcloud.com/40044
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_osc.h
patch
|
blob
|
history
diff --git
a/lustre/include/lustre_osc.h
b/lustre/include/lustre_osc.h
index
6432a59
..
de848ae
100644
(file)
--- a/
lustre/include/lustre_osc.h
+++ b/
lustre/include/lustre_osc.h
@@
-186,7
+186,7
@@
static inline __u64 osc_enq2ldlm_flags(__u32 enqflags)
if (enqflags & CEF_NONBLOCK)
result |= LDLM_FL_BLOCK_NOWAIT;
if (enqflags & CEF_GLIMPSE)
- result |= LDLM_FL_HAS_INTENT;
+ result |= LDLM_FL_HAS_INTENT
|LDLM_FL_CBPENDING
;
if (enqflags & CEF_DISCARD_DATA)
result |= LDLM_FL_AST_DISCARD_DATA;
if (enqflags & CEF_PEEK)