]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
Merge git://git.samba.org/sfrench/cifs-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Feb 2012 04:34:44 +0000 (20:34 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Feb 2012 04:34:44 +0000 (20:34 -0800)
* git://git.samba.org/sfrench/cifs-2.6:
  cifs: don't return error from standard_receive3 after marking response malformed
  cifs: request oplock when doing open on lookup
  cifs: fix error handling when cifscreds key payload is an error

fs/cifs/connect.c
fs/cifs/dir.c

index 9c288653e6d6a6f6d6bdb813f41f23f1cd5552c4..602f77c304c90fc402c9ec221eff2b78be818081 100644 (file)
@@ -773,10 +773,11 @@ standard_receive3(struct TCP_Server_Info *server, struct mid_q_entry *mid)
                cifs_dump_mem("Bad SMB: ", buf,
                        min_t(unsigned int, server->total_read, 48));
 
-       if (mid)
-               handle_mid(mid, server, smb_buffer, length);
+       if (!mid)
+               return length;
 
-       return length;
+       handle_mid(mid, server, smb_buffer, length);
+       return 0;
 }
 
 static int
@@ -2125,7 +2126,7 @@ cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)
        down_read(&key->sem);
        upayload = key->payload.data;
        if (IS_ERR_OR_NULL(upayload)) {
-               rc = PTR_ERR(key);
+               rc = upayload ? PTR_ERR(upayload) : -EINVAL;
                goto out_key_put;
        }
 
index df8fecb5b993316dfb5787098a3470eba8e3446c..63a196b97d5094a02e0f68b4fe5084051e7ad33a 100644 (file)
@@ -492,7 +492,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
 {
        int xid;
        int rc = 0; /* to get around spurious gcc warning, set to zero here */
-       __u32 oplock = 0;
+       __u32 oplock = enable_oplocks ? REQ_OPLOCK : 0;
        __u16 fileHandle = 0;
        bool posix_open = false;
        struct cifs_sb_info *cifs_sb;