Comment 26 for bug 286828

Revision history for this message
Steve French (smfrench) wrote : Re: [Bug 286828] Re: CIFS share broken after upgrade from 8.04 -> 8.10

Sounds like a long shot but here are the fixes

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=0752f1522a9120f731232919f7ad904e9e22b8ce

and

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=a364bc0b37f14ffd66c1f982af42990a9d77fa43

commit a364bc0b37f14ffd66c1f982af42990a9d77fa43
Author: Jeff Layton <email address hidden>
Date: Tue Oct 21 14:42:13 2008 +0000

    [CIFS] fix saving of resume key before CIFSFindNext

    We recently fixed the cifs readdir code so that it saves the resume key
    before calling CIFSFindNext. Unfortunately, this assumes that we have
    just done a CIFSFindFirst (or FindNext) and have resume info to save.
    This isn't necessarily the case. Fix the code to save resume info if we
    had to reinitiate the search, and after a FindNext.

    This fixes connectathon basic test6 against NetApp filers.

    Signed-off-by: Jeff Layton <email address hidden>
    CC: Stable <email address hidden>
    Signed-off-by: Steve French <email address hidden>

commit 0752f1522a9120f731232919f7ad904e9e22b8ce
Author: Steve French <email address hidden>
Date: Tue Oct 7 20:03:33 2008 +0000

    [CIFS] make sure we have the right resume info before calling CIFSFindNext

    When we do a seekdir() or equivalent, we usually end up doing a
    FindFirst call and then call FindNext until we get to the offset that we
    want. The problem is that when we call FindNext, the code usually
    doesn't have the proper info (mostly, the filename of the entry from the
    last search) to resume the search.

    Add a "last_entry" field to the cifs_search_info that points to the last
    entry in the search. We calculate this pointer by using the
    LastNameOffset field from the search parms that are returned. We then
    use that info to do a cifs_save_resume_key before we call CIFSFindNext.

    This patch allows CIFS to reliably pass the "telldir" connectathon test.

    Signed-off-by: Jeff Layton <email address hidden>
    CC: Stable <email address hidden>
    Signed-off-by: Steve French <email address hidden>

On Wed, Nov 5, 2008 at 1:53 PM, Eric Krieger <email address hidden> wrote:
> capturing the any information post lockup will not be possible. the
> entire system freezes and requires a power cycle to recover.
>
> The issue is defiantly a client issue. I've tested rolling my kernel
> back to 2.6.24-19 from 2.6.27-7 and everything works fine.
>
> Could you point me to the pair of fixes to cifs in 2.6.27?
>
> Thanks!
>
> --
> CIFS share broken after upgrade from 8.04 -> 8.10
> https://bugs.launchpad.net/bugs/286828
> You received this bug notification because you are a direct subscriber
> of the bug.
>

--
Thanks,

Steve