diff mbox series

fs/ceph: return errcode in __get_parent().

Message ID 1583458460-31917-1-git-send-email-hqjagain@gmail.com (mailing list archive)
State New, archived
Headers show
Series fs/ceph: return errcode in __get_parent(). | expand

Commit Message

Qiujun Huang March 6, 2020, 1:34 a.m. UTC
return real errcode when it's different from ENOENT.

Signed-off-by: Qiujun Huang <hqjagain@gmail.com>
---
 fs/ceph/export.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Jeffrey Layton March 6, 2020, 12:13 p.m. UTC | #1
On Fri, 2020-03-06 at 09:34 +0800, Qiujun Huang wrote:
> return real errcode when it's different from ENOENT.
> 
> Signed-off-by: Qiujun Huang <hqjagain@gmail.com>
> ---
>  fs/ceph/export.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/fs/ceph/export.c b/fs/ceph/export.c
> index b6bfa94..79dc068 100644
> --- a/fs/ceph/export.c
> +++ b/fs/ceph/export.c
> @@ -315,6 +315,11 @@ static struct dentry *__get_parent(struct super_block *sb,
>  
>  	req->r_num_caps = 1;
>  	err = ceph_mdsc_do_request(mdsc, NULL, req);
> +	if (err) {
> +		ceph_mdsc_put_request(req);
> +		return ERR_PTR(err);
> +	}
> +
>  	inode = req->r_target_inode;
>  	if (inode)
>  		ihold(inode);

Looks good! Merged into the ceph-client/testing branch and should make
5.7. Thanks for the patch!
diff mbox series

Patch

diff --git a/fs/ceph/export.c b/fs/ceph/export.c
index b6bfa94..79dc068 100644
--- a/fs/ceph/export.c
+++ b/fs/ceph/export.c
@@ -315,6 +315,11 @@  static struct dentry *__get_parent(struct super_block *sb,
 
 	req->r_num_caps = 1;
 	err = ceph_mdsc_do_request(mdsc, NULL, req);
+	if (err) {
+		ceph_mdsc_put_request(req);
+		return ERR_PTR(err);
+	}
+
 	inode = req->r_target_inode;
 	if (inode)
 		ihold(inode);