]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
CIFS: mount of IPC$ breaks with iget patch
authorSteve French <sfrench@us.ibm.com>
Fri, 15 Aug 2008 19:05:03 +0000 (19:05 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 20 Aug 2008 18:15:27 +0000 (11:15 -0700)
commit ad661334b8ae421154b121ee6ad3b56807adbf11 upstream

In looking at network named pipe support on cifs, I noticed that
Dave Howell's iget patch:

    iget: stop CIFS from using iget() and read_inode()

broke mounts to IPC$ (the interprocess communication share), and don't
handle the error case (when getting info on the root inode fails).

Thanks to Gunter who noted a typo in a debug line in the original
version of this patch.

CC: David Howells <dhowells@redhat.com>
CC: Gunter Kukkukk <linux@kukkukk.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/cifs/inode.c

index e1031b9e2c55ccfb13182e89c899ba6e49c89f7d..78a7f5ef1e0df70b8c096f1a9abe4b0f1dfb5fd0 100644 (file)
@@ -639,6 +639,7 @@ struct inode *cifs_iget(struct super_block *sb, unsigned long ino)
                inode->i_fop = &simple_dir_operations;
                inode->i_uid = cifs_sb->mnt_uid;
                inode->i_gid = cifs_sb->mnt_gid;
+       } else if (rc) {
                _FreeXid(xid);
                iget_failed(inode);
                return ERR_PTR(rc);