@@ -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;
}
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 <dsterba@suse.cz> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> --- disk-io.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)