Summary: | Как узнать, с какими параметрами смонтирован cifs-ресурс? | ||
---|---|---|---|
Product: | CIFS@Etersoft | Reporter: | Vitaly Lipatov <lav> |
Component: | прочее | Assignee: | Pavel Shilovsky <piastry> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | minor | ||
Priority: | P3 | CC: | baraka, lav, shpigor, sin, yurifil |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 4701 | ||
Bug Blocks: | 3043, 4284 |
Description
Vitaly Lipatov
2009-11-21 17:40:22 MSK
Это возможно и сколько требуется времени на реализацию? А чем не устраивает существующий вариант? [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 . > Да, все параметры можно увидеть и понять как смонтировано. |