diff options
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r-- | fs/btrfs/inode.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index a0546401bc0a..0f2754eaa05b 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
@@ -6305,13 +6305,16 @@ static struct inode *btrfs_new_inode(struct btrfs_trans_handle *trans, | |||
6305 | u32 sizes[2]; | 6305 | u32 sizes[2]; |
6306 | int nitems = name ? 2 : 1; | 6306 | int nitems = name ? 2 : 1; |
6307 | unsigned long ptr; | 6307 | unsigned long ptr; |
6308 | unsigned int nofs_flag; | ||
6308 | int ret; | 6309 | int ret; |
6309 | 6310 | ||
6310 | path = btrfs_alloc_path(); | 6311 | path = btrfs_alloc_path(); |
6311 | if (!path) | 6312 | if (!path) |
6312 | return ERR_PTR(-ENOMEM); | 6313 | return ERR_PTR(-ENOMEM); |
6313 | 6314 | ||
6315 | nofs_flag = memalloc_nofs_save(); | ||
6314 | inode = new_inode(fs_info->sb); | 6316 | inode = new_inode(fs_info->sb); |
6317 | memalloc_nofs_restore(nofs_flag); | ||
6315 | if (!inode) { | 6318 | if (!inode) { |
6316 | btrfs_free_path(path); | 6319 | btrfs_free_path(path); |
6317 | return ERR_PTR(-ENOMEM); | 6320 | return ERR_PTR(-ENOMEM); |