Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6

Pull cifs/smb3 fixes from Steve French:
"Fix for CIFS/SMB3 oops on reconnect during readpages (3.17 regression)
and for incorrectly closing file handle in symlink error cases"

* 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
CIFS: Fix readpages retrying on reconnects
Fix problem recognizing symlinks

Changed files
+4 -8
fs
+1 -7
fs/cifs/file.c
··· 3568 3568 lru_cache_add_file(page); 3569 3569 unlock_page(page); 3570 3570 page_cache_release(page); 3571 - if (rc == -EAGAIN) 3572 - list_add_tail(&page->lru, &tmplist); 3573 3571 } 3572 + /* Fallback to the readpage in error/reconnect cases */ 3574 3573 kref_put(&rdata->refcount, cifs_readdata_release); 3575 - if (rc == -EAGAIN) { 3576 - /* Re-add pages to the page_list and retry */ 3577 - list_splice(&tmplist, page_list); 3578 - continue; 3579 - } 3580 3574 break; 3581 3575 } 3582 3576
+1 -1
fs/cifs/smb1ops.c
··· 586 586 tmprc = CIFS_open(xid, &oparms, &oplock, NULL); 587 587 if (tmprc == -EOPNOTSUPP) 588 588 *symlink = true; 589 - else 589 + else if (tmprc == 0) 590 590 CIFSSMBClose(xid, tcon, fid.netfid); 591 591 } 592 592
+2
fs/cifs/smb2maperror.c
··· 256 256 {STATUS_DLL_MIGHT_BE_INCOMPATIBLE, -EIO, 257 257 "STATUS_DLL_MIGHT_BE_INCOMPATIBLE"}, 258 258 {STATUS_STOPPED_ON_SYMLINK, -EOPNOTSUPP, "STATUS_STOPPED_ON_SYMLINK"}, 259 + {STATUS_IO_REPARSE_TAG_NOT_HANDLED, -EOPNOTSUPP, 260 + "STATUS_REPARSE_NOT_HANDLED"}, 259 261 {STATUS_DEVICE_REQUIRES_CLEANING, -EIO, 260 262 "STATUS_DEVICE_REQUIRES_CLEANING"}, 261 263 {STATUS_DEVICE_DOOR_OPEN, -EIO, "STATUS_DEVICE_DOOR_OPEN"},