|
@@ -344,8 +344,14 @@ static int ext4_es_can_be_merged(struct extent_status *es1,
|
|
|
if (ext4_es_status(es1) != ext4_es_status(es2))
|
|
|
return 0;
|
|
|
|
|
|
- if (((__u64) es1->es_len) + es2->es_len > 0xFFFFFFFFULL)
|
|
|
+ if (((__u64) es1->es_len) + es2->es_len > EXT_MAX_BLOCKS) {
|
|
|
+ pr_warn("ES assertion failed when merging extents. "
|
|
|
+ "The sum of lengths of es1 (%d) and es2 (%d) "
|
|
|
+ "is bigger than allowed file size (%d)\n",
|
|
|
+ es1->es_len, es2->es_len, EXT_MAX_BLOCKS);
|
|
|
+ WARN_ON(1);
|
|
|
return 0;
|
|
|
+ }
|
|
|
|
|
|
if (((__u64) es1->es_lblk) + es1->es_len != es2->es_lblk)
|
|
|
return 0;
|