После монтирования в выводе # mount ( то есть в /proc/mounts) не видно, с какими параметрами был смонтирован ресурс. Если возможно, надо чтобы etercifs выводил туда параметры (кроме пароля?), если нет - реализовать другой способ узнавания. Иначе поддержка и диагностика сильно хромает.
Это возможно и сколько требуется времени на реализацию?
А чем не устраивает существующий вариант? [piastry@keepcoding ~]$ sudo mount -t cifs //localhost/public ~/m -ouser=piastry,uid=piastry,gid=piastry [piastry@keepcoding ~]$ cat /proc/mounts | grep cifs //localhost/public /home/piastry/m cifs rw,mand,relatime,unc=\\localhost\public,username=piastry,addr=0000:0000:0000:0000:0000:0000:0000:0001,uid=500,gid=501,posixpaths,acl,rsize=16384,wsize=57344 0 0 Выводятся почти все параметры, кроме интересного нам forcemand. Это решается следующий патчем: diff -uNr cifs-2.6/cifsfs.c cifs-2.6.new/cifsfs.c --- cifs-2.6/cifsfs.c 2009-11-14 22:29:17.000000000 +0300 +++ cifs-2.6.new/cifsfs.c 2009-11-23 13:05:47.000000000 +0300 @@ -410,6 +410,8 @@ seq_printf(s, ",cifsacl"); if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DYNPERM) seq_printf(s, ",dynperm"); + if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NOPOSIXBRL) + seq_printf(s, ",forcemand"); if (m->mnt_sb->s_flags & MS_POSIXACL) seq_printf(s, ",acl");
(In reply to comment #2) ... > Выводятся почти все параметры, кроме > интересного нам forcemand. Это решается > следующий патчем: Не выводятся forcemand,direct,unix. Вообще желательно выводить все параметры, иначе диагностика невозможна. Я хотел обсудить, как насчёт того, чтобы ввести параметр wine, который будет включать все необходимые нам параметры, чтобы не заставлять людей запоминать, и менять с каждым релизом параметры.
Параметр direct выводится под названием directio. С параметром unix дела интереснее обстоят, так как работа по POSIX или же нет зависит не только от клиента, но и от возможностей сервера. Потому предлагаю такой вариант: diff -uNr cifs-2.6/cifsfs.c cifs-2.6.new/cifsfs.c --- cifs-2.6/cifsfs.c 2009-11-28 22:52:18.000000000 +0300 +++ cifs-2.6.new/cifsfs.c 2009-11-28 23:35:36.000000000 +0300 @@ -387,6 +387,8 @@ seq_printf(s, ",nocase"); if (tcon->retry) seq_printf(s, ",hard"); + if (tcon->unix_ext) + seq_printf(s, ",unix"); } if (cifs_sb->prepath) seq_printf(s, ",prepath=%s", cifs_sb->prepath);
(In reply to comment #4) > Параметр direct выводится под названием directio. > С параметром unix дела интереснее обстоят, > так как работа по POSIX или же нет зависит не > только от клиента, но и от возможностей > сервера. Потому предлагаю такой вариант: А откуда эта идеология показывать не параметры монтирования, а режим работы модуля? Может быть она не верна, и лучше будет показывать реальную строку монтирования? Может быть, только в том случае, если смонтировано с параметром wine (см. багу 4701).
В данном случае режим работы модуля совпадает со строкой монтирования, так что разницы в нет. По поводу параметра 'wine' неясно, что имеется ввиду: он будет преднастраиваться в каком-то конфигурационном файле(или ещё где) или это будет изначально известный набор настроек?
Решено использовать /proc/mounts .
(In reply to comment #7) > Решено использовать /proc/mounts . > Да, все параметры можно увидеть и понять как смонтировано.