changelog: v1 -> v2 - add independent error handling patch (1st patch) - reimplement according to ioctl change - various cleanup ===
This RFC implements user version of "subvolume list/show" using three new ioctls. The ioctl patch to the kernel can be found in the ML titled "[PATCH v2 0/3] btrfs: Add three new unprivileged ioctls to allow normal users to call "sub list/show" etc. 1th patch is independent and improvements of error handling 2nd-5th are some preparation works. 6th patch is the main part. 7th-8th adds the test for "subvolume list" The main behavior differences between root and normal users are: 1. "sub list" list the subvolumes which exist under the specified path (including the path itself). The specified path itself is not needed to be a subvolume. Also If the subvolume cannot be opened but the parent directory can be, the information other than name or id would be zeroed out. 2. snapshot filed of "subvolume show" just lists the snapshots under the specified subvolume. This is a part of RFC I sent last December[1] whose aim is to improve normal users' usability. The remaining works of RFC are: - Allow "sub delete" for empty subvolume - Allow "qgroup show" to check quota limit [1] https://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg70991.html Tomohiro Misono (8): btrfs-progs: sub list: Call rb_free_nodes() in error path btrfs-progs: ioctl: Add 3 definitions of new unprivileged ioctl btrfs-progs: sub list: Add helper function which checks the permission for tree search ioctl btrfs-progs: sub list: Pass specified path down to btrfs_list_subvols() btrfs-progs: fallback to open without O_NOATIME flag in find_mount_root() btrfs-progs: sub list: Allow normal user to call "subvolume list/show" btrfs-progs: test: Add helper function to check if test user exists btrfs-porgs: test: Add cli-test/009 to check subvolume list for both root and normal user btrfs-list.c | 391 +++++++++++++++++++++++++++-- btrfs-list.h | 8 +- cmds-subvolume.c | 19 +- ioctl.h | 86 +++++++ tests/cli-tests/009-subvolume-list/test.sh | 136 ++++++++++ tests/common | 10 + utils.c | 13 +- 7 files changed, 634 insertions(+), 29 deletions(-) create mode 100755 tests/cli-tests/009-subvolume-list/test.sh -- 2.14.3 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html