In ext4_es_can_be_merged() when checking whether we can merge two
extents we should use EXT_MAX_BLOCKS instead of defining it manually.
Also if it is really the case we should notify userspace because clearly
there is a bug in extent status tree implementation since this should
never happen.
Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
        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;