bcachefs: Ensure that snapshot creation propagates has_case_insensitive

We normally can't create a new directory with the case-insensitive
option already set - except when we're creating a snapshot.

And if casefolding is enabled filesystem wide, we should still set it
even though not strictly required, for consistency.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
Kent Overstreet
2025-06-08 12:35:20 -04:00
parent b68baf9a87
commit cd1124244b

View File

@@ -175,6 +175,16 @@ int bch2_create_trans(struct btree_trans *trans,
new_inode->bi_dir_offset = dir_offset;
}
if (S_ISDIR(mode)) {
ret = bch2_maybe_propagate_has_case_insensitive(trans,
(subvol_inum) {
new_inode->bi_subvol ?: dir.subvol,
new_inode->bi_inum },
new_inode);
if (ret)
goto err;
}
if (S_ISDIR(mode) &&
!new_inode->bi_subvol)
new_inode->bi_depth = dir_u->bi_depth + 1;