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 <dste...@suse.cz> Signed-off-by: Qu Wenruo <quwen...@cn.fujitsu.com> Signed-off-by: David Sterba <dste...@suse.com> --- disk-io.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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; } -- 2.11.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html