| 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 . > Да, все параметры можно увидеть и понять как смонтировано. |