Commit 67fcb7bfb69eb1072c7e2dd6b46fa34db11dd587

Authored by Christoph Hellwig
Committed by Lachlan McIlroy
1 parent 03bea6fe6c

[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>

Showing 3 changed files with 16 additions and 17 deletions Side-by-side Diff

... ... @@ -1829,7 +1829,7 @@
1829 1829 */
1830 1830 if (ticket->t_flags & XLOG_TIC_INITED) {
1831 1831 logop_head = (xlog_op_header_t *)ptr;
1832   - INT_SET(logop_head->oh_tid, ARCH_CONVERT, ticket->t_tid);
  1832 + logop_head->oh_tid = cpu_to_be32(ticket->t_tid);
1833 1833 logop_head->oh_clientid = ticket->t_clientid;
1834 1834 logop_head->oh_len = 0;
1835 1835 logop_head->oh_flags = XLOG_START_TRANS;
... ... @@ -1843,7 +1843,7 @@
1843 1843  
1844 1844 /* Copy log operation header directly into data section */
1845 1845 logop_head = (xlog_op_header_t *)ptr;
1846   - INT_SET(logop_head->oh_tid, ARCH_CONVERT, ticket->t_tid);
  1846 + logop_head->oh_tid = cpu_to_be32(ticket->t_tid);
1847 1847 logop_head->oh_clientid = ticket->t_clientid;
1848 1848 logop_head->oh_res2 = 0;
1849 1849  
1850 1850  
... ... @@ -1878,13 +1878,14 @@
1878 1878  
1879 1879 copy_off = partial_copy_len;
1880 1880 if (need_copy <= iclog->ic_size - log_offset) { /*complete write */
1881   - INT_SET(logop_head->oh_len, ARCH_CONVERT, copy_len = need_copy);
  1881 + copy_len = need_copy;
  1882 + logop_head->oh_len = cpu_to_be32(copy_len);
1882 1883 if (partial_copy)
1883 1884 logop_head->oh_flags|= (XLOG_END_TRANS|XLOG_WAS_CONT_TRANS);
1884 1885 partial_copy_len = partial_copy = 0;
1885 1886 } else { /* partial write */
1886 1887 copy_len = iclog->ic_size - log_offset;
1887   - INT_SET(logop_head->oh_len, ARCH_CONVERT, copy_len);
  1888 + logop_head->oh_len = cpu_to_be32(copy_len);
1888 1889 logop_head->oh_flags |= XLOG_CONTINUE_TRANS;
1889 1890 if (partial_copy)
1890 1891 logop_head->oh_flags |= XLOG_WAS_CONT_TRANS;
... ... @@ -3504,7 +3505,7 @@
3504 3505 field_offset = (__psint_t)
3505 3506 ((xfs_caddr_t)&(ophead->oh_len) - base_ptr);
3506 3507 if (syncing == B_FALSE || (field_offset & 0x1ff)) {
3507   - op_len = INT_GET(ophead->oh_len, ARCH_CONVERT);
  3508 + op_len = be32_to_cpu(ophead->oh_len);
3508 3509 } else {
3509 3510 idx = BTOBBT((__psint_t)&ophead->oh_len -
3510 3511 (__psint_t)iclog->ic_datap);
fs/xfs/xfs_log_priv.h
... ... @@ -265,11 +265,11 @@
265 265  
266 266  
267 267 typedef struct xlog_op_header {
268   - xlog_tid_t oh_tid; /* transaction id of operation : 4 b */
269   - int oh_len; /* bytes in data region : 4 b */
270   - __uint8_t oh_clientid; /* who sent me this : 1 b */
271   - __uint8_t oh_flags; /* : 1 b */
272   - ushort oh_res2; /* 32 bit align : 2 b */
  268 + __be32 oh_tid; /* transaction id of operation : 4 b */
  269 + __be32 oh_len; /* bytes in data region : 4 b */
  270 + __u8 oh_clientid; /* who sent me this : 1 b */
  271 + __u8 oh_flags; /* : 1 b */
  272 + __u16 oh_res2; /* 32 bit align : 2 b */
273 273 } xlog_op_header_t;
274 274  
275 275  
fs/xfs/xfs_log_recover.c
... ... @@ -2916,7 +2916,7 @@
2916 2916 ASSERT(0);
2917 2917 return (XFS_ERROR(EIO));
2918 2918 }
2919   - tid = INT_GET(ohead->oh_tid, ARCH_CONVERT);
  2919 + tid = be32_to_cpu(ohead->oh_tid);
2920 2920 hash = XLOG_RHASH(tid);
2921 2921 trans = xlog_recover_find_tid(rhash[hash], tid);
2922 2922 if (trans == NULL) { /* not found; add new tid */
... ... @@ -2924,7 +2924,7 @@
2924 2924 xlog_recover_new_tid(&rhash[hash], tid,
2925 2925 INT_GET(rhead->h_lsn, ARCH_CONVERT));
2926 2926 } else {
2927   - ASSERT(dp+INT_GET(ohead->oh_len, ARCH_CONVERT) <= lp);
  2927 + ASSERT(dp + be32_to_cpu(ohead->oh_len) <= lp);
2928 2928 flags = ohead->oh_flags & ~XLOG_END_TRANS;
2929 2929 if (flags & XLOG_WAS_CONT_TRANS)
2930 2930 flags &= ~XLOG_CONTINUE_TRANS;
... ... @@ -2938,8 +2938,7 @@
2938 2938 break;
2939 2939 case XLOG_WAS_CONT_TRANS:
2940 2940 error = xlog_recover_add_to_cont_trans(trans,
2941   - dp, INT_GET(ohead->oh_len,
2942   - ARCH_CONVERT));
  2941 + dp, be32_to_cpu(ohead->oh_len));
2943 2942 break;
2944 2943 case XLOG_START_TRANS:
2945 2944 xlog_warn(
... ... @@ -2950,8 +2949,7 @@
2950 2949 case 0:
2951 2950 case XLOG_CONTINUE_TRANS:
2952 2951 error = xlog_recover_add_to_trans(trans,
2953   - dp, INT_GET(ohead->oh_len,
2954   - ARCH_CONVERT));
  2952 + dp, be32_to_cpu(ohead->oh_len));
2955 2953 break;
2956 2954 default:
2957 2955 xlog_warn(
... ... @@ -2963,7 +2961,7 @@
2963 2961 if (error)
2964 2962 return error;
2965 2963 }
2966   - dp += INT_GET(ohead->oh_len, ARCH_CONVERT);
  2964 + dp += be32_to_cpu(ohead->oh_len);
2967 2965 num_logops--;
2968 2966 }
2969 2967 return 0;