/linux/fs/bcachefs/ |
H A D | subvolume.c | 32 struct bkey_s_c_subvolume subvol; in check_subvol() local 42 subvol = bkey_s_c_to_subvolume(k); in check_subvol() 43 snapid = le32_to_cpu(subvol.v->snapshot); in check_subvol() 52 if (BCH_SUBVOLUME_UNLINKED(subvol.v)) { in check_subvol() 58 if (fsck_err_on(subvol.k->p.offset == BCACHEFS_ROOT_SUBVOL && in check_subvol() 59 subvol.v->fs_path_parent, in check_subvol() 64 bch2_bkey_make_mut_typed(trans, iter, &subvol.s_c, 0, subvolume); in check_subvol() 72 if (subvol.v->fs_path_parent) { in check_subvol() 96 (subvol_inum) { k.k->p.offset, le64_to_cpu(subvol.v->inode) }, in check_subvol() 99 if (fsck_err_on(inode.bi_subvol != subvol.k->p.offset, in check_subvol() [all …]
|
H A D | fs-common.c | 41 ret = bch2_subvolume_get_snapshot(trans, dir.subvol, &snapshot); in bch2_create_trans() 72 ret = bch2_subvolume_get(trans, snapshot_src.subvol, true, &s); in bch2_create_trans() 84 if (new_inode->bi_subvol != snapshot_src.subvol) { in bch2_create_trans() 109 dir.subvol, in bch2_create_trans() 110 snapshot_src.subvol, in bch2_create_trans() 116 new_inode->bi_parent_subvol = dir.subvol; in bch2_create_trans() 118 new_inum.subvol = new_subvol; in bch2_create_trans() 122 ret = bch2_subvolume_get_snapshot(trans, dir.subvol, &dir_snapshot); in bch2_create_trans() 201 if (dir.subvol != inum.subvol) in bch2_link_trans() 363 static int subvol_update_parent(struct btree_trans *trans, u32 subvol, u32 new_parent) in subvol_update_parent() argument [all …]
|
H A D | dirent.c | 89 return le32_to_cpu(d.v->d_parent_subvol) == inum.subvol; in dirent_is_visible() 188 dirent->v.d_parent_subvol = cpu_to_le32(dir.subvol); in dirent_create_key() 212 subvol_inum dir_inum = { .subvol = dir_subvol, .inum = dir }; in bch2_dirent_create_snapshot() 260 le32_to_cpu(d.v->d_parent_subvol) != dir.subvol) in bch2_dirent_read_target() 264 target->subvol = dir.subvol; in bch2_dirent_read_target() 267 target->subvol = le32_to_cpu(d.v->d_child_subvol); in bch2_dirent_read_target() 269 ret = bch2_subvolume_get(trans, target->subvol, true, &s); in bch2_dirent_read_target() 403 new_dst->v.d_parent_subvol = cpu_to_le32(dst_dir.subvol); in bch2_dirent_rename() 407 new_src->v.d_parent_subvol = cpu_to_le32(src_dir.subvol); in bch2_dirent_rename() 497 int bch2_empty_dir_snapshot(struct btree_trans *trans, u64 dir, u32 subvol, u32 snapshot) in bch2_empty_dir_snapshot() argument [all …]
|
H A D | fs.c | 133 inode_inum(inode).subvol, in bch2_write_inode() 177 return a.subvol == b.subvol && a.inum == b.inum; in subvol_inum_eq() 185 return siphash_2u64(inum->subvol, inum->inum, &k); in bch2_vfs_inode_hash_fn() 259 ret = darray_push_gfp(&subvols, inode->ei_inum.subvol, in bch2_inode_or_descendents_is_open() 482 struct bch_subvolume *subvol) in bch2_inode_hash_init_insert() argument 488 bch2_vfs_inode_init(trans, inum, inode, bi, subvol); in bch2_inode_hash_init_insert() 503 struct bch_subvolume subvol; in bch2_vfs_inode_get() local 505 bch2_subvolume_get(trans, inum.subvol, true, &subvol) ?: in bch2_vfs_inode_get() 507 PTR_ERR_OR_ZERO(inode = bch2_inode_hash_init_insert(trans, inum, &inode_u, &subvol)); in bch2_vfs_inode_get() 526 struct bch_subvolume subvol; in __bch2_create() local [all …]
|
H A D | io_misc.c | 162 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_fpunch_at() 222 prt_printf(out, "subvol=%u", le32_to_cpu(op.v->subvol)); in bch2_logged_op_truncate_to_text() 251 subvol_inum inum = { le32_to_cpu(op->v.subvol), le64_to_cpu(op->v.inum) }; in __bch2_resume_logged_op_truncate() 285 op.v.subvol = cpu_to_le32(inum.subvol); in bch2_truncate() 314 prt_printf(out, "subvol=%u", le32_to_cpu(op.v->subvol)); in bch2_logged_op_finsert_to_text() 362 subvol_inum inum = { le32_to_cpu(op->v.subvol), le64_to_cpu(op->v.inum) }; in __bch2_resume_logged_op_finsert() 382 …ret = lockrestart_do(trans, __bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot, warn_erro… in __bch2_resume_logged_op_finsert() 422 ret = __bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot, in __bch2_resume_logged_op_finsert() 519 op.v.subvol = cpu_to_le32(inum.subvol); in bch2_fcollapse_finsert()
|
H A D | logged_ops_format.h | 12 __le32 subvol; member 28 __le32 subvol; member
|
H A D | subvolume_types.h | 17 u32 subvol; /* Nonzero only if a subvolume points to this node: */ member 34 u64 subvol; member
|
H A D | io_read.h | 57 u32 subvol; member 150 rbio->subvol = inum.subvol; in bch2_read()
|
H A D | snapshot.c | 217 le32_to_cpu(s.v->subvol), in bch2_snapshot_to_text() 308 t->subvol = BCH_SNAPSHOT_SUBVOL(s.v) ? le32_to_cpu(s.v->subvol) : 0; in __bch2_mark_snapshot() 395 u32 subvol = 0, s; in bch2_snapshot_tree_oldest_subvol() local 399 s = snapshot_t(c, id)->subvol; in bch2_snapshot_tree_oldest_subvol() 401 if (s && (!subvol || s < subvol)) in bch2_snapshot_tree_oldest_subvol() 402 subvol = s; in bch2_snapshot_tree_oldest_subvol() 408 return subvol; in bch2_snapshot_tree_oldest_subvol() 461 struct bch_subvolume subvol; in check_snapshot_tree() local 501 ret = bch2_subvolume_get(trans, le32_to_cpu(st.v->master_subvol), false, &subvol); in check_snapshot_tree() 511 le32_to_cpu(subvol.snapshot), in check_snapshot_tree() [all …]
|
H A D | snapshot_format.h | 10 __le32 subvol; member
|
H A D | fs-ioctl.c | 103 ret = bch2_subvol_is_ro(c, inode->ei_inum.subvol) ?: in bch2_ioc_setflags() 187 ret = bch2_subvol_is_ro(c, inode->ei_inum.subvol) ?: in bch2_ioc_fssetxattr() 470 snapshot_src.subvol = inode_inum(to_bch_ei(dir)).subvol; in bch2_ioctl_subvolume_create()
|
H A D | fs-io.c | 249 static inline int range_has_data(struct bch_fs *c, u32 subvol, in range_has_data() argument 255 subvol, 0, k, ({ in range_has_data() 280 ret = range_has_data(c, inode->ei_inum.subvol, in __bch2_truncate_folio() 635 inode->ei_inum.subvol, &snapshot); in __bchfs_fallocate() 843 inode->ei_inum.subvol, 0, k, ({ in quota_reserve_range() 965 inum.subvol, 0, k, ({ in bch2_seek_data() 1001 inum.subvol, BTREE_ITER_slots, k, ({ in bch2_seek_hole()
|
H A D | str_hash.h | 191 int ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_hash_lookup() 209 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_hash_hole() 347 return bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot) ?: in bch2_hash_set()
|
H A D | error.c | 539 if (inum.subvol) in bch2_inum_err_msg_trans() 541 if (!inum.subvol || ret) in bch2_inum_err_msg_trans() 542 prt_printf(out, "inum %llu:%llu", inum.subvol, inum.inum); in bch2_inum_err_msg_trans()
|
H A D | fsck.c | 108 static int subvol_lookup(struct btree_trans *trans, u32 subvol, in subvol_lookup() argument 112 int ret = bch2_subvolume_get(trans, subvol, false, &s); in subvol_lookup() 213 u32 tree_id, u32 *subvol) in find_snapshot_tree_subvol() argument 227 if (s.v->subvol) { in find_snapshot_tree_subvol() 228 *subvol = le32_to_cpu(s.v->subvol); in find_snapshot_tree_subvol() 264 struct bch_subvolume subvol; in lookup_lostfound() local 265 ret = bch2_subvolume_get(trans, subvolid, false, &subvol); in lookup_lostfound() 270 if (!subvol.inode) { in lookup_lostfound() 272 struct bkey_i_subvolume *subvol = bch2_bkey_get_mut_typed(trans, &iter, in lookup_lostfound() local 275 ret = PTR_ERR_OR_ZERO(subvol); in lookup_lostfound() [all …]
|
H A D | io_read.c | 334 (subvol_inum) { rbio->subvol, read_pos.inode }, in bch2_read_err_msg_trans() 476 .subvol = rbio->subvol, in bch2_rbio_retry() 1076 rbio->subvol = orig->subvol; in __bch2_read_extent() 1233 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in __bch2_read()
|
H A D | str_hash.c | 14 struct bch_subvolume subvol; in bch2_dirent_has_target() local 16 false, &subvol); in bch2_dirent_has_target()
|
H A D | fs-io-buffered.c | 158 rbio->subvol = inum.subvol; in bchfs_read() 174 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bchfs_read() 498 op->subvol = inode->ei_inum.subvol; in bch2_writepage_io_alloc()
|
H A D | io_write.h | 85 op->subvol = 0; in bch2_write_op_init()
|
H A D | io_write.c | 347 .subvol = op->subvol, in bch2_write_index_default() 352 BUG_ON(!inum.subvol); in bch2_write_index_default() 362 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, in bch2_write_index_default() 403 (subvol_inum) { op->subvol, op->pos.inode, }, in __bch2_write_op_error() 418 (subvol_inum) { op->subvol, op->pos.inode, }, in bch2_write_op_error_trans() 1262 ret = bch2_subvolume_get_snapshot(trans, op->subvol, &snapshot); in bch2_nocow_write()
|
H A D | fs-io-direct.c | 256 err = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_check_range_allocated() 509 dio->op.subvol = inode->ei_inum.subvol; in bch2_dio_write_loop()
|
H A D | inode.c | 343 int ret = __bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot, warn); in __bch2_inode_peek() 365 bch_err_msg(trans->c, ret, "looking up inum %llu:%llu:", inum.subvol, inum.inum); in __bch2_inode_peek() 1022 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_inode_delete_keys() 1080 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_inode_rm()
|
H A D | xattr.c | 174 ret = bch2_subvol_is_ro_trans(trans, inum.subvol) ?: in bch2_xattr_set() 315 inode->ei_inum.subvol, 0, k, ({ in bch2_xattr_list()
|
H A D | reflink.c | 636 ret = bch2_subvolume_get_snapshot(trans, src_inum.subvol, in bch2_remap_range() 643 ret = bch2_subvolume_get_snapshot(trans, dst_inum.subvol, in bch2_remap_range()
|
/linux/include/linux/ |
H A D | stat.h | 54 u64 subvol; 57 u64 subvol; global() member
|