Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: CyberShadow/btdu
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.4.0
Choose a base ref
...
head repository: CyberShadow/btdu
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.4.1
Choose a head ref
  • 15 commits
  • 9 files changed
  • 1 contributor

Commits on Jun 2, 2022

  1. btdu.subproc: Fix a stray bitwise-or

    Pedantic fix.
    CyberShadow committed Jun 2, 2022
    Configuration menu
    Copy the full SHA
    0ce16f0 View commit details
    Browse the repository at this point in the history
  2. Rewrite <DATA>/<ERROR>/logical ino/ENOENT to <SLACK>

    Categorizing this error code as an error in the btdu tree hierarchy
    caused frequent confusion (see e.g. #6 and #9).
    CyberShadow committed Jun 2, 2022
    Configuration menu
    Copy the full SHA
    216ab32 View commit details
    Browse the repository at this point in the history
  3. btdu.browser: Allow choosing browser size metric in expert mode

    This allows seeing exclusive/shared/distributed sizes in the browser
    listing, and sorting by it.
    CyberShadow committed Jun 2, 2022
    Configuration menu
    Copy the full SHA
    45890ad View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2022

  1. btdu.main: Don't suggest mounting filesystems under /tmp

    Although there are no known situations in which this would lead to
    certain data loss, after a discussion in #btrfs, general consensus
    seems to be that this suggestion is suboptimal and perceived as
    potentially dangerous.
    
    Several alternatives were discussed:
    
    - /run
    
      Downsides: the device name may clash with the name of a program
      which wants to create its directory in /run.  Although the mkdir
      step would fail if the directory already exists, the program might
      be started after btdu, at which point it may attempt to use the
      mounted filesystem as its temporary directory.
    
    - /mnt
    
      Downsides: a practice sometimes illustrated in guides, such as in
      the Arch Linux installation guide, show mounting filesystems
      directly on /mnt.  Therefore, btdu would need to suggest mounting
      the filesystem either on /mnt directly, in which case the suggestion
      would be problematic if the user wished to scan more than one
      filesystem at once, or on a subdirectory of /mnt, in which case we
      would have to assume that there is nothing mounted on /mnt directly
      at the time when the user runs the command.
    
    - /var/lib/btdu (or other namespaced paths)
    
      Downsides: the full command, though unambiguously "correct", becomes
      long and complicated enough that its intent is no longer immediately
      obvious. Given the context of the problem that we're attempting to
      solve here, providing an example for illustration is the primary
      goal, with the secondary goal of producing a working example command
      (which the user *could* copy and paste, provided that we make this
      command simple enough to be immediately understandable).
    
    - /media
    
      Downsides: meant for removable media; might interfere with some
      automated removable media management software. The created directory
      may persist after reboot.
    
    - /root
    
      Downsides: not a generally expected place for mount points; the
      created directory may persist after reboot; the word "root" may
      result in additional confusion, considering that the context already
      deals with filesystem roots (/) and root (top-level) subvolumes.
    
    In the end, the approach here uses a /mnt subdirectory if /mnt itself
    is not a mount point, otherwise /media if it exists, otherwise "..."
    to indicate a placeholder.
    CyberShadow committed Jun 10, 2022
    Configuration menu
    Copy the full SHA
    1f0beaa View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2022

  1. btdu.common: Tweak humanSize

    Generally aim to show 3-4 decimal digits.
    
    - Show more digits for small numeric values
    
      Fixes the awkwardly imprecise "1.5 GiB".
      (Now show e.g. "1.53 GiB".)
    
    - Go to the next unit above three decimal digits
    
      Fixes the slightly-awkward "1010.0 GiB".
      (Now show e.g. "0.986 TiB".)
    CyberShadow committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    08c8c6a View commit details
    Browse the repository at this point in the history
  2. Distinguish errors with and without _IGNORE_OFFSET

    Adjust the protocol so that it's possible to distinguish received
    results, regardless of what kind, between those where
    BTRFS_IOC_LOGICAL_INO was called with or without
    BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET.  Previously this was only done
    for ResultInodeStartMessage, but not errors.
    
    Effectively this will now cause btdu to place some <ERROR> nodes under
    the <UNREACHABLE> node, if the error was produced after retrying due
    to BTRFS_IOC_LOGICAL_INO returning zero results.
    CyberShadow committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    37cc6d9 View commit details
    Browse the repository at this point in the history
  3. btdu.browser: Explain what the UNREACHABLE node exactly means

    Hopefully, such explanations will be more useful for btrfs experts, or
    btdu users (non-btrfs-experts) attempting to diagnose their issues
    with the help of a btrfs expert.
    CyberShadow committed Jun 14, 2022
    Configuration menu
    Copy the full SHA
    406a1c9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bc2912d View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2022

  1. btdu.browser: Add explanation for <UNREACHABLE>/<ERROR>/ino paths/ENOENT

    This is a pretty specific case, but it's not too difficult to
    reproduce.
    CyberShadow committed Jun 15, 2022
    Configuration menu
    Copy the full SHA
    25362df View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2022

  1. btdu: Keep track of sample duration for distributed samples

    This is unlikely to be interesting for direct observation, but if we
    want to add sorting by time, we need some meaningful way to sort items
    when the selected time metric is distributed samples.
    CyberShadow committed Jul 3, 2022
    Configuration menu
    Copy the full SHA
    7b0d92c View commit details
    Browse the repository at this point in the history
  2. btdu.common: Add humanDuration

    Companion to humanSize, to be used in the browser listing.
    CyberShadow committed Jul 3, 2022
    Configuration menu
    Copy the full SHA
    b806403 View commit details
    Browse the repository at this point in the history
  3. btdu.browser: Allow sorting by and display of average query duration

    Could be used to diagnose "slow" parts of the filesystem.
    CyberShadow committed Jul 3, 2022
    Configuration menu
    Copy the full SHA
    647f3fd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cbfcfe3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1f1fbd4 View commit details
    Browse the repository at this point in the history
  6. btdu.common: btdu v0.4.1

    CyberShadow committed Jul 3, 2022
    Configuration menu
    Copy the full SHA
    c5dc72d View commit details
    Browse the repository at this point in the history
Loading