From: Kent Overstreet Date: Sat, 24 May 2025 05:56:10 +0000 (-0400) Subject: bcachefs: fix REFLINK_P_MAY_UPDATE_OPTIONS X-Git-Tag: v6.16-rc1~48^2~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7098ba57c443868cab250a3a5db72c89ffbd9026;p=thirdparty%2Fkernel%2Flinux.git 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 --- diff --git a/fs/bcachefs/reflink.c b/fs/bcachefs/reflink.c index 3a13dbcab6bab..41ca86cba2cd0 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();