Whamcloud - gitweb
LU-4423 lov: check return value of lov_sub_get()
[fs/lustre-release.git] / lustre / lov / lov_io.c
index 78d0a51..56e1ba1 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * GPL HEADER END
  */
@@ -591,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,
@@ -616,7 +614,7 @@ static int lov_io_read_ahead(const struct lu_env *env,
        if (ra_end != CL_PAGE_EOF)
                ra_end = lov_stripe_pgoff(loo->lo_lsm, ra_end, stripe);
 
-       pps = loo->lo_lsm->lsm_stripe_size >> PAGE_CACHE_SHIFT;
+       pps = loo->lo_lsm->lsm_stripe_size >> PAGE_SHIFT;
 
        CDEBUG(D_READA, DFID " max_index = %lu, pps = %u, "
               "stripe_size = %u, stripe no = %u, start index = %lu\n",