mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 19:29:37 +00:00
[CIFS] Set copychunk defaults
Patch 2 of the copy chunk series (the final patch will use these to handle copies of files larger than the chunk size. We set the same defaults that Windows and Samba expect for CopyChunk. Signed-off-by: Steve French <smfrench@gmail.com> Reviewed-by: David Disseldorp <ddiss@samba.org>
This commit is contained in:
parent
41c1358e91
commit
de9f68df67
2 changed files with 12 additions and 1 deletions
|
@ -858,6 +858,9 @@ struct cifs_tcon {
|
||||||
__le64 vol_create_time;
|
__le64 vol_create_time;
|
||||||
__u32 ss_flags; /* sector size flags */
|
__u32 ss_flags; /* sector size flags */
|
||||||
__u32 perf_sector_size; /* best sector size for perf */
|
__u32 perf_sector_size; /* best sector size for perf */
|
||||||
|
__u32 max_chunks;
|
||||||
|
__u32 max_bytes_chunk;
|
||||||
|
__u32 max_bytes_copy;
|
||||||
#endif /* CONFIG_CIFS_SMB2 */
|
#endif /* CONFIG_CIFS_SMB2 */
|
||||||
#ifdef CONFIG_CIFS_FSCACHE
|
#ifdef CONFIG_CIFS_FSCACHE
|
||||||
u64 resource_id; /* server resource id */
|
u64 resource_id; /* server resource id */
|
||||||
|
|
|
@ -717,6 +717,14 @@ static inline void cifs_stats_fail_inc(struct cifs_tcon *tcon, uint16_t code)
|
||||||
|
|
||||||
#define MAX_SHARENAME_LENGTH (255 /* server */ + 80 /* share */ + 1 /* NULL */)
|
#define MAX_SHARENAME_LENGTH (255 /* server */ + 80 /* share */ + 1 /* NULL */)
|
||||||
|
|
||||||
|
/* These are similar values to what Windows uses */
|
||||||
|
static inline void init_copy_chunk_defaults(struct cifs_tcon *tcon)
|
||||||
|
{
|
||||||
|
tcon->max_chunks = 256;
|
||||||
|
tcon->max_bytes_chunk = 1048576;
|
||||||
|
tcon->max_bytes_copy = 16777216;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
|
SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
|
||||||
struct cifs_tcon *tcon, const struct nls_table *cp)
|
struct cifs_tcon *tcon, const struct nls_table *cp)
|
||||||
|
@ -818,7 +826,7 @@ SMB2_tcon(const unsigned int xid, struct cifs_ses *ses, const char *tree,
|
||||||
if ((rsp->Capabilities & SMB2_SHARE_CAP_DFS) &&
|
if ((rsp->Capabilities & SMB2_SHARE_CAP_DFS) &&
|
||||||
((tcon->share_flags & SHI1005_FLAGS_DFS) == 0))
|
((tcon->share_flags & SHI1005_FLAGS_DFS) == 0))
|
||||||
cifs_dbg(VFS, "DFS capability contradicts DFS flag\n");
|
cifs_dbg(VFS, "DFS capability contradicts DFS flag\n");
|
||||||
|
init_copy_chunk_defaults(tcon);
|
||||||
tcon_exit:
|
tcon_exit:
|
||||||
free_rsp_buf(resp_buftype, rsp);
|
free_rsp_buf(resp_buftype, rsp);
|
||||||
kfree(unc_path);
|
kfree(unc_path);
|
||||||
|
|
Loading…
Reference in a new issue