On 4/28/16 11:26 AM, Jeff Mahoney wrote:
> Hi all -

Bad $SUBJECT.  This is v3.

-Jeff

> This short series adds support for the btrfs ioctls.  Its structures
> make heavy use of __u64 so rather than cast every single member, I added
> new PRI* macros to print them properly.  It also uses 64-bit flags and
> defines values that are larger than can be described by a 32-bit
> variable, so I've converted xlat to use a 64-bit val field internally
> and added 64-bit versions to API functions as needed.
> 
> Thanks, Dmitry, for the review.
> 
> Changes since v2:
> - Use print_quoted_string to print strings from the user
> - Many corrections of output text
> - Load elements in user-sized arrays individually to avoid arbitrary
>   user-specified memory allocations
> - Don't print arrays with user defined lengths in abbrev mode
> - Only print max_strlen elements in arrays in verbose mode
> - Added new ioctls added in the Linux 4.6 cycle
> - Added file_ioctl.c to contain generic file ioctls
>   - BTRFS_IOC_CLONE -> FICLONE
>   - BTRFS_IOC_CLONE_RANGE -> FICLONERANGE
>   - BTRFS_IOC_FILE_EXTENT_SAME -> FIDEDUPERANGE
> - Proper printing of flags when none are set
> - Broke out complex printing into separate routines
> - Use "UINT64_MAX" instead of "-1" to print -1ULL for objectids
> 
> Changes since v1:
> - Change addflags, printflags, and sprintflags to use unsigned int vals.
> - Introduce 64-bit variants for all three.
> - Convert all three to wrappers around the 64-bit versions
> - Use pointers to uint64_ts instead of casting ints for bsearch
> - Use SIZEOF_LONG instead of BITS_PER_LONG
> - Fix missing comma for ioctls that return a signed int value
> - Don't test for exiting(tcp) if we've already returned a nonzero value
>   in entering mode
> - Use stdint types when defining structs
> - Don't define separate macros for testing structs
> - Add UUID_STRING_SIZE macro
> - Don't test for error if umove* will be called immediately afterward
> - Various style fixes
> - Don't assume btrfs.h will be available
> 
> Thanks,
> 
> -Jeff
> 
> Jeff Mahoney (3):
>   util: change type of struct xlat.val to uint64_t
>   defs: define PRI__[uxs]64 to print __[su]64 values
>   Add btrfs ioctl support.
> 
>  Makefile.am                        |    1 +
>  btrfs.c                            | 1219 
> ++++++++++++++++++++++++++++++++++++
>  configure.ac                       |    8 +
>  defs.h                             |   38 +-
>  ioctl.c                            |    4 +
>  util.c                             |   46 +-
>  xlat/btrfs_balance_flags.in        |   12 +
>  xlat/btrfs_defrag_flags.in         |    2 +
>  xlat/btrfs_dev_replace_cmds.in     |    3 +
>  xlat/btrfs_dev_replace_results.in  |    4 +
>  xlat/btrfs_dev_replace_state.in    |    5 +
>  xlat/btrfs_dev_stats_flags.in      |    1 +
>  xlat/btrfs_dev_stats_values.in     |   11 +
>  xlat/btrfs_features_compat.in      |    0
>  xlat/btrfs_features_compat_ro.in   |    1 +
>  xlat/btrfs_features_incompat.in    |   10 +
>  xlat/btrfs_key_types.in            |   40 ++
>  xlat/btrfs_qgroup_ctl_cmds.in      |    3 +
>  xlat/btrfs_qgroup_inherit_flags.in |    1 +
>  xlat/btrfs_qgroup_limit_flags.in   |    6 +
>  xlat/btrfs_qgroup_status_flags.in  |    2 +
>  xlat/btrfs_scrub_flags.in          |    1 +
>  xlat/btrfs_snap_flags_v2.in        |    3 +
>  xlat/btrfs_space_info_flags.in     |   11 +
>  xlat/btrfs_tree_objectids.in       |   12 +
>  25 files changed, 1423 insertions(+), 21 deletions(-)
>  create mode 100644 btrfs.c
>  create mode 100644 xlat/btrfs_balance_flags.in
>  create mode 100644 xlat/btrfs_defrag_flags.in
>  create mode 100644 xlat/btrfs_dev_replace_cmds.in
>  create mode 100644 xlat/btrfs_dev_replace_results.in
>  create mode 100644 xlat/btrfs_dev_replace_state.in
>  create mode 100644 xlat/btrfs_dev_stats_flags.in
>  create mode 100644 xlat/btrfs_dev_stats_values.in
>  create mode 100644 xlat/btrfs_features_compat.in
>  create mode 100644 xlat/btrfs_features_compat_ro.in
>  create mode 100644 xlat/btrfs_features_incompat.in
>  create mode 100644 xlat/btrfs_key_types.in
>  create mode 100644 xlat/btrfs_qgroup_ctl_cmds.in
>  create mode 100644 xlat/btrfs_qgroup_inherit_flags.in
>  create mode 100644 xlat/btrfs_qgroup_limit_flags.in
>  create mode 100644 xlat/btrfs_qgroup_status_flags.in
>  create mode 100644 xlat/btrfs_scrub_flags.in
>  create mode 100644 xlat/btrfs_snap_flags_v2.in
>  create mode 100644 xlat/btrfs_space_info_flags.in
>  create mode 100644 xlat/btrfs_tree_objectids.in
> 


-- 
Jeff Mahoney
SUSE Labs

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to