LINUX.ORG.RU
ФорумAdmin

Зависает примонтированная smb share

 


0

1

Помогите, пожалуйста, советом. У меня постоянно какие-то пролемы с smb. Вот сейчас следующая.

Есть машина с Debian 7, есть машина с Windows 7. Делаю следующее (это уже упрощение, первоначально воспроизвелось с autofs и не в tmp):

sudo mount -t cifs //win7machine/C\$ /tmp/win_c -o credentials=/etc/domain_credentials
sudo mount -t cifs //win7machine/D\$ /tmp/win_d -o credentials=/etc/domain_credentials

Работаю с файлами (через gvim), оставляю машину на полчаса-час в бездействии. После этого возвращаюсь и вижу, что gvim завис и все запросы к точке монтирования (типа `ls /tmp/win_c`) зависают и не откликаются на Ctrl+C.

В dmesg сообщения вида:

[10890.534102] INFO: task gvim:3735 blocked for more than 120 seconds.
[10890.534106] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[10890.534110] gvim            D ffff88023e2d3780     0  3735      1 0x00000000
[10890.534115]  ffff880231ba6340 0000000000000082 0000000000000000 ffff880235ba6f60
[10890.534121]  0000000000013780 ffff880232efbfd8 ffff880232efbfd8 ffff880231ba6340
[10890.534126]  0000000000000000 0000000100000000 0000000000000000 ffff880231a56c20
[10890.534132] Call Trace:
[10890.534141]  [<ffffffff8134f36c>] ? __mutex_lock_common.isra.5+0xff/0x164
[10890.534146]  [<ffffffff8134f25a>] ? mutex_lock+0x1a/0x2d
[10890.534151]  [<ffffffff81154f36>] ? load_nls_default+0xe/0x1f
[10890.534159]  [<ffffffffa04a30d2>] ? cifs_reconnect_tcon+0x197/0x2b0 [cifs]
[10890.534165]  [<ffffffff811aabfc>] ? cpumask_next_and+0x28/0x34
[10890.534170]  [<ffffffffa04a3af6>] ? smb_init+0x24/0x69 [cifs]
[10890.534178]  [<ffffffffa04a87fb>] ? CIFSSMBQPathInfo+0x63/0x21c [cifs]
[10890.534183]  [<ffffffff810ecae3>] ? kmem_cache_alloc_trace+0xbe/0xce
[10890.534192]  [<ffffffffa04b94a0>] ? cifs_get_inode_info+0x108/0x417 [cifs]
[10890.534200]  [<ffffffffa04b2270>] ? build_path_from_dentry+0xc1/0x1ea [cifs]
[10890.534204]  [<ffffffff810eca13>] ? __kmalloc+0x100/0x112
[10890.534211]  [<ffffffffa04b22d0>] ? build_path_from_dentry+0x121/0x1ea [cifs]
[10890.534217]  [<ffffffff8110869f>] ? poll_freewait+0x97/0x97
[10890.534225]  [<ffffffffa04baa4b>] ? cifs_revalidate_dentry_attr+0x11e/0x16a [cifs]
[10890.534229]  [<ffffffff81110006>] ? mntget+0x17/0x1c
[10890.534236]  [<ffffffffa04baac4>] ? cifs_revalidate_dentry+0xa/0x1f [cifs]
[10890.534243]  [<ffffffffa04b2164>] ? cifs_d_revalidate+0x23/0x6e [cifs]
[10890.534248]  [<ffffffff81103547>] ? walk_component+0x28f/0x406
[10890.534252]  [<ffffffff81103d05>] ? link_path_walk+0x174/0x421
[10890.534257]  [<ffffffff8110433c>] ? path_lookupat+0x53/0x2bd
[10890.534261]  [<ffffffff81036628>] ? should_resched+0x5/0x23
[10890.534264]  [<ffffffff8134ea6c>] ? _cond_resched+0x7/0x1c
[10890.534269]  [<ffffffff811045c2>] ? do_path_lookup+0x1c/0x87
[10890.534273]  [<ffffffff8110604b>] ? user_path_at_empty+0x47/0x7b
[10890.534279]  [<ffffffff81280de8>] ? sys_recvfrom+0xfd/0x12a
[10890.534283]  [<ffffffff810fe09e>] ? vfs_fstatat+0x32/0x60
[10890.534288]  [<ffffffff8112c607>] ? eventfd_read+0x33/0x5e
[10890.534291]  [<ffffffff810fe1d4>] ? sys_newstat+0x12/0x2b
[10890.534294]  [<ffffffff811095c2>] ? sys_poll+0x43/0xab
[10890.534298]  [<ffffffff8104b362>] ? sys_time+0xc/0x39
[10890.534302]  [<ffffffff81354d92>] ? system_call_fastpath+0x16/0x1b

Пока писал это сообщение - все развисло :). Но все таки дело непонятное. Вопросы:

- Как мне это побороть?

- Как можно насильно перезапустить ?модуль отвечающий за монтирование cifs (чтобы не перезагружать систему в таких случаях)? `killall -9 cifsd` не имеет никакого эффекта

//Есть предположение, что развисает после перезапуска LanmanServer на венде

Есть такое дело...периодически сталкиваюсь на разных машинах с семеркой. Рестарт LanmanServer помогает (на ХР не наблюдал такого, кстати, парк машин достаточно большой). Поковыряй настройки LanmanServer в винде. Вот тут посмотри, может найдешь чего полезного.

http://www.networkedmediatank.com/showthread.php?tid=31505

У себя я не парюсь, мне коннекты на винду по часу и более не нужны просто.

conalex ★★★ ()

покажи iotop в момент висюка

anonymous ()

очевидно что в таймаутах на сервере дело, подвисло то оно внутри реконнекта

no-dashi ★★★★★ ()
Ответ на: комментарий от conalex

Спасибо, посмотрю.

Ну а в общем случае, как мне можно на клиенте по-жесткому это побороть. Например, если я перезагружаю систему, то шары монтируются сразу. Можно ли перезагрузить какой-нибудь сервис, модуль, чтобы я мог заново все перемонтировать?

tri10bit ()
Ответ на: комментарий от conalex

Кажется, мы недопоняли друг друга =)

Шара на win7, клиент на debian. Висит debian. Соответственно, я хочу понять, как справиться с внезапной проблемой монтирования шар без перезагрузки debian'а

tri10bit ()
Ответ на: комментарий от conalex

Венда же ко мне сама не лезет, это я к ней обращаюсь. Я всего лишь клиент. Если, например, у меня в firefox виснет флэш - я могу убить plugin_container и перегрузить страницу. Я хочу здесь того же эффекта.

tri10bit ()
Ответ на: комментарий от tri10bit

Возможно ли это. Или затык происходит на уровне ядра и я не могу ничего здесь поделать кроме полной перезагрузки?

tri10bit ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.