X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=fs%2Fcifs%2Fdir.c;h=2f35cccfcd8d202423c4e9e1434d139cf78dc084;hb=3ae5080f4c2e293229508dabe7c8a90af4e4c460;hp=43cc0fd2f8a72eb8df8afa71088a84fd2805ed96;hpb=aabb8fdb41128705fd1627f56fdd571e45fdbcdb;p=deliverable%2Flinux.git diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 43cc0fd2f8a7..2f35cccfcd8d 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -129,7 +129,7 @@ cifs_bp_rename_retry: return full_path; } -static int cifs_posix_open(char *full_path, struct inode **pinode, +int cifs_posix_open(char *full_path, struct inode **pinode, struct super_block *sb, int mode, int oflags, int *poplock, __u16 *pnetfid, int xid) { @@ -187,7 +187,9 @@ static int cifs_posix_open(char *full_path, struct inode **pinode, if (!pinode) goto posix_open_ret; /* caller does not need info */ - *pinode = cifs_new_inode(sb, &presp_data->UniqueId); + if (*pinode == NULL) + *pinode = cifs_new_inode(sb, &presp_data->UniqueId); + /* else an inode was passed in. Update its info, don't create one */ /* We do not need to close the file if new_inode fails since the caller will retry qpathinfo as long as inode is null */