Lines Matching defs:layout

170 		u64 max_bytes = 512 << sb->sb->layout.sb_max_size_bits;
261 static int validate_sb_layout(struct bch_sb_layout *layout, struct printbuf *out)
268 if (!uuid_equal(&layout->magic, &BCACHE_MAGIC) &&
269 !uuid_equal(&layout->magic, &BCHFS_MAGIC)) {
270 prt_printf(out, "Not a bcachefs superblock layout");
274 if (layout->layout_type != 0) {
275 prt_printf(out, "Invalid superblock layout type %u",
276 layout->layout_type);
280 if (!layout->nr_superblocks) {
281 prt_printf(out, "Invalid superblock layout: no superblocks");
285 if (layout->nr_superblocks > ARRAY_SIZE(layout->sb_offset)) {
286 prt_printf(out, "Invalid superblock layout: too many superblocks");
290 max_sectors = 1 << layout->sb_max_size_bits;
292 prev_offset = le64_to_cpu(layout->sb_offset[0]);
294 for (i = 1; i < layout->nr_superblocks; i++) {
295 offset = le64_to_cpu(layout->sb_offset[i]);
298 prt_printf(out, "Invalid superblock layout: superblocks overlap\n"
434 /* validate layout */
435 ret = validate_sb_layout(&sb->layout, out);
652 if (bytes > 512ULL << min(BCH_SB_LAYOUT_SIZE_BITS_MAX, sb->sb->layout.sb_max_size_bits)) {
653 prt_printf(err, "Invalid superblock: too big (got %zu bytes, layout max %lu)",
654 bytes, 512UL << sb->sb->layout.sb_max_size_bits);
687 struct bch_sb_layout layout;
774 * use sb buffer to read layout, since sb buffer is page aligned but
775 * layout won't be:
785 memcpy(&layout, sb->sb, sizeof(layout));
786 ret = validate_sb_layout(&layout, &err);
790 for (i = layout.sb_offset;
791 i < layout.sb_offset + layout.nr_superblocks; i++) {
880 bio->bi_iter.bi_sector = le64_to_cpu(sb->layout.sb_offset[0]);
897 sb->offset = sb->layout.sb_offset[idx];
950 c->disk_sb.sb->layout.magic = BCHFS_MAGIC;
1048 sb < ca->disk_sb.sb->layout.nr_superblocks) {
1361 prt_units_u64(out, 512ULL << sb->layout.sb_max_size_bits);
1417 prt_printf(out, "layout:");
1420 bch2_sb_layout_to_text(out, &sb->layout);