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

Commit a0744613 authored by Oleg Drokin's avatar Oleg Drokin Committed by Greg Kroah-Hartman
Browse files

staging/lustre: Remove unused req_capsule_server_grow



It's only used on the server

Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e64674d0
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -129,9 +129,6 @@ void req_capsule_shrink(struct req_capsule *pill,
			const struct req_msg_field *field,
			unsigned int newlen,
			enum req_location loc);
int req_capsule_server_grow(struct req_capsule *pill,
			    const struct req_msg_field *field,
			    unsigned int newlen);
int  req_layout_init(void);
void req_layout_fini(void);

+0 −62
Original line number Diff line number Diff line
@@ -2376,67 +2376,5 @@ void req_capsule_shrink(struct req_capsule *pill,
}
EXPORT_SYMBOL(req_capsule_shrink);

int req_capsule_server_grow(struct req_capsule *pill,
			    const struct req_msg_field *field,
			    unsigned int newlen)
{
	struct ptlrpc_reply_state *rs = pill->rc_req->rq_reply_state, *nrs;
	char *from, *to;
	int offset, len, rc;

	LASSERT(pill->rc_fmt != NULL);
	LASSERT(__req_format_is_sane(pill->rc_fmt));
	LASSERT(req_capsule_has_field(pill, field, RCL_SERVER));
	LASSERT(req_capsule_field_present(pill, field, RCL_SERVER));

	len = req_capsule_get_size(pill, field, RCL_SERVER);
	offset = __req_capsule_offset(pill, field, RCL_SERVER);
	if (pill->rc_req->rq_repbuf_len >=
	    lustre_packed_msg_size(pill->rc_req->rq_repmsg) - len + newlen)
		CERROR("Inplace repack might be done\n");

	pill->rc_req->rq_reply_state = NULL;
	req_capsule_set_size(pill, field, RCL_SERVER, newlen);
	rc = req_capsule_server_pack(pill);
	if (rc) {
		/* put old rs back, the caller will decide what to do */
		pill->rc_req->rq_reply_state = rs;
		return rc;
	}
	nrs = pill->rc_req->rq_reply_state;
	/* Now we need only buffers, copy first chunk */
	to = lustre_msg_buf(nrs->rs_msg, 0, 0);
	from = lustre_msg_buf(rs->rs_msg, 0, 0);
	len = (char *)lustre_msg_buf(rs->rs_msg, offset, 0) - from;
	memcpy(to, from, len);
	/* check if we have tail and copy it too */
	if (rs->rs_msg->lm_bufcount > offset + 1) {
		to = lustre_msg_buf(nrs->rs_msg, offset + 1, 0);
		from = lustre_msg_buf(rs->rs_msg, offset + 1, 0);
		offset = rs->rs_msg->lm_bufcount - 1;
		len = (char *)lustre_msg_buf(rs->rs_msg, offset, 0) +
		      cfs_size_round(rs->rs_msg->lm_buflens[offset]) - from;
		memcpy(to, from, len);
	}
	/* drop old reply if everything is fine */
	if (rs->rs_difficult) {
		/* copy rs data */
		int i;

		nrs->rs_difficult = 1;
		nrs->rs_no_ack = rs->rs_no_ack;
		for (i = 0; i < rs->rs_nlocks; i++) {
			nrs->rs_locks[i] = rs->rs_locks[i];
			nrs->rs_modes[i] = rs->rs_modes[i];
			nrs->rs_nlocks++;
		}
		rs->rs_nlocks = 0;
		rs->rs_difficult = 0;
		rs->rs_no_ack = 0;
	}
	ptlrpc_rs_decref(rs);
	return 0;
}
EXPORT_SYMBOL(req_capsule_server_grow);
/* __REQ_LAYOUT_USER__ */
#endif