Re: [PATCH] ceph: fix a wrong comparison

From: Yan, Zheng
Date: Wed Feb 10 2016 - 21:52:31 EST



> On Feb 11, 2016, at 01:38, Anton Protopopov <a.s.protopopov@xxxxxxxxx> wrote:
>
> A negative value rc compared to the positive value ENOENT in the
> finish_read() function.
>
> Signed-off-by: Anton Protopopov <a.s.protopopov@xxxxxxxxx>
> ---
> fs/ceph/addr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
> index c222137..1b809c9 100644
> --- a/fs/ceph/addr.c
> +++ b/fs/ceph/addr.c
> @@ -276,7 +276,7 @@ static void finish_read(struct ceph_osd_request *req, struct ceph_msg *msg)
> for (i = 0; i < num_pages; i++) {
> struct page *page = osd_data->pages[i];
>
> - if (rc < 0 && rc != ENOENT)
> + if (rc < 0 && rc != -ENOENT)
> goto unlock;
> if (bytes < (int)PAGE_CACHE_SIZE) {
> /* zero (remainder of) page */

Good catch, thanks

Yan, Zheng

> --
> 2.6.5
>