summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/lustre/lustre/lclient/lcommon_cl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/lustre/lustre/lclient/lcommon_cl.c b/drivers/staging/lustre/lustre/lclient/lcommon_cl.c
index 2f51b7667b23..b8552abc6a63 100644
--- a/drivers/staging/lustre/lustre/lclient/lcommon_cl.c
+++ b/drivers/staging/lustre/lustre/lclient/lcommon_cl.c
@@ -821,10 +821,11 @@ int ccc_prep_size(const struct lu_env *env, struct cl_object *obj,
* linux-2.6.18-128.1.1 miss to do that.
* --bug 17336 */
loff_t size = cl_isize_read(inode);
- unsigned long cur_index = start >> PAGE_CACHE_SHIFT;
+ loff_t cur_index = start >> PAGE_CACHE_SHIFT;
+ loff_t size_index = ((size - 1) >> PAGE_CACHE_SHIFT);
if ((size == 0 && cur_index != 0) ||
- (((size - 1) >> PAGE_CACHE_SHIFT) < cur_index))
+ size_index < cur_index)
*exceed = 1;
}
return result;