Re: [PATCH 9/9] Revert "ext4: fix wrong gfp type under transaction"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 15-12-16 15:07:15, Michal Hocko wrote:
> From: Michal Hocko <mhocko@xxxxxxxx>
> 
> This reverts commit 216553c4b7f3e3e2beb4981cddca9b2027523928. Now that
> the transaction context uses memalloc_nofs_save and all allocations
> within the this context inherit GFP_NOFS automatically, there is no
> reason to mark specific allocations explicitly.
> 
> This patch should not introduce any functional change. The main point
> of this change is to reduce explicit GFP_NOFS usage inside ext4 code
> to make the review of the remaining usage easier.
> 
> Signed-off-by: Michal Hocko <mhocko@xxxxxxxx>

Looks good to me. You can add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

								Honza

> ---
>  fs/ext4/acl.c     | 6 +++---
>  fs/ext4/extents.c | 2 +-
>  fs/ext4/resize.c  | 4 ++--
>  fs/ext4/xattr.c   | 4 ++--
>  4 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c
> index fd389935ecd1..9e98092c2a4b 100644
> --- a/fs/ext4/acl.c
> +++ b/fs/ext4/acl.c
> @@ -32,7 +32,7 @@ ext4_acl_from_disk(const void *value, size_t size)
>  		return ERR_PTR(-EINVAL);
>  	if (count == 0)
>  		return NULL;
> -	acl = posix_acl_alloc(count, GFP_NOFS);
> +	acl = posix_acl_alloc(count, GFP_KERNEL);
>  	if (!acl)
>  		return ERR_PTR(-ENOMEM);
>  	for (n = 0; n < count; n++) {
> @@ -94,7 +94,7 @@ ext4_acl_to_disk(const struct posix_acl *acl, size_t *size)
>  
>  	*size = ext4_acl_size(acl->a_count);
>  	ext_acl = kmalloc(sizeof(ext4_acl_header) + acl->a_count *
> -			sizeof(ext4_acl_entry), GFP_NOFS);
> +			sizeof(ext4_acl_entry), GFP_KERNEL);
>  	if (!ext_acl)
>  		return ERR_PTR(-ENOMEM);
>  	ext_acl->a_version = cpu_to_le32(EXT4_ACL_VERSION);
> @@ -159,7 +159,7 @@ ext4_get_acl(struct inode *inode, int type)
>  	}
>  	retval = ext4_xattr_get(inode, name_index, "", NULL, 0);
>  	if (retval > 0) {
> -		value = kmalloc(retval, GFP_NOFS);
> +		value = kmalloc(retval, GFP_KERNEL);
>  		if (!value)
>  			return ERR_PTR(-ENOMEM);
>  		retval = ext4_xattr_get(inode, name_index, "", value, retval);
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index ef815eb72389..c901d89f0038 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -2933,7 +2933,7 @@ int ext4_ext_remove_space(struct inode *inode, ext4_lblk_t start,
>  				le16_to_cpu(path[k].p_hdr->eh_entries)+1;
>  	} else {
>  		path = kzalloc(sizeof(struct ext4_ext_path) * (depth + 1),
> -			       GFP_NOFS);
> +			       GFP_KERNEL);
>  		if (path == NULL) {
>  			ext4_journal_stop(handle);
>  			return -ENOMEM;
> diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
> index cf681004b196..e121f4e048b8 100644
> --- a/fs/ext4/resize.c
> +++ b/fs/ext4/resize.c
> @@ -816,7 +816,7 @@ static int add_new_gdb(handle_t *handle, struct inode *inode,
>  
>  	n_group_desc = ext4_kvmalloc((gdb_num + 1) *
>  				     sizeof(struct buffer_head *),
> -				     GFP_NOFS);
> +				     GFP_KERNEL);
>  	if (!n_group_desc) {
>  		err = -ENOMEM;
>  		ext4_warning(sb, "not enough memory for %lu groups",
> @@ -943,7 +943,7 @@ static int reserve_backup_gdb(handle_t *handle, struct inode *inode,
>  	int res, i;
>  	int err;
>  
> -	primary = kmalloc(reserved_gdb * sizeof(*primary), GFP_NOFS);
> +	primary = kmalloc(reserved_gdb * sizeof(*primary), GFP_KERNEL);
>  	if (!primary)
>  		return -ENOMEM;
>  
> diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
> index 5a94fa52b74f..172317462238 100644
> --- a/fs/ext4/xattr.c
> +++ b/fs/ext4/xattr.c
> @@ -875,7 +875,7 @@ ext4_xattr_block_set(handle_t *handle, struct inode *inode,
>  
>  			unlock_buffer(bs->bh);
>  			ea_bdebug(bs->bh, "cloning");
> -			s->base = kmalloc(bs->bh->b_size, GFP_NOFS);
> +			s->base = kmalloc(bs->bh->b_size, GFP_KERNEL);
>  			error = -ENOMEM;
>  			if (s->base == NULL)
>  				goto cleanup;
> @@ -887,7 +887,7 @@ ext4_xattr_block_set(handle_t *handle, struct inode *inode,
>  		}
>  	} else {
>  		/* Allocate a buffer where we construct the new block. */
> -		s->base = kzalloc(sb->s_blocksize, GFP_NOFS);
> +		s->base = kzalloc(sb->s_blocksize, GFP_KERNEL);
>  		/* assert(header == s->base) */
>  		error = -ENOMEM;
>  		if (s->base == NULL)
> -- 
> 2.10.2
> 
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux