From: Li Zefan Date: Mon, 9 Jan 2012 06:36:28 +0000 (+0800) Subject: Btrfs: check the return value of io_ctl_init() X-Git-Tag: v2.6.39-400.9.0~650 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=5002eb14d0e6cb1d3fd2a7dbd78a9523bad0fe4e;p=users%2Fjedix%2Flinux-maple.git Btrfs: check the return value of io_ctl_init() It can return -ENOMEM. Signed-off-by: Li Zefan (cherry picked from commit 706efc6630c2722602541a6a2fc5900a4e38456a) --- diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index dfaf62caf75c..3ed064e7306b 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -637,7 +637,10 @@ int __load_free_space_cache(struct btrfs_root *root, struct inode *inode, if (!num_entries) return 0; - io_ctl_init(&io_ctl, inode, root); + ret = io_ctl_init(&io_ctl, inode, root); + if (ret) + return ret; + ret = readahead_cache(inode); if (ret) goto out; @@ -851,7 +854,9 @@ int __btrfs_write_out_cache(struct btrfs_root *root, struct inode *inode, if (!i_size_read(inode)) return -1; - io_ctl_init(&io_ctl, inode, root); + ret = io_ctl_init(&io_ctl, inode, root); + if (ret) + return -1; /* Get the cluster for this block_group if it exists */ if (block_group && !list_empty(&block_group->cluster_list))