if (inode->bi_subvol) {
                inode->bi_parent_subvol = BCACHEFS_ROOT_SUBVOL;
 
+               struct btree_iter subvol_iter;
+               struct bkey_i_subvolume *subvol =
+                       bch2_bkey_get_mut_typed(trans, &subvol_iter,
+                                               BTREE_ID_subvolumes, POS(0, inode->bi_subvol),
+                                               0, subvolume);
+               ret = PTR_ERR_OR_ZERO(subvol);
+               if (ret)
+                       return ret;
+
+               subvol->v.fs_path_parent = BCACHEFS_ROOT_SUBVOL;
+               bch2_trans_iter_exit(trans, &subvol_iter);
+
                u64 root_inum;
                ret = subvol_lookup(trans, inode->bi_parent_subvol,
                                    &dirent_snapshot, &root_inum);