X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ftest%2Ftest-btrfs.c;h=c49b83217963f9f66e021d9174ad05277bf1e45d;hb=adfe5671ef794099068038dfccbf1eb5134433c8;hp=7c4cc554424910911311c9b02949de4a212e708f;hpb=d7c7c334f56edab8cfc102b657366277a65738cf;p=elogind.git diff --git a/src/test/test-btrfs.c b/src/test/test-btrfs.c index 7c4cc5544..c49b83217 100644 --- a/src/test/test-btrfs.c +++ b/src/test/test-btrfs.c @@ -19,14 +19,51 @@ along with systemd; If not, see . ***/ -#include +#include #include "log.h" -#include "btrfs-util.h" #include "fileio.h" +#include "util.h" +#include "btrfs-util.h" int main(int argc, char *argv[]) { int r; + int fd; + + fd = open("/", O_RDONLY|O_CLOEXEC|O_DIRECTORY); + if (fd < 0) + log_error_errno(errno, "Failed to open root directory: %m"); + else { + BtrfsSubvolInfo info; + BtrfsQuotaInfo quota; + char ts[FORMAT_TIMESTAMP_MAX], bs[FORMAT_BYTES_MAX]; + + r = btrfs_subvol_get_info_fd(fd, &info); + if (r < 0) + log_error_errno(r, "Failed to get subvolume info: %m"); + else { + log_info("otime: %s", format_timestamp(ts, sizeof(ts), info.otime)); + log_info("read-only (search): %s", yes_no(info.read_only)); + } + + r = btrfs_subvol_get_quota_fd(fd, "a); + if (r < 0) + log_error_errno(r, "Failed to get quota info: %m"); + else { + log_info("referred: %s", strna(format_bytes(bs, sizeof(bs), quota.referred))); + log_info("exclusive: %s", strna(format_bytes(bs, sizeof(bs), quota.exclusive))); + log_info("referred_max: %s", strna(format_bytes(bs, sizeof(bs), quota.referred_max))); + log_info("exclusive_max: %s", strna(format_bytes(bs, sizeof(bs), quota.exclusive_max))); + } + + r = btrfs_subvol_get_read_only_fd(fd); + if (r < 0) + log_error_errno(r, "Failed to get read only flag: %m"); + else + log_info("read-only (ioctl): %s", yes_no(r)); + + safe_close(fd); + } r = btrfs_subvol_make("/xxxtest"); if (r < 0)