[linux-cifs-client] Bug when unmounting share (shrink_dcache_for_umount)

Eike Hein sho at eikehein.com
Mon May 3 00:11:18 MDT 2010


Hi,

since about 2.6.31 or so I have a problem with unmounting a CIFS
share that prevents my system from shutting down successfully.

The problem also occurs when unmounting a share while the sys-
tem is up. In both cases, the share must have been used before
trying to unmount it, e.g. using mplayer to play a video file
found on the share, then quitting mplayer and then trying to
unmount the share.

The shutdown failure means that the system stops during shut-
down with a trace like the one below on screen and then won't
power down.

If the share has not been used prior to unmounting/shuttind down,
there is no problem.

Here is a dmesg snippet from unmounting the share during normal
system operation:

BUG: Dentry ffff88001d8f95c8{i=2,n=/} still in use (2) [unmount of cifs
cifs]
------------[ cut here ]------------
kernel BUG at fs/dcache.c:670!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/devices/virtual/dmi/id/bios_vendor
CPU 0
Pid: 2338, comm: umount Tainted: P           2.6.33.2-57.fc13.x86_64 #1
P5B-Deluxe/System Product Name
RIP: 0010:[<ffffffff81130f9c>]  [<ffffffff81130f9c>]
shrink_dcache_for_umount_subtree+0x205/0x2eb
RSP: 0018:ffff88001b699e08  EFLAGS: 00010292
RAX: 0000000000000054 RBX: ffff88001d8f95c8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000246
RBP: ffff88001b699e38 R08: 000000000000ac81 R09: ffffffff8107ca78
R10: ffffffff81a56ef8 R11: 0000000000000000 R12: ffff88001d8f95c8
R13: 0000000000000174 R14: ffff88001d86d668 R15: ffff88001b699f18
FS:  00007f68a7908740(0000) GS:ffff880004a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f2e775f4000 CR3: 000000001b672000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process umount (pid: 2338, threadinfo ffff88001b698000, task
ffff880015828000)
Stack:
 ffff880079e8ae38 0000000000000246 ffff880079e8a968 ffffffffa0dcf690
<0> ffff880079e8a968 ffffffff81ba3ce0 ffff88001b699e58 ffffffff811310be
<0> ffff880079e8aa30 ffff880079e8a968 ffff88001b699e78 ffffffff81121f0d
Call Trace:
 [<ffffffff811310be>] shrink_dcache_for_umount+0x3c/0x4c
 [<ffffffff81121f0d>] generic_shutdown_super+0x1f/0xce
 [<ffffffff81122011>] kill_anon_super+0x16/0x55
 [<ffffffff811223dd>] deactivate_super+0x6d/0x82
 [<ffffffff81136cbf>] mntput_no_expire+0xbd/0xfa
 [<ffffffff811372a6>] sys_umount+0x2c0/0x2ef
 [<ffffffff81009c72>] system_call_fastpath+0x16/0x1b
Code: 50 30 4c 8b 0a 31 d2 48 85 f6 74 04 48 8b 56 40 48 05 d0 04 00 00
48 89 de 48 c7 c7 34 d4 78 81 48 89 04 24 31 c0 e8 af 6a 34 00 <0f> 0b
eb fe 4c 8b 63 68 4c 39 e3 75 05 45 31 e4 eb 05 f0 41 ff
RIP  [<ffffffff81130f9c>] shrink_dcache_for_umount_subtree+0x205/0x2eb
 RSP <ffff88001b699e08>
---[ end trace 15c19ec0d5874bcd ]---

My client system is a x64_64 Fedora 13 system running a kernel
identifying itself as 2.6.33.2-57.fc13.x86_64. The cifs-utils
package that contains the mount helper is version 4.3-2.fc13.

The server is a i686 Fedora 13 system - 2.6.33.2-57.fc13.i686.
The Samba server is version 3.5.2-59.fc13.

The fstab entry for the CIFS share in question is:
//ehs1/ehs1 /mnt/ehs1 cifs
file_mode=0644,dir_mode=0755,uid=500,gid=500,username=<username>,password=<password>
0 0

The smb.conf snippet is:
[ehs1]
comment = Main Share
path = /ehs1
writable = yes
valid users = sho
hide unreadable = yes

The Samba config doesn't seem to be doing anything interesting
otherwise.

Any ideas?


-- 
Best regards,
Eike Hein


More information about the linux-cifs-client mailing list