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

Commit 46e0f66a authored by Chris Mason's avatar Chris Mason
Browse files

btrfs: fix empty_zero_page misusage



Heiko Carstens noticed that btrfs was using empty_zero_page
incorrectly.  He explained:

	The definition of empty_zero_page is architecture specific.  It
	is (currently) either a character array, an unsigned long
	containing the address of the empty_zero_page, or even worse
	only the address of the struct page belonging to the
	empty_zero_page.

This commit changes btrfs to use a for-loop instead.  On x86
the resulting .ko is smaller, and we're no longer worrying about
how each arch builds its zeros.

Reported-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
parent 91aef86f
Loading
Loading
Loading
Loading
+7 −2
Original line number Original line Diff line number Diff line
@@ -368,8 +368,13 @@ static noinline int btrfs_ioctl_fitrim(struct file *file, void __user *arg)


int btrfs_is_empty_uuid(u8 *uuid)
int btrfs_is_empty_uuid(u8 *uuid)
{
{
	BUILD_BUG_ON(BTRFS_UUID_SIZE > PAGE_SIZE);
	int i;
	return !memcmp(uuid, empty_zero_page, BTRFS_UUID_SIZE);

	for (i = 0; i < BTRFS_UUID_SIZE; i++) {
		if (uuid[i])
			return 0;
	}
	return 1;
}
}


static noinline int create_subvol(struct inode *dir,
static noinline int create_subvol(struct inode *dir,