forked from Mirrors/btrfs-progs
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 <dsterba@suse.cz> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>master
parent
a2203246ae
commit
c928522052
10
disk-io.h
10
disk-io.h
|
@ -98,11 +98,17 @@ enum btrfs_read_sb_flags {
|
||||||
SBREAD_PARTIAL = (1 << 1),
|
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)
|
static inline u64 btrfs_sb_offset(int mirror)
|
||||||
{
|
{
|
||||||
u64 start = SZ_16K;
|
|
||||||
if (mirror)
|
if (mirror)
|
||||||
return start << (BTRFS_SUPER_MIRROR_SHIFT * mirror);
|
return BTRFS_SB_MIRROR_OFFSET(mirror);
|
||||||
return BTRFS_SUPER_INFO_OFFSET;
|
return BTRFS_SUPER_INFO_OFFSET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue