mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
three small SMB3 client fixes, one to improve a null check and two minor cleanup
-----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmUGFSgACgkQiiy9cAdy T1H8ZQwAuJhiLsTJK0lnWWxZC+KsIvTXlNKqx3VUqhJeYdxAc1tNCVjHTgdm63QA gRA0Htt8UhUoVVIMiipW2/PHA4rrNU7i0ULXSasAL6d8pPuZfeCzoehSfFo4u2ra bVDjfQUDtRakSU//Aj+Bv2sO77UWz0pQ5y0v2LCpPQ9Ks5TmLgxT+40uXCXf/LAe 3aBbvrgLOlt0JMXaIEaQoecMitUqajmuuq/5SVQ7lz0xvn7cCLKgk22LehtwHR0W Ae8GdCkfFipdq+gp76CZPHO9evmRCsjmF95z56/++HdLrftYln5W/TDfjTlOZM9V tP99hK/2EjsWL7TMCOG59w21sKuaOdBA7AV7blgWxZAbKsrBgtMEXgQxSZMiK+Vm lKR5lGLWoujQLcnzWRh+WL7XP0ZxzitTlrlLeFxciPSGP843GRx+0oINLKL8CInr 9mTwkzlzODNKA+83yRs5+Q3i0mq161IugsRrk1NHRUsr7oXiWWIxhcqCy5N5+R2S SfB16ql5 =WtnH -----END PGP SIGNATURE----- Merge tag '6.6-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 Pull smb client fixes from Steve French: "Three small SMB3 client fixes, one to improve a null check and two minor cleanups" * tag '6.6-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6: smb3: fix some minor typos and repeated words smb3: correct places where ENOTSUPP is used instead of preferred EOPNOTSUPP smb3: move server check earlier when setting channel sequence number
This commit is contained in:
commit
45c3c62722
@ -2680,7 +2680,7 @@ int cifs_fiemap(struct inode *inode, struct fiemap_extent_info *fei, u64 start,
|
||||
}
|
||||
|
||||
cifsFileInfo_put(cfile);
|
||||
return -ENOTSUPP;
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
int cifs_truncate_page(struct address_space *mapping, loff_t from)
|
||||
|
@ -297,7 +297,7 @@ smb2_adjust_credits(struct TCP_Server_Info *server,
|
||||
cifs_server_dbg(VFS, "request has less credits (%d) than required (%d)",
|
||||
credits->value, new_val);
|
||||
|
||||
return -ENOTSUPP;
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
spin_lock(&server->req_lock);
|
||||
@ -1161,7 +1161,7 @@ smb2_set_ea(const unsigned int xid, struct cifs_tcon *tcon,
|
||||
/* Use a fudge factor of 256 bytes in case we collide
|
||||
* with a different set_EAs command.
|
||||
*/
|
||||
if(CIFSMaxBufSize - MAX_SMB2_CREATE_RESPONSE_SIZE -
|
||||
if (CIFSMaxBufSize - MAX_SMB2_CREATE_RESPONSE_SIZE -
|
||||
MAX_SMB2_CLOSE_RESPONSE_SIZE - 256 <
|
||||
used_len + ea_name_len + ea_value_len + 1) {
|
||||
rc = -ENOSPC;
|
||||
@ -4591,7 +4591,7 @@ handle_read_data(struct TCP_Server_Info *server, struct mid_q_entry *mid,
|
||||
|
||||
if (shdr->Command != SMB2_READ) {
|
||||
cifs_server_dbg(VFS, "only big read responses are supported\n");
|
||||
return -ENOTSUPP;
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
if (server->ops->is_session_expired &&
|
||||
|
@ -89,20 +89,26 @@ smb2_hdr_assemble(struct smb2_hdr *shdr, __le16 smb2_cmd,
|
||||
struct TCP_Server_Info *server)
|
||||
{
|
||||
struct smb3_hdr_req *smb3_hdr;
|
||||
|
||||
shdr->ProtocolId = SMB2_PROTO_NUMBER;
|
||||
shdr->StructureSize = cpu_to_le16(64);
|
||||
shdr->Command = smb2_cmd;
|
||||
if (server->dialect >= SMB30_PROT_ID) {
|
||||
/* After reconnect SMB3 must set ChannelSequence on subsequent reqs */
|
||||
smb3_hdr = (struct smb3_hdr_req *)shdr;
|
||||
/* if primary channel is not set yet, use default channel for chan sequence num */
|
||||
if (SERVER_IS_CHAN(server))
|
||||
smb3_hdr->ChannelSequence =
|
||||
cpu_to_le16(server->primary_server->channel_sequence_num);
|
||||
else
|
||||
smb3_hdr->ChannelSequence = cpu_to_le16(server->channel_sequence_num);
|
||||
}
|
||||
|
||||
if (server) {
|
||||
/* After reconnect SMB3 must set ChannelSequence on subsequent reqs */
|
||||
if (server->dialect >= SMB30_PROT_ID) {
|
||||
smb3_hdr = (struct smb3_hdr_req *)shdr;
|
||||
/*
|
||||
* if primary channel is not set yet, use default
|
||||
* channel for chan sequence num
|
||||
*/
|
||||
if (SERVER_IS_CHAN(server))
|
||||
smb3_hdr->ChannelSequence =
|
||||
cpu_to_le16(server->primary_server->channel_sequence_num);
|
||||
else
|
||||
smb3_hdr->ChannelSequence =
|
||||
cpu_to_le16(server->channel_sequence_num);
|
||||
}
|
||||
spin_lock(&server->req_lock);
|
||||
/* Request up to 10 credits but don't go over the limit. */
|
||||
if (server->credits >= server->max_credits)
|
||||
@ -2234,7 +2240,7 @@ create_durable_v2_buf(struct cifs_open_parms *oparms)
|
||||
* (most servers default to 120 seconds) and most clients default to 0.
|
||||
* This can be overridden at mount ("handletimeout=") if the user wants
|
||||
* a different persistent (or resilient) handle timeout for all opens
|
||||
* opens on a particular SMB3 mount.
|
||||
* on a particular SMB3 mount.
|
||||
*/
|
||||
buf->dcontext.Timeout = cpu_to_le32(oparms->tcon->handle_timeout);
|
||||
buf->dcontext.Flags = cpu_to_le32(SMB2_DHANDLE_FLAG_PERSISTENT);
|
||||
@ -2379,7 +2385,7 @@ add_twarp_context(struct kvec *iov, unsigned int *num_iovec, __u64 timewarp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* See See http://technet.microsoft.com/en-us/library/hh509017(v=ws.10).aspx */
|
||||
/* See http://technet.microsoft.com/en-us/library/hh509017(v=ws.10).aspx */
|
||||
static void setup_owner_group_sids(char *buf)
|
||||
{
|
||||
struct owner_group_sids *sids = (struct owner_group_sids *)buf;
|
||||
@ -3124,6 +3130,7 @@ void
|
||||
SMB2_ioctl_free(struct smb_rqst *rqst)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (rqst && rqst->rq_iov) {
|
||||
cifs_small_buf_release(rqst->rq_iov[0].iov_base); /* request */
|
||||
for (i = 1; i < rqst->rq_nvec; i++)
|
||||
|
@ -18,7 +18,7 @@
|
||||
#include <linux/bvec.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/processor.h>
|
||||
#include <linux/processor.h>
|
||||
#include <linux/mempool.h>
|
||||
#include <linux/sched/signal.h>
|
||||
#include <linux/task_io_accounting_ops.h>
|
||||
|
Loading…
Reference in New Issue
Block a user