From: Greg Kroah-Hartman Date: Fri, 1 Jun 2012 16:29:35 +0000 (-0700) Subject: remove broken cifs patch in 3.0 X-Git-Tag: v3.0.34~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=257e5f5096da9c6ddd262b866652628979ce3f20;p=thirdparty%2Fkernel%2Fstable-queue.git remove broken cifs patch in 3.0 --- diff --git a/queue-3.0/cifs-include-backup-intent-search-flags-during-searches-try-2.patch b/queue-3.0/cifs-include-backup-intent-search-flags-during-searches-try-2.patch deleted file mode 100644 index 8fee41846a2..00000000000 --- a/queue-3.0/cifs-include-backup-intent-search-flags-during-searches-try-2.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 2608bee744a92d60d15ff4e6e0b913d8b406aedd Mon Sep 17 00:00:00 2001 -From: Shirish Pargaonkar -Date: Tue, 15 May 2012 10:19:16 -0500 -Subject: cifs: Include backup intent search flags during searches {try #2) - -From: Shirish Pargaonkar - -commit 2608bee744a92d60d15ff4e6e0b913d8b406aedd upstream. - -As observed and suggested by Tushar Gosavi... - ---------- -readdir calls these function to send TRANS2_FIND_FIRST and -TRANS2_FIND_NEXT command to the server. The current cifs module is -not specifying CIFS_SEARCH_BACKUP_SEARCH flag while sending these -command when backupuid/backupgid is specified. This can be resolved -by specifying CIFS_SEARCH_BACKUP_SEARCH flag. ---------- - -Reported-and-Tested-by: Tushar Gosavi -Signed-off-by: Shirish Pargaonkar -Acked-by: Jeff Layton -Signed-off-by: Steve French -Signed-off-by: Greg Kroah-Hartman - ---- - fs/cifs/cifsproto.h | 6 ++++-- - fs/cifs/cifssmb.c | 12 +++++------- - fs/cifs/readdir.c | 15 +++++++++++++-- - 3 files changed, 22 insertions(+), 11 deletions(-) - ---- a/fs/cifs/cifsproto.h -+++ b/fs/cifs/cifsproto.h -@@ -175,11 +175,13 @@ extern int CIFSTCon(unsigned int xid, st - - extern int CIFSFindFirst(const int xid, struct cifs_tcon *tcon, - const char *searchName, const struct nls_table *nls_codepage, -- __u16 *searchHandle, struct cifs_search_info *psrch_inf, -+ __u16 *searchHandle, __u16 search_flags, -+ struct cifs_search_info *psrch_inf, - int map, const char dirsep); - - extern int CIFSFindNext(const int xid, struct cifs_tcon *tcon, -- __u16 searchHandle, struct cifs_search_info *psrch_inf); -+ __u16 searchHandle, __u16 search_flags, -+ struct cifs_search_info *psrch_inf); - - extern int CIFSFindClose(const int, struct cifs_tcon *tcon, - const __u16 search_handle); ---- a/fs/cifs/cifssmb.c -+++ b/fs/cifs/cifssmb.c -@@ -3926,7 +3926,7 @@ int - CIFSFindFirst(const int xid, struct cifs_tcon *tcon, - const char *searchName, - const struct nls_table *nls_codepage, -- __u16 *pnetfid, -+ __u16 *pnetfid, __u16 search_flags, - struct cifs_search_info *psrch_inf, int remap, const char dirsep) - { - /* level 257 SMB_ */ -@@ -3999,8 +3999,7 @@ findFirstRetry: - cpu_to_le16(ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM | - ATTR_DIRECTORY); - pSMB->SearchCount = cpu_to_le16(CIFSMaxBufSize/sizeof(FILE_UNIX_INFO)); -- pSMB->SearchFlags = cpu_to_le16(CIFS_SEARCH_CLOSE_AT_END | -- CIFS_SEARCH_RETURN_RESUME); -+ pSMB->SearchFlags = cpu_to_le16(search_flags); - pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); - - /* BB what should we set StorageType to? Does it matter? BB */ -@@ -4071,8 +4070,8 @@ findFirstRetry: - return rc; - } - --int CIFSFindNext(const int xid, struct cifs_tcon *tcon, -- __u16 searchHandle, struct cifs_search_info *psrch_inf) -+int CIFSFindNext(const int xid, struct cifs_tcon *tcon, __u16 searchHandle, -+ __u16 search_flags, struct cifs_search_info *psrch_inf) - { - TRANSACTION2_FNEXT_REQ *pSMB = NULL; - TRANSACTION2_FNEXT_RSP *pSMBr = NULL; -@@ -4117,8 +4116,7 @@ int CIFSFindNext(const int xid, struct c - cpu_to_le16(CIFSMaxBufSize / sizeof(FILE_UNIX_INFO)); - pSMB->InformationLevel = cpu_to_le16(psrch_inf->info_level); - pSMB->ResumeKey = psrch_inf->resume_key; -- pSMB->SearchFlags = -- cpu_to_le16(CIFS_SEARCH_CLOSE_AT_END | CIFS_SEARCH_RETURN_RESUME); -+ pSMB->SearchFlags = cpu_to_le16(search_flags); - - name_len = psrch_inf->resume_name_len; - params += name_len; ---- a/fs/cifs/readdir.c -+++ b/fs/cifs/readdir.c -@@ -218,6 +218,7 @@ int get_symlink_reparse_path(char *full_ - - static int initiate_cifs_search(const int xid, struct file *file) - { -+ __u16 search_flags; - int rc = 0; - char *full_path = NULL; - struct cifsFileInfo *cifsFile; -@@ -269,8 +270,12 @@ ffirst_retry: - cifsFile->srch_inf.info_level = SMB_FIND_FILE_DIRECTORY_INFO; - } - -+ search_flags = CIFS_SEARCH_CLOSE_AT_END | CIFS_SEARCH_RETURN_RESUME; -+ if (backup_cred(cifs_sb)) -+ search_flags |= CIFS_SEARCH_BACKUP_SEARCH; -+ - rc = CIFSFindFirst(xid, pTcon, full_path, cifs_sb->local_nls, -- &cifsFile->netfid, &cifsFile->srch_inf, -+ &cifsFile->netfid, search_flags, &cifsFile->srch_inf, - cifs_sb->mnt_cifs_flags & - CIFS_MOUNT_MAP_SPECIAL_CHR, CIFS_DIR_SEP(cifs_sb)); - if (rc == 0) -@@ -499,11 +504,13 @@ static int cifs_save_resume_key(const ch - static int find_cifs_entry(const int xid, struct cifs_tcon *pTcon, - struct file *file, char **ppCurrentEntry, int *num_to_ret) - { -+ __u16 search_flags; - int rc = 0; - int pos_in_buf = 0; - loff_t first_entry_in_buffer; - loff_t index_to_find = file->f_pos; - struct cifsFileInfo *cifsFile = file->private_data; -+ struct cifs_sb_info *cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); - /* check if index in the buffer */ - - if ((cifsFile == NULL) || (ppCurrentEntry == NULL) || -@@ -554,10 +561,14 @@ static int find_cifs_entry(const int xid - cifs_save_resume_key(cifsFile->srch_inf.last_entry, cifsFile); - } - -+ search_flags = CIFS_SEARCH_CLOSE_AT_END | CIFS_SEARCH_RETURN_RESUME; -+ if (backup_cred(cifs_sb)) -+ search_flags |= CIFS_SEARCH_BACKUP_SEARCH; -+ - while ((index_to_find >= cifsFile->srch_inf.index_of_last_entry) && - (rc == 0) && !cifsFile->srch_inf.endOfSearch) { - cFYI(1, "calling findnext2"); -- rc = CIFSFindNext(xid, pTcon, cifsFile->netfid, -+ rc = CIFSFindNext(xid, pTcon, cifsFile->netfid, search_flags, - &cifsFile->srch_inf); - cifs_save_resume_key(cifsFile->srch_inf.last_entry, cifsFile); - if (rc) diff --git a/queue-3.0/series b/queue-3.0/series index 4ba23db1087..fcee8b2343d 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -4,7 +4,6 @@ mm-consider-all-swapped-back-pages-in-used-once-logic.patch mm-pmd_read_atomic-fix-32bit-pae-pmd-walk-vs-pmd_populate-smp-race-condition.patch mm-fix-faulty-initialization-in-vmalloc_init.patch iwlwifi-update-bt-traffic-load-states-correctly.patch -cifs-include-backup-intent-search-flags-during-searches-try-2.patch cifs-fix-oops-while-traversing-open-file-list-try-4.patch parisc-fix-boot-failure-on-32-bit-systems-caused-by-branch-stubs-placed-before-.text.patch parisc-fix-tlb-fault-path-on-pa2.0-narrow-systems.patch