diff options
| author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-24 01:56:10 -0400 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-25 03:22:18 -0400 |
| commit | 7098ba57c443868cab250a3a5db72c89ffbd9026 (patch) | |
| tree | 3840b654c0b195f75f69ba48cb6c273109ac74e6 /fs/bcachefs/reflink.c | |
| parent | bcachefs: Don't mount bs > ps without TRANSPARENT_HUGEPAGE (diff) | |
| download | linux-7098ba57c443868cab250a3a5db72c89ffbd9026.tar.gz linux-7098ba57c443868cab250a3a5db72c89ffbd9026.zip | |
bcachefs: fix REFLINK_P_MAY_UPDATE_OPTIONS
If we're doing a reflink copy of existing reflinked data, we may only
set REFLINK_P_MAY_UPDATE_OPTIONS if it was set on the reflink pointer
we're copying from.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/reflink.c')
| -rw-r--r-- | fs/bcachefs/reflink.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/reflink.c b/fs/bcachefs/reflink.c index 3a13dbcab6ba..41ca86cba2cd 100644 --- a/fs/bcachefs/reflink.c +++ b/fs/bcachefs/reflink.c @@ -711,7 +711,8 @@ s64 bch2_remap_range(struct bch_fs *c, SET_REFLINK_P_IDX(&dst_p->v, offset); if (reflink_p_may_update_opts_field && - may_change_src_io_path_opts) + may_change_src_io_path_opts && + REFLINK_P_MAY_UPDATE_OPTIONS(src_p.v)) SET_REFLINK_P_MAY_UPDATE_OPTIONS(&dst_p->v, true); } else { BUG(); |
