SMB3 -зашифрованные общие ресурсы поддерживаются начиная с версии ядра 4.8.0 -54.57 .
Поскольку драйвер cifs является частью ядра Linux, он соответствующим образом обновляется, и для устранения этой ошибки необходимо выполнить обновление до последней версии ядра. Для принудительного шифрования необходимо добавить еще не -еще -задокументированный параметр монтирования seal в сочетании с vers=3.0 .
У меня точно такие же симптомы на моей машине, хотя я работаю над другим проектом (, основанным на докере, а не на QEMU ), поэтому я не могу доказать, что это проблема в вашем случае, но это наверное так.
У меня есть сборка, которая иногда работает, а иногда дает сбой, потому что подстановочный знак не всегда расширяется. (Я делаюls /tmp/linux*deb
).
Strace показывает, что в случае сбоя возвращается вызов getdents-1 EOVERFLOW (Value too large for defined data type)
Рабочий корпус:
[pid 29791] open("/tmp", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
[pid 29791] fstat64(3, {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096,...}) = 0
[pid 29791] getdents(3, /* 3 entries */, 32768) = 60
[pid 29791] getdents(3, /* 0 entries */, 32768) = 0
[pid 29791] close(3) = 0
Неисправный корпус:
[pid 25606] open("/tmp", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
[pid 25606] fstat64(3, {st_mode=S_IFDIR|S_ISVTX|0777, st_size=100,...}) = 0
[pid 25606] getdents(3, /* 1 entries */, 32768) = 16
[pid 25606] getdents(3, 0x585a831c, 32768) = -1 EOVERFLOW (Value too large for defined data type)
[pid 25606] close(3) = 0
Я нашел несколько отчетов об ошибках -, ссылающихся на проблему (getdents возвращает 64-битное значение, но в данном случае вызывающая сторона ожидает 32-битное значение):