diff --git a/lustre/llite/rw.c b/lustre/llite/rw.c index 0393274bbc794f97454dcf6d2f055d82c9b07d28..ad73921f06960958d9ad8151618fbad3809dfc66 100644 --- a/lustre/llite/rw.c +++ b/lustre/llite/rw.c @@ -1292,7 +1292,7 @@ stride_pg_count(pgoff_t st_off, unsigned long st_len, unsigned long st_pgs, unsigned long off, unsigned length) { unsigned long cont_len = st_off > off ? st_off - off : 0; - unsigned long stride_len = length + off > st_off ? + __u64 stride_len = length + off > st_off ? length + off + 1 - st_off : 0; unsigned long left, pg_count; @@ -1450,7 +1450,7 @@ static int ll_readahead(struct ll_readahead_state *ras, reserved = ll_ra_count_get(ll_i2sbi(inode), len); - if (reserved < end - start + 1) + if (reserved < len) ll_ra_stats_inc(mapping, RA_STAT_MAX_IN_FLIGHT); CDEBUG(D_READA, "reserved page %lu \n", reserved);