Skip to content

btrfs-progs: my libbtrfsutil patch queue

Omar Sandoval linux-btrfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10libbtrfsutil: use top=0 as default for SubvolumeIterator()libbtrfsutil/python/subvolume.c libbtrfsutil/python/tests/test_subvolume.py+3 -10 replies
2/10libbtrfsutil: change async parameters to async_ in Python bindingslibbtrfsutil/python/module.c libbtrfsutil/python/subvolume.c libbtrfsutil/python/tests/test_subvolume.py+8 -80 replies
3/10libbtrfsutil: document qgroup_inherit parameter in Python bindingslibbtrfsutil/python/module.c+9 -40 replies
4/10libbtrfsutil: use SubvolumeIterator as context manager in testslibbtrfsutil/python/tests/test_subvolume.py+30 -210 replies
5/10libbtrfsutil: add test helpers for dropping privilegeslibbtrfsutil/python/tests/__init__.py+30 -10 replies
6/10libbtrfsutil: allow tests to create multiple Btrfs instanceslibbtrfsutil/python/tests/__init__.py+22 -130 replies
7/10libbtrfsutil: relax the privileges of subvolume_info()libbtrfsutil/btrfsutil.h libbtrfsutil/errors.c libbtrfsutil/python/tests/test_subvolume.py +1 more+89 -120 replies
8/10libbtrfsutil: relax the privileges of subvolume iteratorlibbtrfsutil/btrfsutil.h libbtrfsutil/errors.c libbtrfsutil/python/tests/test_subvolume.py +1 more+450 -1050 replies
9/10libbtrfsutil: bump version to 1.1.0libbtrfsutil/btrfsutil.h+1 -10 replies
10/10libbtrfsutil: document API in READMElibbtrfsutil/README.md+421 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/10] btrfs-progs: my libbtrfsutil patch queue

From: Omar Sandoval <[email protected]>

Hi,

This series contains my backlog of libbtrfsutil changes which I've been collecting over the past few weeks.

Patches 1-4 are fixes. Patches 5-6 add functionality to the unit tests which is needed for patches 7-8. Patches 7-8 add support for the unprivileged ioctls added in Linux 4.18; more on those below. Patch 9 bumps the library version. Patch 10 adds documentation for the available API along with examples.

Patches 7-8 are based on Misono Tomohiro's previous patch series [1], with a few important changes.

- Both subvolume_info() and create_subvolume_iterator() now have unit tests for the unprivileged case.
- Both no longer explicitly check that top == 0 in the unprivileged case, since that will already fail with a clear permission error.
- Unprivileged iteration is much simpler: it uses openat() instead of fchdir() and is based more closely on the original tree search variant. This fixes a bug in post-order iteration in Misono's version.
- Unprivileged iteration does _not_ support passing in a non-subvolume path; if this behavior is desired, I'd like it to be a separate change with an explicit flag.

Please take a look.

Thanks!

1: https://www.spinics.net/lists/linux-btrfs/msg79285.html

Omar Sandoval (10):
libbtrfsutil: use top=0 as default for SubvolumeIterator()
libbtrfsutil: change async parameters to async_ in Python bindings
libbtrfsutil: document qgroup_inherit parameter in Python bindings
libbtrfsutil: use SubvolumeIterator as context manager in tests
libbtrfsutil: add test helpers for dropping privileges
libbtrfsutil: allow tests to create multiple Btrfs instances
libbtrfsutil: relax the privileges of subvolume_info()
libbtrfsutil: relax the privileges of subvolume iterator
libbtrfsutil: bump version to 1.1.0
libbtrfsutil: document API in README

 libbtrfsutil/README.md                      | 422 +++++++++++++++++++-
 libbtrfsutil/btrfsutil.h                    |  21 +-
 libbtrfsutil/errors.c                       |   8 +
 libbtrfsutil/python/module.c                |  17 +-
 libbtrfsutil/python/subvolume.c             |   6 +-
 libbtrfsutil/python/tests/__init__.py       |  66 ++-
 libbtrfsutil/python/tests/test_subvolume.py | 215 +++++++---
 libbtrfsutil/subvolume.c                    | 407 ++++++++++++++++---
 8 files changed, 1029 insertions(+), 133 deletions(-)
Signature · 1 line
2.19.1