staging/lustre: Remove unused req_capsule_server_grow
It's only used on the server Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e64674d093
commit
a0744613b2
@ -129,9 +129,6 @@ void req_capsule_shrink(struct req_capsule *pill,
|
|||||||
const struct req_msg_field *field,
|
const struct req_msg_field *field,
|
||||||
unsigned int newlen,
|
unsigned int newlen,
|
||||||
enum req_location loc);
|
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);
|
int req_layout_init(void);
|
||||||
void req_layout_fini(void);
|
void req_layout_fini(void);
|
||||||
|
|
||||||
|
@ -2376,67 +2376,5 @@ void req_capsule_shrink(struct req_capsule *pill,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(req_capsule_shrink);
|
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__ */
|
/* __REQ_LAYOUT_USER__ */
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user