@@ -19,6 +19,7 @@ static struct smb_version_values smb21_server_values = {
1919 .max_read_size = SMB21_DEFAULT_IOSIZE ,
2020 .max_write_size = SMB21_DEFAULT_IOSIZE ,
2121 .max_trans_size = SMB21_DEFAULT_IOSIZE ,
22+ .max_credits = SMB2_MAX_CREDITS ,
2223 .large_lock_type = 0 ,
2324 .exclusive_lock_type = SMB2_LOCKFLAG_EXCLUSIVE ,
2425 .shared_lock_type = SMB2_LOCKFLAG_SHARED ,
@@ -44,6 +45,7 @@ static struct smb_version_values smb30_server_values = {
4445 .max_read_size = SMB3_DEFAULT_IOSIZE ,
4546 .max_write_size = SMB3_DEFAULT_IOSIZE ,
4647 .max_trans_size = SMB3_DEFAULT_TRANS_SIZE ,
48+ .max_credits = SMB2_MAX_CREDITS ,
4749 .large_lock_type = 0 ,
4850 .exclusive_lock_type = SMB2_LOCKFLAG_EXCLUSIVE ,
4951 .shared_lock_type = SMB2_LOCKFLAG_SHARED ,
@@ -70,6 +72,7 @@ static struct smb_version_values smb302_server_values = {
7072 .max_read_size = SMB3_DEFAULT_IOSIZE ,
7173 .max_write_size = SMB3_DEFAULT_IOSIZE ,
7274 .max_trans_size = SMB3_DEFAULT_TRANS_SIZE ,
75+ .max_credits = SMB2_MAX_CREDITS ,
7376 .large_lock_type = 0 ,
7477 .exclusive_lock_type = SMB2_LOCKFLAG_EXCLUSIVE ,
7578 .shared_lock_type = SMB2_LOCKFLAG_SHARED ,
@@ -96,6 +99,7 @@ static struct smb_version_values smb311_server_values = {
9699 .max_read_size = SMB3_DEFAULT_IOSIZE ,
97100 .max_write_size = SMB3_DEFAULT_IOSIZE ,
98101 .max_trans_size = SMB3_DEFAULT_TRANS_SIZE ,
102+ .max_credits = SMB2_MAX_CREDITS ,
99103 .large_lock_type = 0 ,
100104 .exclusive_lock_type = SMB2_LOCKFLAG_EXCLUSIVE ,
101105 .shared_lock_type = SMB2_LOCKFLAG_SHARED ,
@@ -197,7 +201,6 @@ void init_smb2_1_server(struct ksmbd_conn *conn)
197201 conn -> ops = & smb2_0_server_ops ;
198202 conn -> cmds = smb2_0_server_cmds ;
199203 conn -> max_cmds = ARRAY_SIZE (smb2_0_server_cmds );
200- conn -> max_credits = SMB2_MAX_CREDITS ;
201204 conn -> signing_algorithm = SIGNING_ALG_HMAC_SHA256_LE ;
202205
203206 if (server_conf .flags & KSMBD_GLOBAL_FLAG_SMB2_LEASES )
@@ -215,7 +218,6 @@ void init_smb3_0_server(struct ksmbd_conn *conn)
215218 conn -> ops = & smb3_0_server_ops ;
216219 conn -> cmds = smb2_0_server_cmds ;
217220 conn -> max_cmds = ARRAY_SIZE (smb2_0_server_cmds );
218- conn -> max_credits = SMB2_MAX_CREDITS ;
219221 conn -> signing_algorithm = SIGNING_ALG_AES_CMAC_LE ;
220222
221223 if (server_conf .flags & KSMBD_GLOBAL_FLAG_SMB2_LEASES )
@@ -240,7 +242,6 @@ void init_smb3_02_server(struct ksmbd_conn *conn)
240242 conn -> ops = & smb3_0_server_ops ;
241243 conn -> cmds = smb2_0_server_cmds ;
242244 conn -> max_cmds = ARRAY_SIZE (smb2_0_server_cmds );
243- conn -> max_credits = SMB2_MAX_CREDITS ;
244245 conn -> signing_algorithm = SIGNING_ALG_AES_CMAC_LE ;
245246
246247 if (server_conf .flags & KSMBD_GLOBAL_FLAG_SMB2_LEASES )
@@ -265,7 +266,6 @@ int init_smb3_11_server(struct ksmbd_conn *conn)
265266 conn -> ops = & smb3_11_server_ops ;
266267 conn -> cmds = smb2_0_server_cmds ;
267268 conn -> max_cmds = ARRAY_SIZE (smb2_0_server_cmds );
268- conn -> max_credits = SMB2_MAX_CREDITS ;
269269 conn -> signing_algorithm = SIGNING_ALG_AES_CMAC_LE ;
270270
271271 if (server_conf .flags & KSMBD_GLOBAL_FLAG_SMB2_LEASES )
@@ -304,3 +304,11 @@ void init_smb2_max_trans_size(unsigned int sz)
304304 smb302_server_values .max_trans_size = sz ;
305305 smb311_server_values .max_trans_size = sz ;
306306}
307+
308+ void init_smb2_max_credits (unsigned int sz )
309+ {
310+ smb21_server_values .max_credits = sz ;
311+ smb30_server_values .max_credits = sz ;
312+ smb302_server_values .max_credits = sz ;
313+ smb311_server_values .max_credits = sz ;
314+ }
0 commit comments