Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 33d5d380 authored by Mark Fasheh's avatar Mark Fasheh Committed by Joel Becker
Browse files

ocfs2: allocate btree internal block groups from the global bitmap



Otherwise, the need for a very large contiguous allocation tends to
wreak havoc on many inode allocation reservations on the local alloc, thus
ruining any chances for contiguousness.

Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
parent e3b4a97d
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -755,7 +755,7 @@ int ocfs2_reserve_new_metadata_blocks(struct ocfs2_super *osb,
	status = ocfs2_reserve_suballoc_bits(osb, (*ac),
	status = ocfs2_reserve_suballoc_bits(osb, (*ac),
					     EXTENT_ALLOC_SYSTEM_INODE,
					     EXTENT_ALLOC_SYSTEM_INODE,
					     (u32)osb->slot_num, NULL,
					     (u32)osb->slot_num, NULL,
					     ALLOC_NEW_GROUP);
					     ALLOC_GROUPS_FROM_GLOBAL|ALLOC_NEW_GROUP);




	if (status >= 0) {
	if (status >= 0) {
@@ -1871,6 +1871,8 @@ int __ocfs2_claim_clusters(struct ocfs2_super *osb,
	       && ac->ac_which != OCFS2_AC_USE_MAIN);
	       && ac->ac_which != OCFS2_AC_USE_MAIN);


	if (ac->ac_which == OCFS2_AC_USE_LOCAL) {
	if (ac->ac_which == OCFS2_AC_USE_LOCAL) {
		WARN_ON(min_clusters > 1);

		status = ocfs2_claim_local_alloc_bits(osb,
		status = ocfs2_claim_local_alloc_bits(osb,
						      handle,
						      handle,
						      ac,
						      ac,