diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/cifsfs.c | 2 | ||||
-rw-r--r-- | fs/cifs/inode.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index e8da4ee761b5..25ecbd5b0404 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -175,6 +175,8 @@ out_no_root: | |||
175 | if (inode) | 175 | if (inode) |
176 | iput(inode); | 176 | iput(inode); |
177 | 177 | ||
178 | cifs_umount(sb, cifs_sb); | ||
179 | |||
178 | out_mount_failed: | 180 | out_mount_failed: |
179 | if (cifs_sb) { | 181 | if (cifs_sb) { |
180 | #ifdef CONFIG_CIFS_DFS_UPCALL | 182 | #ifdef CONFIG_CIFS_DFS_UPCALL |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 28a22092d450..848286861c31 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -649,6 +649,7 @@ struct inode *cifs_iget(struct super_block *sb, unsigned long ino) | |||
649 | inode->i_fop = &simple_dir_operations; | 649 | inode->i_fop = &simple_dir_operations; |
650 | inode->i_uid = cifs_sb->mnt_uid; | 650 | inode->i_uid = cifs_sb->mnt_uid; |
651 | inode->i_gid = cifs_sb->mnt_gid; | 651 | inode->i_gid = cifs_sb->mnt_gid; |
652 | } else if (rc) { | ||
652 | _FreeXid(xid); | 653 | _FreeXid(xid); |
653 | iget_failed(inode); | 654 | iget_failed(inode); |
654 | return ERR_PTR(rc); | 655 | return ERR_PTR(rc); |