Inside zstd_compress_folios(), after exhausted one input page, we need
to switch to the next page as input.
However when counting the total input bytes (@tot_in), we always increase
it by PAGE_SIZE.
For the following case, it can cause incorrect value:
        0          32K         64K          96K
        |          |///////////||///////////|
After compressing range [32K, 64K), we switch to the next page, and
increasing @tot_in by 64K, while we only read 32K.
This will cause the @total_in to return a value larger than the input
length.
Fix it by only increase @tot_in by the input size.
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
 
                /* Check if we need more input */
                if (workspace->in_buf.pos == workspace->in_buf.size) {
-                       tot_in += PAGE_SIZE;
+                       tot_in += workspace->in_buf.size;
                        kunmap_local(workspace->in_buf.src);
                        workspace->in_buf.src = NULL;
                        folio_put(in_folio);