linux/fs/cifs
Nakajima Akira 9e6d722f3d cifs: make new inode cache when file type is different
In spite of different file type,
 if file is same name and same inode number, old inode cache is used.
This causes that you can not cd directory, can not cat SymbolicLink.
So this patch is that if file type is different, return error.

Reproducible sample :
1. create file 'a' at cifs client.
2. repeat rm and mkdir 'a' 4 times at server, then direcotry 'a' having same inode number is created.
   (Repeat 4 times, then same inode number is recycled.)
   (When server is under RHEL 6.6, 1 time is O.K.  Always same inode number is recycled.)
3. ls -li at client, then you can not cd directory, can not remove directory.

SymbolicLink has same problem.

Bug link:
https://bugzilla.kernel.org/show_bug.cgi?id=90011

Signed-off-by: Nakajima Akira <nakajima.akira@nttcom.co.jp>
Acked-by: Jeff Layton <jlayton@primarydata.com>
Signed-off-by: Steve French <steve.french@primarydata.com>
2014-12-22 14:16:21 -06:00
..
asn1.c
cache.c
cifs_debug.c cifs: convert printk(LEVEL...) to pr_<level> 2014-12-07 22:48:07 -06:00
cifs_debug.h cifs: convert printk(LEVEL...) to pr_<level> 2014-12-07 22:48:07 -06:00
cifs_dfs_ref.c cifs: replace strnicmp with strncasecmp 2014-10-14 02:18:24 +02:00
cifs_fs_sb.h Allow conversion of characters in Mac remap range. Part 1 2014-10-16 15:20:20 -05:00
cifs_spnego.c
cifs_spnego.h
cifs_unicode.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
cifs_unicode.h Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
cifs_uniupr.h
cifsacl.c fs/cifs: remove obsolete __constant 2014-12-10 17:41:02 -08:00
cifsacl.h
cifsencrypt.c Allow conversion of characters in Mac remap range. Part 1 2014-10-16 15:20:20 -05:00
cifsfs.c cifs: get rid of ->f_path.dentry->d_sb uses, add a new helper 2014-11-19 13:01:22 -05:00
cifsfs.h Update modinfo cifs version for cifs.ko 2014-12-07 22:17:19 -06:00
cifsglob.h Convert MessageID in smb2_hdr to LE 2014-12-14 14:55:45 -06:00
cifspdu.h
cifsproto.h
cifssmb.c fs/cifs: remove obsolete __constant 2014-12-10 17:41:02 -08:00
connect.c cifs: convert printk(LEVEL...) to pr_<level> 2014-12-07 22:48:07 -06:00
dir.c Allow mknod and mkfifo on SMB2/SMB3 mounts 2014-10-16 15:20:19 -05:00
dns_resolve.c
dns_resolve.h
export.c
file.c Merge branch 'akpm' (patchbomb from Andrew) 2014-12-10 18:34:42 -08:00
fscache.c
fscache.h
inode.c move d_rcu from overlapping d_child to overlapping d_alias 2014-11-03 15:20:29 -05:00
ioctl.c
Kconfig
link.c [CIFS] Remove obsolete comment 2014-10-17 17:17:12 -05:00
Makefile
misc.c cifs: convert to print_hex_dump() instead of custom implementation 2014-12-07 22:48:01 -06:00
netmisc.c Fix signed/unsigned pointer warning 2014-12-14 14:55:57 -06:00
nterr.c
nterr.h
ntlmssp.h
readdir.c cifs: make new inode cache when file type is different 2014-12-22 14:16:21 -06:00
rfc1002pdu.h
sess.c Merge branch 'akpm' (patchbomb from Andrew) 2014-12-10 18:34:42 -08:00
smb1ops.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
smb2file.c fs/cifs/smb2file.c: replace count*size kzalloc by kcalloc 2014-12-10 17:41:02 -08:00
smb2glob.h
smb2inode.c
smb2maperror.c
smb2misc.c Convert MessageID in smb2_hdr to LE 2014-12-14 14:55:45 -06:00
smb2ops.c Convert MessageID in smb2_hdr to LE 2014-12-14 14:55:45 -06:00
smb2pdu.c Merge branch 'akpm' (patchbomb from Andrew) 2014-12-10 18:34:42 -08:00
smb2pdu.h Convert MessageID in smb2_hdr to LE 2014-12-14 14:55:45 -06:00
smb2proto.h mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink 2014-10-16 15:20:20 -05:00
smb2status.h
smb2transport.c Convert MessageID in smb2_hdr to LE 2014-12-14 14:55:45 -06:00
smbencrypt.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00
smberr.h
smbfsctl.h
transport.c cifs: convert printk(LEVEL...) to pr_<level> 2014-12-07 22:48:07 -06:00
winucase.c
xattr.c Remap reserved posix characters by default (part 3/3) 2014-10-16 15:20:20 -05:00