2010-01-11 22:05:29

by Roel Kluin

[permalink] [raw]
Subject: Re: [PATCH] cifs: remove redundant test in cifs_lookup() and cifs_do_rename()

rc != -EOPNOTSUPP is true as well if rc is -EINVAL.

Signed-off-by: Roel Kluin <[email protected]>
---
> At first glance this looks like a typo (probably not a serious one, but
> worth fixing)
>
> - else if ((rc == -EINVAL) || (rc != -EOPNOTSUPP))
>
> looks like it should be:
>
> + else if ((rc == -EINVAL) || (rc == -EOPNOTSUPP))

> --
> Thanks,
>
> Steve

Yes, according to the comment it appears you're right.

Thanks

diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 6ccf726..33a7427 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -690,7 +690,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
*/
if ((rc == 0) || (rc == -ENOENT))
posix_open = true;
- else if ((rc == -EINVAL) || (rc != -EOPNOTSUPP))
+ else if ((rc == -EINVAL) || (rc == -EOPNOTSUPP))
pTcon->broken_posix_open = true;
}
if (!posix_open)
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index cf18ee7..aec2928 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -1264,7 +1264,7 @@ cifs_do_rename(int xid, struct dentry *from_dentry, const char *fromPath,
* source Note that cross directory moves do not work with
* rename by filehandle to various Windows servers.
*/
- if (rc == 0 || rc != -ETXTBSY)
+ if (rc != -ETXTBSY)
return rc;

/* open the file to be renamed -- we need DELETE perms */