diff options
Diffstat (limited to 'fs/cifs/dir.c')
-rw-r--r-- | fs/cifs/dir.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 89fb72832652..f9b6f68be976 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
@@ -129,7 +129,7 @@ cifs_bp_rename_retry: | |||
129 | return full_path; | 129 | return full_path; |
130 | } | 130 | } |
131 | 131 | ||
132 | static int cifs_posix_open(char *full_path, struct inode **pinode, | 132 | int cifs_posix_open(char *full_path, struct inode **pinode, |
133 | struct super_block *sb, int mode, int oflags, | 133 | struct super_block *sb, int mode, int oflags, |
134 | int *poplock, __u16 *pnetfid, int xid) | 134 | int *poplock, __u16 *pnetfid, int xid) |
135 | { | 135 | { |
@@ -187,7 +187,9 @@ static int cifs_posix_open(char *full_path, struct inode **pinode, | |||
187 | if (!pinode) | 187 | if (!pinode) |
188 | goto posix_open_ret; /* caller does not need info */ | 188 | goto posix_open_ret; /* caller does not need info */ |
189 | 189 | ||
190 | *pinode = cifs_new_inode(sb, &presp_data->UniqueId); | 190 | if (*pinode == NULL) |
191 | *pinode = cifs_new_inode(sb, &presp_data->UniqueId); | ||
192 | /* else an inode was passed in. Update its info, don't create one */ | ||
191 | 193 | ||
192 | /* We do not need to close the file if new_inode fails since | 194 | /* We do not need to close the file if new_inode fails since |
193 | the caller will retry qpathinfo as long as inode is null */ | 195 | the caller will retry qpathinfo as long as inode is null */ |