mirror of
https://github.com/Zygo/bees.git
synced 2025-05-17 05:15:45 +02:00
hash: handle $BEESHOME on btrfs too
The `_nothrow` variants of `do_ioctl` return true when they succeed, which is the opposite of what `ioctl` does. Fix the logic so bees can correctly identify its own hash table when it's on the same filesystem as the target. Fixes: f6908420adcf3fbafef8bbde8a25f8bac65424b6 ("hash: handle $BEESHOME on non-btrfs") Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
parent
a670aa5a71
commit
47243aef14
@ -819,7 +819,8 @@ BeesHashTable::BeesHashTable(shared_ptr<BeesContext> ctx, string filename, off_t
|
||||
root_info.do_ioctl(m_ctx->root_fd());
|
||||
// Hash might not be a btrfs
|
||||
BtrfsIoctlFsInfoArgs hash_info;
|
||||
if (hash_info.do_ioctl_nothrow(m_fd)) return;
|
||||
// If btrfs fs_info ioctl fails, it must be a different fs
|
||||
if (!hash_info.do_ioctl_nothrow(m_fd)) return;
|
||||
// If Hash is a btrfs, Root must be the same one
|
||||
if (root_info.fsid() != hash_info.fsid()) return;
|
||||
// Hash is on the same one, blacklist it
|
||||
|
Loading…
x
Reference in New Issue
Block a user