Commit 55457459 authored by Yue Hu's avatar Yue Hu Committed by Greg Kroah-Hartman
Browse files

staging: erofs: return the error value if fill_inline_data() fails



We should consider the error returned by fill_inline_data() when filling
last page in fill_inode(). If not getting inode will be successful even
though last page is bad. That is illogical. Also change -EAGAIN to 0 in
fill_inline_data() to stand for successful filling.

Signed-off-by: default avatarYue Hu <huyue2@yulong.com>
Reviewed-by: default avatarGao Xiang <gaoxiang25@huawei.com>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fbd6b250
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ static int fill_inline_data(struct inode *inode, void *data,
		inode->i_link = lnk;
		set_inode_fast_symlink(inode);
	}
	return -EAGAIN;
	return 0;
}

static int fill_inode(struct inode *inode, int isdir)
@@ -217,7 +217,7 @@ static int fill_inode(struct inode *inode, int isdir)
		inode->i_mapping->a_ops = &erofs_raw_access_aops;

		/* fill last page if inline data is available */
		fill_inline_data(inode, data, ofs);
		err = fill_inline_data(inode, data, ofs);
	}

out_unlock: