Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix decompression with -o writing into a block device #3584

Merged
merged 2 commits into from
Apr 1, 2023
Merged

Commits on Mar 31, 2023

  1. fix decompression with -o writing into a block device

    decompression features automatic support of sparse files,
    aka a form of "compression" where entire blocks consists only of zeroes.
    This only works for some compatible file systems (like ext4),
    others simply ignore it (like afs).
    
    Triggering this feature relies of `fseek()`.
    But `fseek()` is not compatible with non-seekable devices, such as pipes.
    Therefore it's disabled for pipes.
    
    However, there are other objects which are not compatible with `fseek()`, such as block devices.
    
    Changed the logic, so that `fseek()` (and therefore sparse write) is only automatically enabled on regular files.
    
    Note that this automatic behavior can always be overridden by explicit commands `--sparse` and `--no-sparse`.
    
    fix #3583
    Cyan4973 committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    5bf1359 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    14d0cd5 View commit details
    Browse the repository at this point in the history