From c92852205265cf8ed48671b2405b071fe5870a97 Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Tue, 24 Jan 2017 11:03:06 +0800 Subject: btrfs-progs: Introduce macro to calculate backup superblock offset Introduce a new macro, BTRFS_SB_OFFSET() to calculate backup superblock offset, this is handy if one wants to initialize static array at declaration time. Suggested-by: David Sterba Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- disk-io.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'disk-io.h') diff --git a/disk-io.h b/disk-io.h index c4afea3f..08ee5cee 100644 --- a/disk-io.h +++ b/disk-io.h @@ -98,11 +98,17 @@ enum btrfs_read_sb_flags { SBREAD_PARTIAL = (1 << 1), }; +/* + * Use macro to define mirror super block position, + * so we can use it in static array initialization + */ +#define BTRFS_SB_MIRROR_OFFSET(mirror) ((u64)(SZ_16K) << \ + (BTRFS_SUPER_MIRROR_SHIFT * (mirror))) + static inline u64 btrfs_sb_offset(int mirror) { - u64 start = SZ_16K; if (mirror) - return start << (BTRFS_SUPER_MIRROR_SHIFT * mirror); + return BTRFS_SB_MIRROR_OFFSET(mirror); return BTRFS_SUPER_INFO_OFFSET; } -- cgit v1.2.3