mirror of
https://github.com/torvalds/linux
synced 2026-07-22 10:10:47 +09:00
xfs: move XFS_LSN_CMP to xfs_log_format.h
Because CYCLE_LSN/BLOCK_LSN are defined in xfs_log_format.h, XFS_LSN_CMP forces a xfs_log_format.h dependency in xfs_log.h. Move XFS_LSN_CMP to xfs_log_format.h and drop the macro/inline indirection to clean up our header mess a little bit. This also helps xfsprogs, which doesn't have xfs_log.h, but needs XFS_LSN_CMP. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
committed by
Carlos Maiolino
parent
f4f28ffe09
commit
202ff980a4
@@ -52,6 +52,19 @@ typedef uint32_t xlog_tid_t;
|
||||
#define CYCLE_LSN(lsn) ((uint)((lsn)>>32))
|
||||
#define BLOCK_LSN(lsn) ((uint)(lsn))
|
||||
|
||||
/*
|
||||
* By comparing each component, we don't have to worry about extra endian issues
|
||||
* in treating two 32 bit numbers as one 64 bit number
|
||||
*/
|
||||
static inline xfs_lsn_t XFS_LSN_CMP(xfs_lsn_t lsn1, xfs_lsn_t lsn2)
|
||||
{
|
||||
if (CYCLE_LSN(lsn1) != CYCLE_LSN(lsn2))
|
||||
return CYCLE_LSN(lsn1) < CYCLE_LSN(lsn2) ? -999 : 999;
|
||||
if (BLOCK_LSN(lsn1) != BLOCK_LSN(lsn2))
|
||||
return BLOCK_LSN(lsn1) < BLOCK_LSN(lsn2) ? -999 : 999;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* this is used in a spot where we might otherwise double-endian-flip */
|
||||
#define CYCLE_LSN_DISK(lsn) (((__be32 *)&(lsn))[0])
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
#include "xfs_attr_sf.h"
|
||||
#include "xfs_bmap.h"
|
||||
#include "xfs_defer.h"
|
||||
#include "xfs_log.h"
|
||||
#include "xfs_xattr.h"
|
||||
#include "xfs_parent.h"
|
||||
#include "xfs_trans_space.h"
|
||||
|
||||
@@ -80,23 +80,6 @@ xlog_format_copy(
|
||||
return buf;
|
||||
}
|
||||
|
||||
/*
|
||||
* By comparing each component, we don't have to worry about extra
|
||||
* endian issues in treating two 32 bit numbers as one 64 bit number
|
||||
*/
|
||||
static inline xfs_lsn_t _lsn_cmp(xfs_lsn_t lsn1, xfs_lsn_t lsn2)
|
||||
{
|
||||
if (CYCLE_LSN(lsn1) != CYCLE_LSN(lsn2))
|
||||
return (CYCLE_LSN(lsn1)<CYCLE_LSN(lsn2))? -999 : 999;
|
||||
|
||||
if (BLOCK_LSN(lsn1) != BLOCK_LSN(lsn2))
|
||||
return (BLOCK_LSN(lsn1)<BLOCK_LSN(lsn2))? -999 : 999;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define XFS_LSN_CMP(x,y) _lsn_cmp(x,y)
|
||||
|
||||
/*
|
||||
* Flags to xfs_log_force()
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user