Hide Forgot
blviet.reset() mounts btrfs filesystems to get list of subvolumes and other info. In application mode, it must not mount anything anywhere, only when application explicitly asks so. As result, blivet won't list subvolumes of unmounted btrfs volumes, but that's fine.
As side note, mounting to /tmp is highly unsafe, /var/run/blivet with appropriate SELinux label would be much better if the mounting is absolutely necessary from some technical reason.
Tested with mkfs.btrfs && strace -f -o trace reproducer.py. - reproducer.py can be anything that initializes blivet, e.g. the one from bug #1077250 - on RHEL 7.0 (python-blivet-0.18.34-1.el7.noarch), there is in the strace output: 30464 execve("/bin/mount", ["mount", "-t", "btrfs", "-o", "subvolid=5", "/dev/vdb5", "/tmp/btrfs-tmp.12YCS23j"], [/* 29 vars */] <unfinished ...> - in RHEL 7.1 (python-blivet-0.61.0.20-1.el7.noarch) there is no such exec() in strace -> it looks fixed.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0313.html