Commit cd112424 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

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: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent b68baf9a
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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;