diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-02-22 09:29:56 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-02-22 09:29:56 -0500 |
commit | 86cbeaf1c2b76b1b1d9e440d2f021df66d868b2e (patch) | |
tree | 4b0d05876cf05b0440e4aab32d10671d5830016e | |
parent | dd1a882d17d6302bd3f48f87aec4018b75749de6 (diff) |
fix bch2_super_write() for bs > 4096
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | c_src/libbcachefs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/c_src/libbcachefs.c b/c_src/libbcachefs.c index ea5629e4..9553ed9e 100644 --- a/c_src/libbcachefs.c +++ b/c_src/libbcachefs.c @@ -352,9 +352,9 @@ void bch2_super_write(int fd, struct bch_sb *sb) if (sb->offset == BCH_SB_SECTOR) { /* Write backup layout */ - BUG_ON(bs > 4096); + unsigned buflen = max(bs, 4096); - char *buf = aligned_alloc(bs, bs); + char *buf = aligned_alloc(buflen, buflen); xpread(fd, buf, bs, 4096 - bs); memcpy(buf + bs - sizeof(sb->layout), &sb->layout, |