Whamcloud - gitweb
LU-4423 lov: check return value of lov_sub_get() 18/23618/4
authorJinshan Xiong <jinshan.xiong@intel.com>
Sat, 26 Nov 2016 16:24:56 +0000 (11:24 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Sat, 17 Dec 2016 05:42:52 +0000 (05:42 +0000)
Check return value of lov_sub_get() in lov_io_read_ahead().

Linux-commit: f99e73a5e3ff556bc69e5e592fee18d4cb7600dd

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ic5403664c649b8f41861cf1bbfc68ab9ef537a15
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/23618
Tested-by: Jenkins
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
lustre/lov/lov_io.c

index a0ee8e9..56e1ba1 100644 (file)
@@ -587,6 +587,8 @@ static int lov_io_read_ahead(const struct lu_env *env,
                RETURN(-EIO);
 
        sub = lov_sub_get(env, lio, stripe);
+       if (IS_ERR(sub))
+               return PTR_ERR(sub);
 
        lov_stripe_offset(loo->lo_lsm, cl_offset(obj, start), stripe, &suboff);
        rc = cl_io_read_ahead(sub->sub_env, sub->sub_io,