BUG() at the client side during umount. Easy to reproduce using the following program from the client running under the mount point. #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdio.h> #include <errno.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main(void) { int fd; char buffer[4096]; char *file = "/mnt/MYFIFO"; unlink(file); perror("unlink"); mknod(file, S_IFIFO|0666, 0); perror("mknod"); fd = open(file, O_RDWR|O_CREAT, 0777); perror("open"); write(fd, buffer, 4096); perror("write"); return 0; } # ./test unlink: Success mknod: Success open: Success write: Invalid argument # umount /mnt Segmentation fault [ 278.108849] fs/cifs/inode.c: Update attributes: /MYFIFO inode 0xffff8801005482e0 count 1 dentry: 0xffff8800ca830c00 d_time 0 jiffies 4294945404 [ 278.108851] fs/cifs/inode.c: Getting info on /MYFIFO [ 278.108853] fs/cifs/cifssmb.c: In QPathInfo (Unix) the path /MYFIFO [ 278.108860] fs/cifs/transport.c: For smb_command 50 [ 278.108862] fs/cifs/transport.c: Sending smb: total_len 92 [ 278.109393] fs/cifs/connect.c: rfc1002 length 0xa4 [ 278.109494] fs/cifs/transport.c: cifs_sync_mid_result: cmd=50 mid=21 state=4 [ 278.109500] fs/cifs/inode.c: cifs_revalidate_cache: revalidating inode 2628394 [ 278.109502] fs/cifs/inode.c: cifs_revalidate_cache: inode 2628394 is unchanged [ 278.109505] fs/cifs/inode.c: inode 0xffff8801005482e0 old_time=4294942124 new_time=4294945405 [ 278.109508] fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate_dentry_attr (xid = 23) rc = 0 [ 278.109592] fs/cifs/inode.c: cifs_unlink, dir=0xffff8800ca834050, dentry=0xffff8800ca830c00 [ 278.109595] fs/cifs/inode.c: CIFS VFS: in cifs_unlink as Xid: 24 with uid: 0 [ 278.109598] fs/cifs/cifssmb.c: In POSIX delete [ 278.109601] fs/cifs/transport.c: For smb_command 50 [ 278.109603] fs/cifs/transport.c: Sending smb: total_len 96 [ 278.120706] fs/cifs/connect.c: rfc1002 length 0x3e [ 278.120784] fs/cifs/transport.c: cifs_sync_mid_result: cmd=50 mid=22 state=4 [ 278.120789] fs/cifs/inode.c: posix del rc 0 [ 278.120792] fs/cifs/inode.c: CIFS VFS: leaving cifs_unlink (xid = 24) rc = 0 [ 278.120970] fs/cifs/dir.c: CIFS VFS: in cifs_lookup as Xid: 25 with uid: 0 [ 278.120972] fs/cifs/dir.c: parent inode = 0xffff8800ca834050 name is: MYFIFO and dentry = 0xffff8800d2d67cc0 [ 278.120975] fs/cifs/dir.c: CIFS VFS: leaving cifs_lookup (xid = 25) rc = 0 [ 278.121175] fs/cifs/dir.c: CIFS VFS: in cifs_mknod as Xid: 26 with uid: 0 [ 278.121177] fs/cifs/cifssmb.c: In SetUID/GID/Mode [ 278.121182] fs/cifs/transport.c: For smb_command 50 [ 278.121190] fs/cifs/transport.c: Sending smb: total_len 194 [ 278.122010] fs/cifs/connect.c: rfc1002 length 0x3e [ 278.122078] fs/cifs/transport.c: cifs_sync_mid_result: cmd=50 mid=23 state=4 [ 278.122081] fs/cifs/inode.c: Getting info on /MYFIFO [ 278.122083] fs/cifs/cifssmb.c: In QPathInfo (Unix) the path /MYFIFO [ 278.122087] fs/cifs/transport.c: For smb_command 50 [ 278.122089] fs/cifs/transport.c: Sending smb: total_len 92 [ 278.122601] fs/cifs/connect.c: rfc1002 length 0xa4 [ 278.122654] fs/cifs/transport.c: cifs_sync_mid_result: cmd=50 mid=24 state=4 [ 278.122659] fs/cifs/inode.c: looking for uniqueid=2628393 [ 278.122696] fs/cifs/inode.c: cifs_revalidate_cache: revalidating inode 2628393 [ 278.122697] fs/cifs/inode.c: cifs_revalidate_cache: inode 2628393 is new [ 278.122699] fs/cifs/inode.c: inode 0xffff88010054c050 old_time=0 new_time=4294945418 [ 278.122702] fs/cifs/dir.c: CIFS VFS: leaving cifs_mknod (xid = 26) rc = 0 [ 278.122782] fs/cifs/dir.c: CIFS VFS: in cifs_lookup as Xid: 27 with uid: 0 [ 278.122784] fs/cifs/dir.c: parent inode = 0xffff8800ca834050 name is: MYFIFO and dentry = 0xffff8800d2d67cc0 [ 278.122786] fs/cifs/dir.c: NULL inode in lookup [ 278.122787] fs/cifs/dir.c: Full path: /MYFIFO inode = 0x (null) [ 278.122789] fs/cifs/file.c: posix open /MYFIFO [ 278.122791] fs/cifs/cifssmb.c: In POSIX Create [ 278.122793] fs/cifs/transport.c: For smb_command 50 [ 278.122794] fs/cifs/transport.c: Sending smb: total_len 112 [ 278.123351] fs/cifs/connect.c: rfc1002 length 0xb0 [ 278.123432] fs/cifs/transport.c: cifs_sync_mid_result: cmd=50 mid=25 state=4 [ 278.123435] fs/cifs/cifssmb.c: copying inode info [ 278.123437] fs/cifs/inode.c: looking for uniqueid=2628393 [ 278.123439] fs/cifs/inode.c: cifs_revalidate_cache: revalidating inode 2628393 [ 278.123440] fs/cifs/inode.c: cifs_revalidate_cache: inode 2628393 is unchanged [ 278.123442] fs/cifs/inode.c: inode 0xffff88010054c050 old_time=4294945418 new_time=4294945419 [ 278.123448] fs/cifs/dir.c: CIFS VFS: leaving cifs_lookup (xid = 27) rc = 0 [ 278.123561] fs/cifs/file.c: closing last open instance for inode ffff880100548d20 [ 278.123564] fs/cifs/file.c: CIFS VFS: in cifsFileInfo_put as Xid: 28 with uid: 0 [ 278.123566] fs/cifs/cifssmb.c: In CIFSSMBClose [ 278.123568] fs/cifs/transport.c: For smb_command 4 [ 278.123569] fs/cifs/transport.c: Sending smb: total_len 45 [ 278.124322] fs/cifs/connect.c: rfc1002 length 0x27 [ 278.124354] fs/cifs/transport.c: cifs_sync_mid_result: cmd=4 mid=26 state=4 [ 278.124357] fs/cifs/file.c: CIFS VFS: leaving cifsFileInfo_put (xid = 28) rc = 0 [ 280.658202] fs/cifs/inode.c: CIFS VFS: in cifs_revalidate_dentry_attr as Xid: 29 with uid: 0 [ 280.658208] fs/cifs/inode.c: Update attributes: inode 0xffff8800ca834050 count 1 dentry: 0xffff8800d2ff0b40 d_time 0 jiffies 4294947954 [ 280.658210] fs/cifs/inode.c: Getting info on [ 280.658213] fs/cifs/cifssmb.c: In QPathInfo (Unix) the path [ 280.658219] fs/cifs/transport.c: For smb_command 50 [ 280.658221] fs/cifs/transport.c: Sending smb: total_len 78 [ 280.659131] fs/cifs/connect.c: rfc1002 length 0xa4 [ 280.659151] fs/cifs/transport.c: cifs_sync_mid_result: cmd=50 mid=27 state=4 [ 280.659156] fs/cifs/inode.c: cifs_revalidate_cache: revalidating inode 2621442 [ 280.659158] fs/cifs/inode.c: cifs_revalidate_cache: invalidating inode 2621442 mapping [ 280.659161] fs/cifs/inode.c: inode 0xffff8800ca834050 old_time=0 new_time=4294947955 [ 280.659164] fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate_dentry_attr (xid = 29) rc = 0 [ 294.478745] BUG: Dentry ffff8800d2d67cc0{i=281b29,n=MYFIFO} still in use (1) [unmount of cifs cifs] [ 294.481213] ------------[ cut here ]------------ [ 294.482318] kernel BUG at fs/dcache.c:873! [ 294.483212] invalid opcode: 0000 [#1] SMP [ 294.484290] CPU 1 [ 294.484444] Modules linked in: des_generic md4 nls_utf8 cifs fscache lockd nf_conntrack_ipv4 ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv4 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables snd_hda_intel snd_hda_codec snd_hwdep snd_seq snd_seq_device snd_pcm i2c_piix4 i2c_core snd_timer snd soundcore snd_page_alloc joydev microcode virtio_net virtio_balloon uinput sunrpc virtio_blk [last unloaded: scsi_wait_scan] [ 294.496648] [ 294.497454] Pid: 1557, comm: umount Not tainted 3.1.0-7.fc16.x86_64 #1 Bochs Bochs [ 294.499308] RIP: 0010:[<ffffffff8113a000>] [<ffffffff8113a000>] shrink_dcache_for_umount_subtree+0x91/0x146 [ 294.501161] RSP: 0018:ffff8800da021dd8 EFLAGS: 00010292 [ 294.502657] RAX: 000000000000006d RBX: ffff8800d2d67cc0 RCX: 000000000000b31c [ 294.503846] RDX: 0000000000000000 RSI: 0000000000000046 RDI: 0000000000000246 [ 294.505036] RBP: ffff8800da021e08 R08: 0000000000000000 R09: 0000000000000000 [ 294.506215] R10: 0000ffff00066c0a R11: 0000000000000000 R12: ffffffffa0158a80 [ 294.507478] R13: ffff880036815f40 R14: ffff880036815f00 R15: 0000000000000000 [ 294.508725] FS: 00007f1a479bf800(0000) GS:ffff88011fc80000(0000) knlGS:0000000000000000 [ 294.511058] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 294.511945] CR2: 00007f1a479e9aa0 CR3: 0000000036acc000 CR4: 00000000000006e0 [ 294.512893] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 294.513831] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 294.514740] Process umount (pid: 1557, threadinfo ffff8800da020000, task ffff880036961730) [ 294.516381] Stack: [ 294.517137] ffff880036b99680 0000000000000001 ffff880036b99400 ffffffffa0158a80 [ 294.519000] ffff880036815f40 ffff880036815f00 ffff8800da021e28 ffffffff8113a7c8 [ 294.521040] ffffffff8113f68d ffff880036b99400 ffff8800da021e58 ffffffff8112a901 [ 294.522872] Call Trace: [ 294.523647] [<ffffffff8113a7c8>] shrink_dcache_for_umount+0x38/0x49 [ 294.524602] [<ffffffff8113f68d>] ? free_vfsmnt+0x38/0x3c [ 294.525553] [<ffffffff8112a901>] generic_shutdown_super+0x23/0xb9 [ 294.526452] [<ffffffff8112aa14>] kill_anon_super+0x13/0x1e [ 294.527339] [<ffffffffa01341c8>] cifs_kill_sb+0x17/0x23 [cifs] [ 294.528233] [<ffffffff8112ace1>] deactivate_locked_super+0x37/0x68 [ 294.529551] [<ffffffff8112b54f>] deactivate_super+0x37/0x3b [ 294.530837] [<ffffffff8114023d>] mntput_no_expire+0xcc/0xd1 [ 294.532155] [<ffffffff81140dfa>] sys_umount+0x2ac/0x2da [ 294.533471] [<ffffffff814bc482>] system_call_fastpath+0x16/0x1b [ 294.534759] Code: 00 00 48 8b 40 28 4c 8b 08 48 8b 43 30 48 85 c0 74 04 48 8b 50 40 48 89 34 24 48 c7 c7 c5 8f 7c 81 48 89 de 31 c0 e8 a2 2c 37 00 <0f> 0b 4c 8b 63 18 48 8d bb 90 00 00 00 4c 39 e3 75 0a e8 81 56 [ 294.543795] RIP [<ffffffff8113a000>] shrink_dcache_for_umount_subtree+0x91/0x146 [ 294.545396] RSP <ffff8800da021dd8> [ 294.546185] ---[ end trace e5f76c63d051dca7 ]--- CAI Qian -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html