[XFS] clean up some xfs_log_priv.h macros
- the various assign lsn macros are replaced by a single inline, xlog_assign_lsn, which is equivalent to ASSIGN_ANY_LSN_HOST except for a more sane calling convention. ASSIGN_LSN_DISK is replaced by xlog_assign_lsn and a manual bytespap, and ASSIGN_LSN by the same, except we pass the cycle and block arguments explicitly instead of a log paramter. The latter two variants only had 2, respectively one user anyway. - the GET_CYCLE is replaced by a xlog_get_cycle inline with exactly the same calling conventions. - GET_CLIENT_ID is replaced by xlog_get_client_id which leaves away the unused arch argument. Instead of conditional defintions depending on host endianess we now do an unconditional swap and shift then, which generates equal code. - the unused XLOG_SET macro is removed. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29820a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
This commit is contained in:
committed by
Lachlan McIlroy
parent
03bea6fe6c
commit
67fcb7bfb6
@@ -1829,7 +1829,7 @@ xlog_write(xfs_mount_t * mp,
|
|||||||
*/
|
*/
|
||||||
if (ticket->t_flags & XLOG_TIC_INITED) {
|
if (ticket->t_flags & XLOG_TIC_INITED) {
|
||||||
logop_head = (xlog_op_header_t *)ptr;
|
logop_head = (xlog_op_header_t *)ptr;
|
||||||
INT_SET(logop_head->oh_tid, ARCH_CONVERT, ticket->t_tid);
|
logop_head->oh_tid = cpu_to_be32(ticket->t_tid);
|
||||||
logop_head->oh_clientid = ticket->t_clientid;
|
logop_head->oh_clientid = ticket->t_clientid;
|
||||||
logop_head->oh_len = 0;
|
logop_head->oh_len = 0;
|
||||||
logop_head->oh_flags = XLOG_START_TRANS;
|
logop_head->oh_flags = XLOG_START_TRANS;
|
||||||
@@ -1843,7 +1843,7 @@ xlog_write(xfs_mount_t * mp,
|
|||||||
|
|
||||||
/* Copy log operation header directly into data section */
|
/* Copy log operation header directly into data section */
|
||||||
logop_head = (xlog_op_header_t *)ptr;
|
logop_head = (xlog_op_header_t *)ptr;
|
||||||
INT_SET(logop_head->oh_tid, ARCH_CONVERT, ticket->t_tid);
|
logop_head->oh_tid = cpu_to_be32(ticket->t_tid);
|
||||||
logop_head->oh_clientid = ticket->t_clientid;
|
logop_head->oh_clientid = ticket->t_clientid;
|
||||||
logop_head->oh_res2 = 0;
|
logop_head->oh_res2 = 0;
|
||||||
|
|
||||||
@@ -1878,13 +1878,14 @@ xlog_write(xfs_mount_t * mp,
|
|||||||
|
|
||||||
copy_off = partial_copy_len;
|
copy_off = partial_copy_len;
|
||||||
if (need_copy <= iclog->ic_size - log_offset) { /*complete write */
|
if (need_copy <= iclog->ic_size - log_offset) { /*complete write */
|
||||||
INT_SET(logop_head->oh_len, ARCH_CONVERT, copy_len = need_copy);
|
copy_len = need_copy;
|
||||||
|
logop_head->oh_len = cpu_to_be32(copy_len);
|
||||||
if (partial_copy)
|
if (partial_copy)
|
||||||
logop_head->oh_flags|= (XLOG_END_TRANS|XLOG_WAS_CONT_TRANS);
|
logop_head->oh_flags|= (XLOG_END_TRANS|XLOG_WAS_CONT_TRANS);
|
||||||
partial_copy_len = partial_copy = 0;
|
partial_copy_len = partial_copy = 0;
|
||||||
} else { /* partial write */
|
} else { /* partial write */
|
||||||
copy_len = iclog->ic_size - log_offset;
|
copy_len = iclog->ic_size - log_offset;
|
||||||
INT_SET(logop_head->oh_len, ARCH_CONVERT, copy_len);
|
logop_head->oh_len = cpu_to_be32(copy_len);
|
||||||
logop_head->oh_flags |= XLOG_CONTINUE_TRANS;
|
logop_head->oh_flags |= XLOG_CONTINUE_TRANS;
|
||||||
if (partial_copy)
|
if (partial_copy)
|
||||||
logop_head->oh_flags |= XLOG_WAS_CONT_TRANS;
|
logop_head->oh_flags |= XLOG_WAS_CONT_TRANS;
|
||||||
@@ -3504,7 +3505,7 @@ xlog_verify_iclog(xlog_t *log,
|
|||||||
field_offset = (__psint_t)
|
field_offset = (__psint_t)
|
||||||
((xfs_caddr_t)&(ophead->oh_len) - base_ptr);
|
((xfs_caddr_t)&(ophead->oh_len) - base_ptr);
|
||||||
if (syncing == B_FALSE || (field_offset & 0x1ff)) {
|
if (syncing == B_FALSE || (field_offset & 0x1ff)) {
|
||||||
op_len = INT_GET(ophead->oh_len, ARCH_CONVERT);
|
op_len = be32_to_cpu(ophead->oh_len);
|
||||||
} else {
|
} else {
|
||||||
idx = BTOBBT((__psint_t)&ophead->oh_len -
|
idx = BTOBBT((__psint_t)&ophead->oh_len -
|
||||||
(__psint_t)iclog->ic_datap);
|
(__psint_t)iclog->ic_datap);
|
||||||
|
@@ -265,11 +265,11 @@ typedef struct xlog_ticket {
|
|||||||
|
|
||||||
|
|
||||||
typedef struct xlog_op_header {
|
typedef struct xlog_op_header {
|
||||||
xlog_tid_t oh_tid; /* transaction id of operation : 4 b */
|
__be32 oh_tid; /* transaction id of operation : 4 b */
|
||||||
int oh_len; /* bytes in data region : 4 b */
|
__be32 oh_len; /* bytes in data region : 4 b */
|
||||||
__uint8_t oh_clientid; /* who sent me this : 1 b */
|
__u8 oh_clientid; /* who sent me this : 1 b */
|
||||||
__uint8_t oh_flags; /* : 1 b */
|
__u8 oh_flags; /* : 1 b */
|
||||||
ushort oh_res2; /* 32 bit align : 2 b */
|
__u16 oh_res2; /* 32 bit align : 2 b */
|
||||||
} xlog_op_header_t;
|
} xlog_op_header_t;
|
||||||
|
|
||||||
|
|
||||||
|
@@ -2916,7 +2916,7 @@ xlog_recover_process_data(
|
|||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
return (XFS_ERROR(EIO));
|
return (XFS_ERROR(EIO));
|
||||||
}
|
}
|
||||||
tid = INT_GET(ohead->oh_tid, ARCH_CONVERT);
|
tid = be32_to_cpu(ohead->oh_tid);
|
||||||
hash = XLOG_RHASH(tid);
|
hash = XLOG_RHASH(tid);
|
||||||
trans = xlog_recover_find_tid(rhash[hash], tid);
|
trans = xlog_recover_find_tid(rhash[hash], tid);
|
||||||
if (trans == NULL) { /* not found; add new tid */
|
if (trans == NULL) { /* not found; add new tid */
|
||||||
@@ -2924,7 +2924,7 @@ xlog_recover_process_data(
|
|||||||
xlog_recover_new_tid(&rhash[hash], tid,
|
xlog_recover_new_tid(&rhash[hash], tid,
|
||||||
INT_GET(rhead->h_lsn, ARCH_CONVERT));
|
INT_GET(rhead->h_lsn, ARCH_CONVERT));
|
||||||
} else {
|
} else {
|
||||||
ASSERT(dp+INT_GET(ohead->oh_len, ARCH_CONVERT) <= lp);
|
ASSERT(dp + be32_to_cpu(ohead->oh_len) <= lp);
|
||||||
flags = ohead->oh_flags & ~XLOG_END_TRANS;
|
flags = ohead->oh_flags & ~XLOG_END_TRANS;
|
||||||
if (flags & XLOG_WAS_CONT_TRANS)
|
if (flags & XLOG_WAS_CONT_TRANS)
|
||||||
flags &= ~XLOG_CONTINUE_TRANS;
|
flags &= ~XLOG_CONTINUE_TRANS;
|
||||||
@@ -2938,8 +2938,7 @@ xlog_recover_process_data(
|
|||||||
break;
|
break;
|
||||||
case XLOG_WAS_CONT_TRANS:
|
case XLOG_WAS_CONT_TRANS:
|
||||||
error = xlog_recover_add_to_cont_trans(trans,
|
error = xlog_recover_add_to_cont_trans(trans,
|
||||||
dp, INT_GET(ohead->oh_len,
|
dp, be32_to_cpu(ohead->oh_len));
|
||||||
ARCH_CONVERT));
|
|
||||||
break;
|
break;
|
||||||
case XLOG_START_TRANS:
|
case XLOG_START_TRANS:
|
||||||
xlog_warn(
|
xlog_warn(
|
||||||
@@ -2950,8 +2949,7 @@ xlog_recover_process_data(
|
|||||||
case 0:
|
case 0:
|
||||||
case XLOG_CONTINUE_TRANS:
|
case XLOG_CONTINUE_TRANS:
|
||||||
error = xlog_recover_add_to_trans(trans,
|
error = xlog_recover_add_to_trans(trans,
|
||||||
dp, INT_GET(ohead->oh_len,
|
dp, be32_to_cpu(ohead->oh_len));
|
||||||
ARCH_CONVERT));
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
xlog_warn(
|
xlog_warn(
|
||||||
@@ -2963,7 +2961,7 @@ xlog_recover_process_data(
|
|||||||
if (error)
|
if (error)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
dp += INT_GET(ohead->oh_len, ARCH_CONVERT);
|
dp += be32_to_cpu(ohead->oh_len);
|
||||||
num_logops--;
|
num_logops--;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user