После обновления до mc-4.8.27-alt1 перестал отображаться списков файлов в каталоге, подключенном через sshfs: $ sshfs remotehost:/remote/path local_dir -ocache=no Если убрать параметр cache=no, проблемы не возникает. При этом mc не выдаёт никаких ошибок, а другие программы (ls) корректно работают.
В p8 не воспроизводится, а в p10 да, есть такое дело. Интересно, в чём отличие. И из p8, и из p10 цеплялся к хосту с p8.
И CVE-2021-36370 про sftp как раз, хотя к данному примеру вроде это не должно относиться.
(Ответ для Sergey Y. Afonin на комментарий #1) > В p8 не воспроизводится, а в p10 да, есть такое дело. Интересно, в чём > отличие. И из p8, и из p10 цеплялся к хосту с p8. Проверил, что если цепляться не к p8, а к p10, ошибка та же есть. Не проверял, но может это какая-то оптимизация? Чтобы mc не тормозил — не ответили ему сразу, и ладно :)
(In reply to Vitaly Lipatov from comment #3) > Не проверял, но может это какая-то оптимизация? Так я его до p8 включительно обновил. В p8 тоже 4.8.27, сборка только хелпером rpm отличается от сборок в p9 и новее.
https://midnight-commander.org/ticket/4289
(In reply to Andrew Borodin from comment #5) > https://midnight-commander.org/ticket/4289 То есть получается, что регрессия возникла между 4.8.25 (в ALT работало) и 4.8.26 (в ALT эта версия не собиралась). При этом воспроизводимость зависит и от чего-то ещё, так как в ALT p8 c 4.8.27-alt0.M80P.1 тоже не воспроизводится.
(Ответ для Sergey Y. Afonin на комментарий #6) > (In reply to Andrew Borodin from comment #5) > > > https://midnight-commander.org/ticket/4289 > > То есть получается, что регрессия возникла между 4.8.25 (в ALT работало) и > 4.8.26 (в ALT эта версия не собиралась). Видимо, это результат https://midnight-commander.org/ticket/3987. Похоже, у sshfs проблемы с rewinddir(3). См. также https://github.com/trapexit/mergerfs/issues/877
(In reply to Andrew Borodin from comment #7) > См. также https://github.com/trapexit/mergerfs/issues/877 Тут есть код тестовой программы. Попробуйте запустить её на sshfs.
(Ответ для Andrew Borodin на комментарий #8) > (In reply to Andrew Borodin from comment #7) > > См. также https://github.com/trapexit/mergerfs/issues/877 > > Тут есть код тестовой программы. Попробуйте запустить её на sshfs. На обычном каталоге выводит список два раза, а на смонтированном по sshfs с cache=no second read пуст То есть такое работает: d = opendir("."); while (e = readdir(d)) { printf("e: %s\n", e->d_name); } Повтор уже нет: rewinddir(d); while (e = readdir(d)) { printf("e: %s\n", e->d_name); }
(Ответ для Vitaly Lipatov на комментарий #9) > (Ответ для Andrew Borodin на комментарий #8) > > (In reply to Andrew Borodin from comment #7) > > > См. также https://github.com/trapexit/mergerfs/issues/877 > > > > Тут есть код тестовой программы. Попробуйте запустить её на sshfs. > На обычном каталоге выводит список два раза, а на смонтированном по sshfs с > cache=no > second read пуст > > То есть такое работает: > d = opendir("."); > while (e = readdir(d)) { printf("e: %s\n", e->d_name); } > > Повтор уже нет: > rewinddir(d); > while (e = readdir(d)) { printf("e: %s\n", e->d_name); } В https://github.com/trapexit/mergerfs/issues/877 описывалось, что на rewinddir идут повторы. Тут же вообще пусто.
(In reply to Vitaly Lipatov from comment #10) > В https://github.com/trapexit/mergerfs/issues/877 > описывалось, что на rewinddir идут повторы. Тут же вообще пусто. Ну так файловые системы же разные. Там mergerfs, тут sshfs.
(In reply to Vitaly Lipatov from comment #10) > В https://github.com/trapexit/mergerfs/issues/877 > описывалось, что на rewinddir идут повторы. Тут же вообще пусто. Может mergerfs обновить для начала? :-) Там mergerfs 2.33.3 уже на github. Или сложности есть?
(Ответ для Andrew Borodin на комментарий #11) > (In reply to Vitaly Lipatov from comment #10) > > В https://github.com/trapexit/mergerfs/issues/877 > > описывалось, что на rewinddir идут повторы. Тут же вообще пусто. > > Ну так файловые системы же разные. Там mergerfs, тут sshfs. Это было просто для примера. Я-то думаю, что проблема вообще в fuse. Ну или в неправильных попытках в mc обойти какую-то багу.
В p11 c 4.8.32-alt1 на текущий момент воспроизводится.