[lustre-devel] drivers/staging updated to 4.20-rc1
NeilBrown
neilb at suse.com
Tue Nov 27 17:34:14 PST 2018
On Mon, Nov 05 2018, James Simmons wrote:
>>
>> Hi,
>> I've just pushed out new lustre/lustre, lustre/lustre-testing, lustre/lustre-wip
>> to github.com:neilbrown/linux.git
>>
>> lustre is updated to 4.20-rc1 and doesn't compile because of some
>> changes.
>> The patch below makes it compile and (probably) work.
>>
>> I'd appreciate a review, especially of the iov_for_each change.
>
> Almost. I see the following errors while testing.
>
> [ 7111.002667] RIP: 0010:sanity+0xb2/0xb9
> [ 7111.002668] Code: 63 c5 48 c7 c7 a1 7c e8 81 ff c5 48 6b c0 28 48 03 43
> 78 8b 48 08 48 8b 70 10 44 8b 40 0c 48 8b 10 31 c0 e8 4c 67 d6 ff c
> [ 7111.002669] RSP: 0018:ffffc900072d3a60 EFLAGS: 00010246
> [ 7111.002670] RAX: 000000000000002a RBX: ffff8808502126c0 RCX:
> 0000000000000006
> [ 7111.002671] RDX: 0000000000000000 RSI: ffffffff81e770e3 RDI:
> 00000000ffffffff
> [ 7111.002672] RBP: 0000000000000010 R08: 0000000000000004 R09:
> ffffffff82683e8e
> [ 7111.002673] R10: 00000000000015a9 R11: 0000000000000000 R12:
> ffffea003f9523c0
> [ 7111.002674] R13: ffff8808502126c0 R14: ffffea003f9523c0 R15:
> 0000000000001000
> [ 7111.002676] FS: 00007f140a193740(0000) GS:ffff88107fd80000(0000)
> knlGS:0000000000000000
> [ 7111.002677] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 7111.002678] CR2: 000000000067a198 CR3: 00000008305dc001 CR4:
> 00000000000606e0
> [ 7111.002679] Call Trace:
> [ 7111.002682] copy_page_to_iter+0x245/0x2f0
> [ 7111.002686] generic_file_buffered_read+0x345/0x7c0
> [ 7111.002689] ? touch_atime+0x33/0xd0
> [ 7111.002701] vvp_io_read_start+0x22a/0x3a0 [lustre]
> [ 7111.002715] cl_io_start+0x6d/0x130 [obdclass]
> [ 7111.002727] cl_io_loop+0xae/0x220 [obdclass]
> [ 7111.002736] ll_file_io_generic+0x4ee/0x880 [lustre]
> [ 7111.002740] ? generic_file_buffered_read+0x591/0x7c0
> [ 7111.002749] ll_file_read_iter+0x13e/0x1b0 [lustre]
> [ 7111.002751] generic_file_splice_read+0xe1/0x190
> [ 7111.002755] splice_direct_to_actor+0xea/0x200
> [ 7111.002757] ? generic_pipe_buf_nosteal+0x10/0x10
> [ 7111.002759] do_splice_direct+0x87/0xd0
> [ 7111.002762] do_sendfile+0x1c6/0x3c0
> [ 7111.002765] __x64_sys_sendfile64+0x5c/0xb0
> [ 7111.002768] do_syscall_64+0x68/0x38f
> [ 7111.002770] ? do_page_fault+0x2d/0x130
> [ 7111.002773] entry_SYSCALL_64_after_hwframe+0x44/0xa9
> [ 7111.002775] RIP: 0033:0x7f1409ca71ca
>
Thanks for testing, and sorry that I didn't respond at the time - I
managed to lose track of it somehow.
Anyway, I hit testing problems that were quite different but in
a generally similar area.
This fixes them, and might fix yours too. It'll appear in
lustre-testing shortly.
Thanks,
NeilBrown
From 77e9a84550bce7a77c0bc2e24455f11c72d1cc26 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb at suse.com>
Date: Wed, 28 Nov 2018 12:28:34 +1100
Subject: [PATCH] lustre: fix iov_for_each() replaced in vvp_mmap_locks()
iov_for_each() only makes sense of ITER_IOVEC and ITER_KVEC, not - for
exmaple - on ITER_PIPE.
When I replaced the call with an open-coded version I incorrectly left
that check out - resulting in problems when testing.
So add it back.
Fixes: 85bdcd0ea139 ("lustre: fixes for 4.20-rc1")
Signed-off-by: NeilBrown <neilb at suse.com>
---
drivers/staging/lustre/lustre/llite/vvp_io.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/staging/lustre/lustre/llite/vvp_io.c b/drivers/staging/lustre/lustre/llite/vvp_io.c
index 524f3f4feec8..d6b27bae8226 100644
--- a/drivers/staging/lustre/lustre/llite/vvp_io.c
+++ b/drivers/staging/lustre/lustre/llite/vvp_io.c
@@ -388,6 +388,9 @@ static int vvp_mmap_locks(const struct lu_env *env,
if (!mm)
return 0;
+ if (iov_iter_type(vio->vui_iter) != ITER_IOVEC &&
+ iov_iter_type(vio->vui_iter) != ITER_KVEC)
+ return 0;
for (i = *vio->vui_iter;
i.count;
iov_iter_advance(&i, iov.iov_len)) {
--
2.14.0.rc0.dirty
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20181128/04aa99cd/attachment.sig>
More information about the lustre-devel
mailing list