mirror of https://gitee.com/openkylin/linux.git
afs: Remove callback details from afs_callback_break struct
Remove unnecessary details of a broken callback, such as version, expiry and type, from the afs_callback_break struct as they're not actually used and make the list take more memory. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
parent
0067191201
commit
06aeb29714
|
@ -75,7 +75,7 @@ struct afs_callback {
|
|||
|
||||
struct afs_callback_break {
|
||||
struct afs_fid fid; /* File identifier */
|
||||
struct afs_callback cb; /* Callback details */
|
||||
//struct afs_callback cb; /* Callback details */
|
||||
};
|
||||
|
||||
#define AFSCBMAX 50 /* maximum callbacks transferred per bulk op */
|
||||
|
|
|
@ -310,14 +310,10 @@ void afs_break_callbacks(struct afs_server *server, size_t count,
|
|||
/* TODO: Sort the callback break list by volume ID */
|
||||
|
||||
for (; count > 0; callbacks++, count--) {
|
||||
_debug("- Fid { vl=%08llx n=%llu u=%u } CB { v=%u x=%u t=%u }",
|
||||
_debug("- Fid { vl=%08llx n=%llu u=%u }",
|
||||
callbacks->fid.vid,
|
||||
callbacks->fid.vnode,
|
||||
callbacks->fid.unique,
|
||||
callbacks->cb.version,
|
||||
callbacks->cb.expiry,
|
||||
callbacks->cb.type
|
||||
);
|
||||
callbacks->fid.unique);
|
||||
afs_break_one_callback(server, &callbacks->fid);
|
||||
}
|
||||
|
||||
|
|
|
@ -218,7 +218,6 @@ static int afs_deliver_cb_callback(struct afs_call *call)
|
|||
cb->fid.vid = ntohl(*bp++);
|
||||
cb->fid.vnode = ntohl(*bp++);
|
||||
cb->fid.unique = ntohl(*bp++);
|
||||
cb->cb.type = AFSCM_CB_UNTYPED;
|
||||
}
|
||||
|
||||
afs_extract_to_tmp(call);
|
||||
|
@ -236,24 +235,18 @@ static int afs_deliver_cb_callback(struct afs_call *call)
|
|||
if (call->count2 != call->count && call->count2 != 0)
|
||||
return afs_protocol_error(call, -EBADMSG,
|
||||
afs_eproto_cb_count);
|
||||
afs_extract_to_buf(call, call->count2 * 3 * 4);
|
||||
call->_iter = &call->iter;
|
||||
iov_iter_discard(&call->iter, READ, call->count2 * 3 * 4);
|
||||
call->unmarshall++;
|
||||
|
||||
case 4:
|
||||
_debug("extract CB array");
|
||||
_debug("extract discard %zu/%u",
|
||||
iov_iter_count(&call->iter), call->count2 * 3 * 4);
|
||||
|
||||
ret = afs_extract_data(call, false);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
_debug("unmarshall CB array");
|
||||
cb = call->request;
|
||||
bp = call->buffer;
|
||||
for (loop = call->count2; loop > 0; loop--, cb++) {
|
||||
cb->cb.version = ntohl(*bp++);
|
||||
cb->cb.expiry = ntohl(*bp++);
|
||||
cb->cb.type = ntohl(*bp++);
|
||||
}
|
||||
|
||||
call->unmarshall++;
|
||||
case 5:
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue