diff options
author | Ronnie Sahlberg <lsahlber@redhat.com> | 2018-04-22 15:30:12 -0600 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2018-05-27 17:56:35 -0500 |
commit | 9ec672bd17131fe26c966960a573a76fdb1da323 (patch) | |
tree | 92fe6dc479fbaca3f2e260a3a5bf6f5b1f750382 /fs/cifs/readdir.c | |
parent | 14547f7d74c4a2583214693f69d45374b8028649 (diff) | |
download | linux-stable-9ec672bd17131fe26c966960a573a76fdb1da323.tar.gz linux-stable-9ec672bd17131fe26c966960a573a76fdb1da323.tar.bz2 linux-stable-9ec672bd17131fe26c966960a573a76fdb1da323.zip |
cifs: update calc_size to take a server argument
and change the smb2 version to take heder_preamble_size into account
instead of hardcoding it as 4 bytes.
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/readdir.c')
-rw-r--r-- | fs/cifs/readdir.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c index a27fc8791551..eeab81c9452f 100644 --- a/fs/cifs/readdir.c +++ b/fs/cifs/readdir.c @@ -650,7 +650,8 @@ find_cifs_entry(const unsigned int xid, struct cifs_tcon *tcon, loff_t pos, char *cur_ent; char *end_of_smb = cfile->srch_inf.ntwrk_buf_start + server->ops->calc_smb_size( - cfile->srch_inf.ntwrk_buf_start); + cfile->srch_inf.ntwrk_buf_start, + server); cur_ent = cfile->srch_inf.srch_entries_start; first_entry_in_buffer = cfile->srch_inf.index_of_last_entry @@ -831,7 +832,8 @@ int cifs_readdir(struct file *file, struct dir_context *ctx) cifs_dbg(FYI, "loop through %d times filling dir for net buf %p\n", num_to_fill, cifsFile->srch_inf.ntwrk_buf_start); max_len = tcon->ses->server->ops->calc_smb_size( - cifsFile->srch_inf.ntwrk_buf_start); + cifsFile->srch_inf.ntwrk_buf_start, + tcon->ses->server); end_of_smb = cifsFile->srch_inf.ntwrk_buf_start + max_len; tmp_buf = kmalloc(UNICODE_NAME_MAX, GFP_KERNEL); |