From: Allison Henderson <allison.henderson@xxxxxxxxxx> Hi all, This is corresponding port of the v5 parent pointer patch set for xfsprogs. The goal of the set is to enable use of the parent pointer feature on the kernel side, and provide basic user space utilities. The first 20 patches synchronize libxfs with changes seen the kernel space series. I will pick up the reviews from the kernel side series and mirror them here. The later patches add the needed changes for printing logged parents, adding parents in protofiles, ioctl plumbing and command line flags. I dont often send out the usr space side since much of it is the same as the kernel space series, and the user space mechanics wont have much use with out the kernel support anyway. So it makes sense to encourage reviewers to focus their efforts on getting the kernel series out of the way first. But I think doing an an occasional post is good just so that people can see the whole picture to have and idea of where it's going, and also just for archiving reasons. This set can be viewed on github here: https://github.com/allisonhenderson/xfsprogs/tree/xfsprogs_new_pptrs_v5_r1 As always, comments and feedback are appreciated. Thank you! Allison Allison Collins (3): xfsprogs: get directory offset when adding directory name xfsprogs: get directory offset when replacing a directory name xfsprogs: implement the upper half of parent pointers Allison Henderson (22): xfsprogs: Fix default superblock attr bits xfsprogs: Add new name to attri/d xfsprogs: Increase XFS_DEFER_OPS_NR_INODES to 5 xfsprogs: get directory offset when removing directory name xfsprogs: add parent pointer support to attribute code xfsprogs: define parent pointer xattr format xfsprogs: Add xfs_verify_pptr xfsprogs: Increase rename inode reservation xfsprogs: extend transaction reservations for parent attributes xfsprogs: add parent attributes to link xfsprogs: add parent attributes to symlink xfsprogs: parent pointer attribute creation xfsprogs: remove parent pointers in unlink xfsprogs: Add parent pointers to rename xfsprogs: Add the parent pointer support to the superblock version 5. xfsprogs: Add parent pointer ioctl xfsprogs: fix unit conversion error in xfs_log_calc_max_attrsetm_res xfsprogs: drop compatibility minimum log size computations for reflink xfsprogs: Add parent pointer flag to cmd xfsprogs: Print pptrs in ATTRI items xfsprogs: Add parent pointers during protofile creation xfsprogs: Add i, n and f flags to parent command include/handle.h | 2 + include/parent.h | 25 ++ include/xfs_trans.h | 7 + io/parent.c | 505 ++++++++++++--------------------------- libfrog/fsgeom.c | 4 + libfrog/paths.c | 136 +++++++++++ libfrog/paths.h | 21 +- libhandle/Makefile | 2 +- libhandle/handle.c | 7 +- libhandle/parent.c | 361 ++++++++++++++++++++++++++++ libxfs/Makefile | 2 + libxfs/libxfs_priv.h | 2 + libxfs/xfs_attr.c | 71 +++++- libxfs/xfs_attr.h | 13 +- libxfs/xfs_da_btree.h | 3 + libxfs/xfs_da_format.h | 38 ++- libxfs/xfs_defer.c | 28 ++- libxfs/xfs_defer.h | 8 +- libxfs/xfs_dir2.c | 21 +- libxfs/xfs_dir2.h | 7 +- libxfs/xfs_dir2_block.c | 9 +- libxfs/xfs_dir2_leaf.c | 8 +- libxfs/xfs_dir2_node.c | 8 +- libxfs/xfs_dir2_sf.c | 6 + libxfs/xfs_format.h | 4 +- libxfs/xfs_fs.h | 75 ++++++ libxfs/xfs_log_format.h | 7 +- libxfs/xfs_log_rlimit.c | 53 ++++ libxfs/xfs_parent.c | 208 ++++++++++++++++ libxfs/xfs_parent.h | 46 ++++ libxfs/xfs_sb.c | 4 + libxfs/xfs_trans_resv.c | 324 +++++++++++++++++++++---- libxfs/xfs_trans_space.h | 6 - logprint/log_redo.c | 210 ++++++++++++++-- logprint/logprint.h | 5 +- man/man3/xfsctl.3 | 55 +++++ mkfs/proto.c | 50 ++-- mkfs/xfs_mkfs.c | 31 ++- repair/attr_repair.c | 19 +- repair/phase6.c | 18 +- scrub/inodes.c | 26 ++ scrub/inodes.h | 2 + 42 files changed, 1931 insertions(+), 506 deletions(-) create mode 100644 libhandle/parent.c create mode 100644 libxfs/xfs_parent.c create mode 100644 libxfs/xfs_parent.h -- 2.25.1