summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2008-08-15 19:05:03 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2008-08-20 11:15:27 -0700
commit0695f8439d0379017605eb86473deb9ba489832a (patch)
treefdfa2126d71f98b1856d44310def28416f179517
parentbf3e04758501587d7ff4366fd3fab75e7d9e85b8 (diff)
downloadlwn-0695f8439d0379017605eb86473deb9ba489832a.tar.gz
lwn-0695f8439d0379017605eb86473deb9ba489832a.zip
CIFS: mount of IPC$ breaks with iget patch
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>
-rw-r--r--fs/cifs/inode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index e1031b9e2c55..78a7f5ef1e0d 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -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);