Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6d76178 authored by Pavel Shilovsky's avatar Pavel Shilovsky
Browse files

CIFS: Move echo code to osp struct

parent c95b8eed
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -234,6 +234,10 @@ struct smb_version_operations {
	/* build a full path to the root of the mount */
	char * (*build_path_to_root)(struct smb_vol *, struct cifs_sb_info *,
				     struct cifs_tcon *);
	/* check if we can send an echo or nor */
	bool (*can_echo)(struct TCP_Server_Info *);
	/* send echo request */
	int (*echo)(struct TCP_Server_Info *);
};

struct smb_version_values {
+6 −4
Original line number Diff line number Diff line
@@ -406,15 +406,17 @@ cifs_echo_request(struct work_struct *work)
					struct TCP_Server_Info, echo.work);

	/*
	 * We cannot send an echo until the NEGOTIATE_PROTOCOL request is
	 * done, which is indicated by maxBuf != 0. Also, no need to ping if
	 * we got a response recently
	 * We cannot send an echo if it is disabled or until the
	 * NEGOTIATE_PROTOCOL request is done, which is indicated by
	 * server->ops->need_neg() == true. Also, no need to ping if
	 * we got a response recently.
	 */
	if (!server->ops->need_neg || server->ops->need_neg(server) ||
	    (server->ops->can_echo && !server->ops->can_echo(server)) ||
	    time_before(jiffies, server->lstrp + SMB_ECHO_INTERVAL - HZ))
		goto requeue_echo;

	rc = CIFSSMBEcho(server);
	rc = server->ops->echo ? server->ops->echo(server) : -ENOSYS;
	if (rc)
		cFYI(1, "Unable to send echo request to server: %s",
			server->hostname);
+1 −0
Original line number Diff line number Diff line
@@ -551,6 +551,7 @@ struct smb_version_operations smb1_operations = {
	.query_path_info = cifs_query_path_info,
	.get_srv_inum = cifs_get_srv_inum,
	.build_path_to_root = cifs_build_path_to_root,
	.echo = CIFSSMBEcho,
};

struct smb_version_values smb1_values = {