-
Notifications
You must be signed in to change notification settings - Fork 35
Description
I'm using httm 0.43.2 on a Debian 12 system, with a BTRFS file system and btrbk for creating snapshots. It works perfectly for showing the older versions living in my snapshots directory, which is located at @snapshots and mounted on /snapshots. My data is located at @data and mounted on /data. On a separate drive, I have @btrbk mounted on /btrbk. This is where I send "backup" snapshots.
For my local drive, these are both top-level subvolumes:
ID 3617 gen 147254 top level 5 path @data
ID 3619 gen 147245 top level 5 path @snapshots
For my backup drive it is as well:
ID 257 gen 16551 top level 5 path @btrbk
Here's an example of it working as expected using snapshots in /snapshots.
sudo httm /data/btrfs_free.sh
NOTICE: Falling back to detection of btrfs snapshot mounts perhaps defined by Snapper re: mount: "/extra"
────────────────────────────────────────────────────────────────────────────────
Sun Jun 09 02:54:59 2024 1.3 KiB "/snapshots/data.20240804T0000/btrfs_free.sh"
Sat Aug 24 01:27:10 2024 1.3 KiB "/snapshots/data.20241002T2351/btrfs_free.sh"
────────────────────────────────────────────────────────────────────────────────
Sat Aug 24 01:27:10 2024 1.3 KiB "/data/btrfs_free.sh"
────────────────────────────────────────────────────────────────────────────────
But I can't seem to get httm to look at /btrbk on the other drive.
I tried map-aliases but no luck:
sudo httm --map-aliases /data:/btrbk /data/btrfs_free.sh
NOTICE: Falling back to detection of btrfs snapshot mounts perhaps defined by Snapper re: mount: "/extra"
────────────────────────────────────────────────────────────────────────────────
Sun Jun 09 02:54:59 2024 1.3 KiB "/snapshots/data.20240804T0000/btrfs_free.sh"
Sat Aug 24 01:27:10 2024 1.3 KiB "/snapshots/data.20241002T2351/btrfs_free.sh"
────────────────────────────────────────────────────────────────────────────────
Sat Aug 24 01:27:10 2024 1.3 KiB "/data/btrfs_free.sh"
────────────────────────────────────────────────────────────────────────────────
/snapshots and /btrbk look the same... a long list of snapshots.
I'm guessing that httm is trying to look in obvious places for snapshots, and doesn't think to look in some other place for them. Which is fine -- but is there a way to tell it to look there?
Here's the debug output. Interesting that it appears to believe /btrbk is a live subvolume that might have its own snapshots.
NOTICE: Falling back to detection of btrfs snapshot mounts perhaps defined by Snapper re: mount: "/more"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/@data.20240307T0907"
DEBUG: Joined path: "/snapshots/@data.20240307T0907"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241005T1315"
DEBUG: Joined path: "/snapshots/data.20241005T1315"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241003T2215"
DEBUG: Joined path: "/snapshots/data.20241003T2215"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241004T0015"
DEBUG: Joined path: "/snapshots/data.20241004T0015"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241005T1245"
DEBUG: Joined path: "/snapshots/data.20241005T1245"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241002T2351"
DEBUG: Joined path: "/snapshots/data.20241002T2351"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241005T1215"
DEBUG: Joined path: "/snapshots/data.20241005T1215"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241005T1345"
DEBUG: Joined path: "/snapshots/data.20241005T1345"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20241005T0015"
DEBUG: Joined path: "/snapshots/data.20241005T0015"
DEBUG: Base mount: "/data", Base subvol: "/@data", Snap Relative Path: "@snapshots/data.20240804T0000"
DEBUG: Joined path: "/snapshots/data.20240804T0000"
WARN: httm relies on the user (and/or the filesystem's auto-mounter) to mount snapshots. Make certain any snapshots the user may want to view are mounted, or are able to be mounted, and/or the user has the correct permissions to view.
WARN: Mount "/backup" appears to have no snapshots available.
WARN: Mount "/btrbk" appears to have no snapshots available.
WARN: Mount "/extra" appears to have no snapshots available.
WARN: Mount "/more" appears to have no snapshots available.
WARN: Mount "/snapshots" appears to have no snapshots available.
Config {
paths: [
PathData {
path_buf: "/data/btrfs_free.sh",
metadata: Some(
PathMetadata {
size: 1304,
modify_time: SystemTime {
tv_sec: 1724480830,
tv_nsec: 733481865,
},
},
),
},
],
opt_recursive: false,
opt_exact: false,
opt_no_filter: false,
opt_debug: true,
opt_no_traverse: false,
opt_omit_ditto: false,
opt_no_hidden: false,
opt_json: false,
opt_one_filesystem: false,
opt_no_clones: false,
dedup_by: Metadata,
opt_bulk_exclusion: None,
opt_last_snap: None,
opt_preview: None,
opt_deleted_mode: None,
opt_requested_dir: None,
requested_utc_offset: -05:00:00,
exec_mode: BasicDisplay,
print_mode: Formatted(
Default,
),
dataset_collection: FilesystemInfo {
map_of_datasets: MapOfDatasets {
inner: {
"/backup": DatasetMetadata {
source: "/dev/sdc1",
fs_type: Btrfs(
Some(
BtrfsAdditionalData {
base_subvol: "<FS_TREE>",
snap_names: OnceLock(
<uninit>,
),
},
),
),
link_type: Local,
},
"/btrbk": DatasetMetadata {
source: "/dev/sdc1",
fs_type: Btrfs(
Some(
BtrfsAdditionalData {
base_subvol: "/@btrbk",
snap_names: OnceLock(
<uninit>,
),
},
),
),
link_type: Local,
},
"/data": DatasetMetadata {
source: "/dev/sdb",
fs_type: Btrfs(
Some(
BtrfsAdditionalData {
base_subvol: "/@data",
snap_names: OnceLock(
{
"/snapshots/@data.20240307T0907": "@snapshots/@data.20240307T0907",
"/snapshots/data.20240804T0000": "@snapshots/data.20240804T0000",
"/snapshots/data.20241002T2351": "@snapshots/data.20241002T2351",
"/snapshots/data.20241003T2215": "@snapshots/data.20241003T2215",
"/snapshots/data.20241004T0015": "@snapshots/data.20241004T0015",
"/snapshots/data.20241005T0015": "@snapshots/data.20241005T0015",
"/snapshots/data.20241005T1215": "@snapshots/data.20241005T1215",
"/snapshots/data.20241005T1245": "@snapshots/data.20241005T1245",
"/snapshots/data.20241005T1315": "@snapshots/data.20241005T1315",
"/snapshots/data.20241005T1345": "@snapshots/data.20241005T1345",
},
),
},
),
),
link_type: Local,
},
"/extra": DatasetMetadata {
source: "/dev/sdc3",
fs_type: Btrfs(
Some(
BtrfsAdditionalData {
base_subvol: "<FS_TREE>",
snap_names: OnceLock(
<uninit>,
),
},
),
),
link_type: Local,
},
"/more": DatasetMetadata {
source: "/dev/sde2",
fs_type: Btrfs(
Some(
BtrfsAdditionalData {
base_subvol: "/@more",
snap_names: OnceLock(
<uninit>,
),
},
),
),
link_type: Local,
},
"/snapshots": DatasetMetadata {
source: "/dev/sdb",
fs_type: Btrfs(
Some(
BtrfsAdditionalData {
base_subvol: "/@snapshots",
snap_names: OnceLock(
<uninit>,
),
},
),
),
link_type: Local,
},
},
},
map_of_snaps: MapOfSnaps {
inner: {
"/backup": [],
"/btrbk": [],
"/data": [
"/snapshots/@data.20240307T0907",
"/snapshots/data.20240804T0000",
"/snapshots/data.20241002T2351",
"/snapshots/data.20241003T2215",
"/snapshots/data.20241004T0015",
"/snapshots/data.20241005T0015",
"/snapshots/data.20241005T1215",
"/snapshots/data.20241005T1245",
"/snapshots/data.20241005T1315",
"/snapshots/data.20241005T1345",
],
"/extra": [],
"/more": [],
"/snapshots": [],
},
},
filter_dirs: FilterDirs {
inner: {
"/",
"/dev",
"/dev/.lxc/proc",
"/dev/.lxc/sys",
"/dev/console",
"/dev/hugepages",
"/dev/mqueue",
"/dev/net/tun",
"/dev/ptmx",
"/dev/pts",
"/dev/shm",
"/dev/tty1",
"/dev/tty2",
"/proc",
"/proc/cpuinfo",
"/proc/diskstats",
"/proc/fs/nfsd",
"/proc/loadavg",
"/proc/meminfo",
"/proc/slabinfo",
"/proc/stat",
"/proc/swaps",
"/proc/sys",
"/proc/sys/kernel/random/boot_id",
"/proc/sys/net",
"/proc/sysrq-trigger",
"/proc/uptime",
"/run",
"/run/credentials/systemd-sysctl.service",
"/run/credentials/systemd-sysusers.service",
"/run/credentials/systemd-tmpfiles-setup-dev.service",
"/run/credentials/systemd-tmpfiles-setup.service",
"/run/lock",
"/run/rpc_pipefs",
"/run/user/1000",
"/sys",
"/sys/devices/system/cpu",
"/sys/devices/virtual/net",
"/sys/fs/cgroup",
"/sys/fs/fuse/connections",
},
},
opt_map_of_alts: None,
opt_map_of_aliases: None,
opt_common_snap_dir: Some(
"/snapshots",
),
opt_alt_store: None,
},
pwd: "/home/xxxx",
}
