btrfs: introduce helpers for updating eb uuids
The fsid and chunk tree uuid are always located in the first page, we don't need the to use write_extent_buffer. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
2230adffe4
commit
f157bf765b
|
@ -5465,6 +5465,27 @@ int memcmp_extent_buffer(struct extent_buffer *eb, const void *ptrv,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void write_extent_buffer_chunk_tree_uuid(struct extent_buffer *eb,
|
||||||
|
const void *srcv)
|
||||||
|
{
|
||||||
|
char *kaddr;
|
||||||
|
|
||||||
|
WARN_ON(!PageUptodate(eb->pages[0]));
|
||||||
|
kaddr = page_address(eb->pages[0]);
|
||||||
|
memcpy(kaddr + offsetof(struct btrfs_header, chunk_tree_uuid), srcv,
|
||||||
|
BTRFS_FSID_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void write_extent_buffer_fsid(struct extent_buffer *eb, const void *srcv)
|
||||||
|
{
|
||||||
|
char *kaddr;
|
||||||
|
|
||||||
|
WARN_ON(!PageUptodate(eb->pages[0]));
|
||||||
|
kaddr = page_address(eb->pages[0]);
|
||||||
|
memcpy(kaddr + offsetof(struct btrfs_header, fsid), srcv,
|
||||||
|
BTRFS_FSID_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
void write_extent_buffer(struct extent_buffer *eb, const void *srcv,
|
void write_extent_buffer(struct extent_buffer *eb, const void *srcv,
|
||||||
unsigned long start, unsigned long len)
|
unsigned long start, unsigned long len)
|
||||||
{
|
{
|
||||||
|
|
|
@ -405,6 +405,9 @@ void read_extent_buffer(struct extent_buffer *eb, void *dst,
|
||||||
int read_extent_buffer_to_user(struct extent_buffer *eb, void __user *dst,
|
int read_extent_buffer_to_user(struct extent_buffer *eb, void __user *dst,
|
||||||
unsigned long start,
|
unsigned long start,
|
||||||
unsigned long len);
|
unsigned long len);
|
||||||
|
void write_extent_buffer_fsid(struct extent_buffer *eb, const void *src);
|
||||||
|
void write_extent_buffer_chunk_tree_uuid(struct extent_buffer *eb,
|
||||||
|
const void *src);
|
||||||
void write_extent_buffer(struct extent_buffer *eb, const void *src,
|
void write_extent_buffer(struct extent_buffer *eb, const void *src,
|
||||||
unsigned long start, unsigned long len);
|
unsigned long start, unsigned long len);
|
||||||
void copy_extent_buffer(struct extent_buffer *dst, struct extent_buffer *src,
|
void copy_extent_buffer(struct extent_buffer *dst, struct extent_buffer *src,
|
||||||
|
|
Loading…
Reference in New Issue