• Steve French's avatar
    [CIFS] make sure we have the right resume info before calling CIFSFindNext · 0752f152
    Steve French authored
    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: default avatarJeff Layton <jlayton@redhat.com>
    CC: Stable <stable@kernel.org>
    Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
    0752f152
readdir.c 34.1 KB