]> granicus.if.org Git - strace/log
strace
8 years agotests/strace-S.test: fix testing 64-bit strace using a 32-bit userspace
Dmitry V. Levin [Sat, 4 Jun 2016 23:40:40 +0000 (23:40 +0000)]
tests/strace-S.test: fix testing 64-bit strace using a 32-bit userspace

* tests/strace-S.test: Measure wall clock time instead of system time.
Use local "./readv" instead of system "date" as a sample executable.

Reported-by: Steve McIntyre <steve@einval.com>
8 years agotests/strace-S.test: enhance error diagnostics
Dmitry V. Levin [Fri, 3 Jun 2016 23:46:27 +0000 (23:46 +0000)]
tests/strace-S.test: enhance error diagnostics

* tests/strace-S.test: If strace output does not meet expectations,
print the output.

8 years ago.gitignore: sort the list of ignored patterns
Dmitry V. Levin [Thu, 2 Jun 2016 22:59:20 +0000 (22:59 +0000)]
.gitignore: sort the list of ignored patterns

* .gitignore: Sort.

8 years agomaint: post-release administrivia
Dmitry V. Levin [Wed, 1 Jun 2016 23:56:14 +0000 (23:56 +0000)]
maint: post-release administrivia

* NEWS: Add header line for the next release.

8 years agoPrepare for 4.12 release v4.12
Dmitry V. Levin [Tue, 31 May 2016 11:12:13 +0000 (11:12 +0000)]
Prepare for 4.12 release

* NEWS: Update for 4.12 release.
* debian/changelog: 4.12-1.
* strace.spec: 4.12-1.

8 years agoSync strace.spec and debian/changelog with packages
Dmitry V. Levin [Tue, 31 May 2016 10:47:53 +0000 (10:47 +0000)]
Sync strace.spec and debian/changelog with packages

* debian/changelog: Sync with 4.11-1.
* strace.spec: Sync with 4.11.0.163.9720-2.

8 years agoMpersify hdio.c
Dmitry V. Levin [Mon, 30 May 2016 00:25:03 +0000 (00:25 +0000)]
Mpersify hdio.c

* defs.h (hdio_ioctl): Remove.
* hdio.c: Mpersify struct hd_geometry.
(hdio_ioctl): Mpersify.

8 years agoloop.c: decode LOOP_SET_DIRECT_IO
Dmitry V. Levin [Sun, 29 May 2016 22:58:56 +0000 (22:58 +0000)]
loop.c: decode LOOP_SET_DIRECT_IO

* loop.c (loop_ioctl) [LOOP_SET_DIRECT_IO] : Handle LOOP_SET_DIRECT_IO.

8 years agoloop.c: fix printing of arrays
Dmitry V. Levin [Sun, 29 May 2016 22:34:30 +0000 (22:34 +0000)]
loop.c: fix printing of arrays

* loop.c (decode_loop_info): Use square brackets to print
struct loop_info.lo_init and struct loop_info.reserved arrays.
(decode_loop_info64): Use square brackets to print
struct loop_info64.lo_init array.

8 years agoloop.c: fix printing of structure members' names
Dmitry V. Levin [Sun, 29 May 2016 22:28:28 +0000 (22:28 +0000)]
loop.c: fix printing of structure members' names

* loop.c (decode_loop_info, decode_loop_info64): Do not strip "lo_"
prefix from printed names.

8 years agoloop.c: optimize decoding of paired ioctls
Dmitry V. Levin [Sun, 29 May 2016 22:15:53 +0000 (22:15 +0000)]
loop.c: optimize decoding of paired ioctls

* loop.c (loop_ioctl): Optimize decoding of LOOP_[GS]ET_STATUS
and LOOP_[GS]ET_STATUS64 ioctl pairs.

8 years agotests/ioctl_evdev.c: check EVIOCGUNIQ decoding
Dmitry V. Levin [Sat, 28 May 2016 22:12:32 +0000 (22:12 +0000)]
tests/ioctl_evdev.c: check EVIOCGUNIQ decoding

* tests/ioctl_evdev.c (main): Check EVIOCGUNIQ(0) decoding.

8 years agotests/ioctl_mtd.c: fix build with musl
Dmitry V. Levin [Sat, 28 May 2016 19:55:01 +0000 (19:55 +0000)]
tests/ioctl_mtd.c: fix build with musl

* tests/ioctl_mtd.c: Include <linux/ioctl.h>.

8 years agotests: check decoding of 'M' type ioctls
Dmitry V. Levin [Sat, 28 May 2016 18:49:47 +0000 (18:49 +0000)]
tests: check decoding of 'M' type ioctls

* tests/ioctl_mtd.c: New file.
* tests/ioctl_mtd.test: New test.
* tests/.gitignore: Add ioctl_mtd.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add ioctl_mtd.test.

8 years agoMpersify mtd.c
Dmitry V. Levin [Sat, 28 May 2016 18:46:39 +0000 (18:46 +0000)]
Mpersify mtd.c

* defs.h (mtd_ioctl): Remove.
* mtd.c: Mpersify struct mtd_oob_buf and ioctl numbers.
(mtd_ioctl): Mpersify.

8 years agomtd.c: refactor
Dmitry V. Levin [Sat, 28 May 2016 18:42:50 +0000 (18:42 +0000)]
mtd.c: refactor

* mtd.c (mtd_ioctl): Move parsers of structures to separate functions.

8 years agoMove parser of UBI_* ioctls to a separate file
Dmitry V. Levin [Sat, 28 May 2016 10:29:30 +0000 (10:29 +0000)]
Move parser of UBI_* ioctls to a separate file

* mtd.c (ubi_ioctl): Move to ...
* ubi.c: ... new file.
* Makefile.am (strace_SOURCES): Add it.

8 years agotests: check decoding of EVIOC* ioctls
Dmitry V. Levin [Sat, 28 May 2016 00:51:45 +0000 (00:51 +0000)]
tests: check decoding of EVIOC* ioctls

* tests/ioctl_evdev.c: New file.
* tests/ioctl_evdev-v.c: Likewise.
* tests/ioctl_evdev.test: New test.
* tests/ioctl_evdev-v.test: Likewise.
* tests/.gitignore: Add ioctl_evdev and ioctl_evdev-v.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add ioctl_evdev.test and ioctl_evdev-v.test.

8 years agoMpersify EVIOC* ioctl parser
Dmitry V. Levin [Fri, 27 May 2016 00:49:08 +0000 (00:49 +0000)]
Mpersify EVIOC* ioctl parser

* defs.h (evdev_abs): New xlat prototype.
(evdev_ioctl): Remove.
* evdev.c: Do not include "xlat/evdev_abs.h".
Mpersify struct ff_effect and ioctl numbers.
(evdev_ioctl): Mpersify.
* NEWS: Mention this enhancement.

8 years agoevdev.c: fix printing of unrecognized event type passed to EVIOCGBIT
Dmitry V. Levin [Sat, 28 May 2016 00:49:17 +0000 (00:49 +0000)]
evdev.c: fix printing of unrecognized event type passed to EVIOCGBIT

* evdev.c (bit_ioctl): If event type is not unrecognized,
print the argument as an address.

8 years agoevdev.c: fix printing of EV_PWR's argument
Dmitry V. Levin [Sat, 28 May 2016 00:12:01 +0000 (00:12 +0000)]
evdev.c: fix printing of EV_PWR's argument

* evdev.c (bit_ioctl): Fix printing of comma before EV_PWR's argument.

8 years agoevdev.c: fix indentation
Dmitry V. Levin [Fri, 27 May 2016 00:42:25 +0000 (00:42 +0000)]
evdev.c: fix indentation

* evdev.c: Fix indentation of print formats.

8 years agoevdev.c: fix decoding of EVIOCGNAME, EVIOCGPHYS, and EVIOCGUNIQ
Dmitry V. Levin [Fri, 27 May 2016 00:42:18 +0000 (00:42 +0000)]
evdev.c: fix decoding of EVIOCGNAME, EVIOCGPHYS, and EVIOCGUNIQ

* evdev.c (evdev_read_ioctl): Fix printing of the string returned
in response to EVIOCGNAME, EVIOCGPHYS, and EVIOCGUNIQ requests.

8 years agoevdev.c: fix EVIOCGVERSION decoding
Dmitry V. Levin [Fri, 27 May 2016 00:42:07 +0000 (00:42 +0000)]
evdev.c: fix EVIOCGVERSION decoding

* evdev.c (evdev_read_ioctl): Print EVIOCGVERSION's argument
using #x format.

8 years agoevdev.c: fix EVIOCGMTSLOTS decoding
Dmitry V. Levin [Fri, 27 May 2016 00:41:59 +0000 (00:41 +0000)]
evdev.c: fix EVIOCGMTSLOTS decoding

* evdev.c (mtslots_ioctl): Use umove_or_printaddr.

8 years agoevdev.c: fix bitset decoding
Dmitry V. Levin [Fri, 27 May 2016 00:41:51 +0000 (00:41 +0000)]
evdev.c: fix bitset decoding

* evdev.c (decode_bitset): Use umove_or_printaddr.

8 years agoevdev.c: fix decoding of struct input_id
Dmitry V. Levin [Fri, 27 May 2016 00:41:43 +0000 (00:41 +0000)]
evdev.c: fix decoding of struct input_id

* evdev.c (getid_ioctl): Use umove_or_printaddr.

8 years agoevdev.c: fix decoding of struct input_keymap_entry
Dmitry V. Levin [Fri, 27 May 2016 00:41:34 +0000 (00:41 +0000)]
evdev.c: fix decoding of struct input_keymap_entry

* evdev.c (keycode_V2_ioctl): Use umove_or_printaddr.

8 years agoevdev.c: fix decoding of EVIOCGKEYCODE/EVIOCSKEYCODE
Dmitry V. Levin [Fri, 27 May 2016 00:41:25 +0000 (00:41 +0000)]
evdev.c: fix decoding of EVIOCGKEYCODE/EVIOCSKEYCODE

* evdev.c (keycode_ioctl): Use umove_or_printaddr.

8 years agoevdev.c: fix decoding of struct input_absinfo
Dmitry V. Levin [Fri, 27 May 2016 00:41:14 +0000 (00:41 +0000)]
evdev.c: fix decoding of struct input_absinfo

* evdev.c (abs_ioctl): Use umove_or_printaddr.

8 years agoevdev.c: fix decoding of struct ff_effect
Dmitry V. Levin [Fri, 27 May 2016 00:41:02 +0000 (00:41 +0000)]
evdev.c: fix decoding of struct ff_effect

* evdev.c (ff_effect_ioctl): Use umove_or_printaddr.
Fix printing of struct ff_effect.u member names.

8 years agoevdev.c: fix printing of struct ff_envelope.fade_level
Dmitry V. Levin [Fri, 27 May 2016 00:40:53 +0000 (00:40 +0000)]
evdev.c: fix printing of struct ff_envelope.fade_level

* evdev.c (decode_envelope): Print struct ff_envelope.fade_level
using #x format.

8 years agoevdev.c: fix decoding of EVIOCGRAB and EVIOCREVOKE
Dmitry V. Levin [Fri, 27 May 2016 00:40:45 +0000 (00:40 +0000)]
evdev.c: fix decoding of EVIOCGRAB and EVIOCREVOKE

* evdev.c (evdev_write_ioctl): Print argument of EVIOCGRAB
and EVIOCREVOKE as unsigned long.

8 years agoevdev.c: fix EVIOCRMFF decoding
Dmitry V. Levin [Fri, 27 May 2016 00:40:27 +0000 (00:40 +0000)]
evdev.c: fix EVIOCRMFF decoding

* evdev.c (evdev_write_ioctl): Print EVIOCRMFF's argument as int.

8 years agoevdev.c: move handling of EVIOCGBIT to a separate function
Dmitry V. Levin [Fri, 27 May 2016 00:40:18 +0000 (00:40 +0000)]
evdev.c: move handling of EVIOCGBIT to a separate function

* evdev.c (evdev_read_ioctl): Move EVIOCGBIT handling to ...
(bit_ioctl): ... new function.

8 years agoevdev.c: reorder ioctl command checks
Dmitry V. Levin [Fri, 27 May 2016 00:40:10 +0000 (00:40 +0000)]
evdev.c: reorder ioctl command checks

Change the order of ioctl command cheks to match the kernel:
1st, check for fixed-number fixed-length commands,
2nd, check for fixed-number variable-length commands,
3rd, check for multi-number fixed-length commands,
4thm check for multi-number variable-length commands.

* evdev.c (evdev_read_ioctl, evdev_write_ioctl): Reorder
ioctl command checks.

8 years agoevdev.c: decode all directions except _IOC_READ on entering syscall
Dmitry V. Levin [Fri, 27 May 2016 00:40:02 +0000 (00:40 +0000)]
evdev.c: decode all directions except _IOC_READ on entering syscall

* evdev.c (evdev_write_ioctl): Remove exiting check.
(evdev_read_ioctl): Move entering check ...
(evdev_ioctl): ... here.  Add RVAL_DECODED to return code in _IOC_WRITE
and default cases.

8 years agoevdev.c: fix indentation of preprocessor directives
Dmitry V. Levin [Fri, 27 May 2016 00:39:33 +0000 (00:39 +0000)]
evdev.c: fix indentation of preprocessor directives

* evdev.c: Fix indentation of preprocessor directives.
Move inclusion of <linux/ioctl.h> into [HAVE_LINUX_INPUT_H].

8 years agofile_ioctl.c: print first two extents for FIDEDUPERANGE in abbrev mode
Jeff Mahoney [Fri, 27 May 2016 20:07:22 +0000 (16:07 -0400)]
file_ioctl.c: print first two extents for FIDEDUPERANGE in abbrev mode

* file_ioctl.c (file_ioctl, print_file_dedupe_range_info): Print first
two elements of info array in abbrev mode.
* tests/btrfs.c (btrfs_test_extent_same_ioctl): Handle newly
printed elements.

8 years agoioctl.c: fix typo in decoding of EVIOCSABS's parameter
Dmitry V. Levin [Fri, 27 May 2016 01:11:40 +0000 (01:11 +0000)]
ioctl.c: fix typo in decoding of EVIOCSABS's parameter

* ioctl.c (evdev_decode_number): Fix typo in printxval default value.

8 years agotests: check decoding of btrfs RDWR ioctls returned data
Jeff Mahoney [Fri, 27 May 2016 03:33:06 +0000 (23:33 -0400)]
tests: check decoding of btrfs RDWR ioctls returned data

* tests/btrfs-vw.test: New file.
* tests/btrfs-w.test: New file.
* tests/Makefile.am (DECODER_TESTS): Add them.

8 years agotests/btrfs.c: fix live btrfs_test_search_ioctls output
Jeff Mahoney [Fri, 27 May 2016 03:33:05 +0000 (23:33 -0400)]
tests/btrfs.c: fix live btrfs_test_search_ioctls output

* tests/btrfs.c (btrfs_test_search_ioctls): Use print_tree_search_buf
for BTRFS_IOC_TREE_SEARCH and fix missing whitespace.

8 years agobtrfs.c: don't use print_array in btrfs_print_tree_search
Jeff Mahoney [Fri, 27 May 2016 03:33:04 +0000 (23:33 -0400)]
btrfs.c: don't use print_array in btrfs_print_tree_search

* btrfs.c (btrfs_print_tree_search): Don't use print_array.  The buffer
represents a series of variable sized records, not an array.

8 years agobtrfs.c: fix print_array usage in btrfs_print_logical_ino_container
Jeff Mahoney [Fri, 27 May 2016 03:33:03 +0000 (23:33 -0400)]
btrfs.c: fix print_array usage in btrfs_print_logical_ino_container

* btrfs.c: (btrfs_print_logical_ino_container) Fix the element count
to reflect the number of records rather than the number of items.

8 years agotests/btrfs.c: fix btrfs-v for BTRFS_IOC_TREE_SEARCH
Jeff Mahoney [Thu, 26 May 2016 20:09:28 +0000 (16:09 -0400)]
tests/btrfs.c: fix btrfs-v for BTRFS_IOC_TREE_SEARCH

* tests/btrfs.c (btrfs_test_send_ioctl): Assign key_reference
to search_args for BTRFS_IOC_TREE_SEARCH ioctl tests.

8 years agoFix -yy documentation
Fabien Siron [Thu, 26 May 2016 15:29:41 +0000 (15:29 +0000)]
Fix -yy documentation

* strace.c (usage): Fix description of -yy option.
* strace.1: Likewise.

8 years agotests/ioctl_block.c: tweak magic constants to make the test more reliable
Dmitry V. Levin [Thu, 26 May 2016 15:16:31 +0000 (15:16 +0000)]
tests/ioctl_block.c: tweak magic constants to make the test more reliable

* tests/ioctl_block.c (main): Change bad pointer to make
its lower 32-bit part closer to -1U.

8 years agotests/btrfs.c: check basic decoding of read-only ioctls
Dmitry V. Levin [Thu, 26 May 2016 14:26:15 +0000 (14:26 +0000)]
tests/btrfs.c: check basic decoding of read-only ioctls

* tests/btrfs.c (btrfs_test_read_ioctls): New function.
(main): Use it.

8 years agotests: check decoding of BLK* ioctls
Dmitry V. Levin [Thu, 26 May 2016 12:55:41 +0000 (12:55 +0000)]
tests: check decoding of BLK* ioctls

* configure.ac (AC_CHECK_TYPES): Add struct blk_user_trace_setup.
* tests/ioctl_block.c: New file.
* tests/ioctl_block.test: New test.
* tests/.gitignore: Add ioctl_block.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add ioctl_block.test.

8 years agoMpersify BLK* ioctl parser
Dmitry V. Levin [Thu, 26 May 2016 10:43:51 +0000 (10:43 +0000)]
Mpersify BLK* ioctl parser

* defs.h (block_ioctl): Remove.
* block.c: Mpersify struct blk_user_trace_setup,
struct blkpg_ioctl_arg, struct blkpg_partition, and ioctl numbers.
(block_ioctl): Mpersify.
* NEWS: Mention this enhancement.

8 years agoblock.c: optimize decoding of paired ioctls
Dmitry V. Levin [Thu, 26 May 2016 12:36:56 +0000 (12:36 +0000)]
block.c: optimize decoding of paired ioctls

* block.c (block_ioctl): Optimize decoding of commands that return
a signed int.

8 years agoblock.c: fix printing of uint64_t pairs
Dmitry V. Levin [Thu, 26 May 2016 12:33:21 +0000 (12:33 +0000)]
block.c: fix printing of uint64_t pairs

* block.c (block_ioctl): Print uint64_t values using PRIu64 format.

8 years agoblock.c: fix printing of struct blk_user_trace_setup
Dmitry V. Levin [Thu, 26 May 2016 10:04:39 +0000 (10:04 +0000)]
block.c: fix printing of struct blk_user_trace_setup

* block.c (block_ioctl): Fix printing of comma before
struct blk_user_trace_setup.name on exiting syscall.

8 years agoMove parser of 'X' type ioctls to a separate file
Dmitry V. Levin [Thu, 26 May 2016 00:37:26 +0000 (00:37 +0000)]
Move parser of 'X' type ioctls to a separate file

* fs_x_ioctl.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* block.c: (block_ioctl): Move parser of FITRIM, FIFREEZE, and FITHAW
to fs_x_ioctl.c.
* defs.h (fs_x_ioctl): New prototype.
* ioctl.c (ioctl_decode): Call fs_x_ioctl for ioctl type 'X'.

8 years agoMove parser of HDIO_* ioctls to a separate file
Dmitry V. Levin [Thu, 26 May 2016 00:07:17 +0000 (00:07 +0000)]
Move parser of HDIO_* ioctls to a separate file

* hdio.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* block.c: Do not include <linux/hdreg.h>.
(block_ioctl): Move parser of HDIO_GETGEO to hdio.c.
* defs.h (hdio_ioctl): New prototype.
* ioctl.c (ioctl_decode): Call hdio_ioctl for ioctl type 0x03.

8 years agoFix explicit casts of signed integer types to unsigned long long
Dmitry V. Levin [Thu, 26 May 2016 10:12:17 +0000 (10:12 +0000)]
Fix explicit casts of signed integer types to unsigned long long

* defs.h (widen_to_ull): New macro.
* dirent.c (print_old_dirent, SYS_FUNC(getdents)): Use it in place
of explicit casts to unsigned long long.
* io.c (print_lld_from_low_high_val): Likewise.
* lseek.c (SYS_FUNC(llseek)): Likewise.
* printsiginfo.c (print_si_info): Likewise.
* printstat.h (DO_PRINTSTAT): Likewise.
* sysinfo.c (SYS_FUNC(sysinfo)): Likewise.
* times.c (SYS_FUNC(times)): Likewise.
* fetch_struct_statfs.c (ASSIGN_NUMBER): Remove.
(fetch_struct_statfs, fetch_struct_statfs64): Replace ASSIGN_NUMBER
with widen_to_ull.

8 years agoscsi.c: print __u64 types using PRI__u64 format
Dmitry V. Levin [Thu, 26 May 2016 10:07:36 +0000 (10:07 +0000)]
scsi.c: print __u64 types using PRI__u64 format

* scsi.c (print_sg_io_v4_req, print_sg_io_v4_res): Remove explicit casts
to unsigned long long, print fields of type __u64 using PRI__u64 format.

8 years agotests: check decoding of RTC_* ioctls
Dmitry V. Levin [Wed, 25 May 2016 15:44:32 +0000 (15:44 +0000)]
tests: check decoding of RTC_* ioctls

* configure.ac (AC_CHECK_FUNCS): Add ioctl_rtc.
* tests/ioctl_rtc.c: New file.
* tests/ioctl_rtc-v.c: Likewise.
* tests/ioctl_rtc.test: New test.
* tests/ioctl_rtc-v.test: Likewise.
* tests/.gitignore: Add ioctl_rtc and ioctl_rtc-v.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add ioctl_rtc.test and ioctl_rtc-v.test.

8 years agoMpersify RTC_* ioctl parser
Dmitry V. Levin [Wed, 25 May 2016 15:59:27 +0000 (15:59 +0000)]
Mpersify RTC_* ioctl parser

* defs.h (rtc_ioctl): Remove.
* rtc.c: Mpersify struct rtc_pll_info and ioctl numbers.
(rtc_ioctl): Mpersify.
* NEWS: Mention this enhancement.

8 years agortc.c: fix decoding of struct rtc_wkalrm
Dmitry V. Levin [Wed, 25 May 2016 15:28:23 +0000 (15:28 +0000)]
rtc.c: fix decoding of struct rtc_wkalrm

* rtc.c (decode_rtc_wkalrm): Print field name of struct rtc_wkalrm.time.

8 years agofile_ioctl.c: print file descriptors using printfd
Dmitry V. Levin [Wed, 25 May 2016 07:59:13 +0000 (07:59 +0000)]
file_ioctl.c: print file descriptors using printfd

* file_ioctl.c (print_file_dedupe_range_info): Print
struct file_dedupe_range_info.dest_fd using printfd.
(file_ioctl): Print struct file_clone_range.src_fd using printfd.

8 years agortc.c: do not print argument of ioctls that have no arguments
Dmitry V. Levin [Wed, 25 May 2016 07:44:19 +0000 (07:44 +0000)]
rtc.c: do not print argument of ioctls that have no arguments

* rtc.c (rtc_ioctl): Do not print argument of RTC_{A,U,P,W}IE_{ON,OFF}
and RTC_VL_CLR ioctls.

8 years agortc.c: decode RTC_PLL_GET and RTC_PLL_SET
Dmitry V. Levin [Wed, 25 May 2016 07:43:15 +0000 (07:43 +0000)]
rtc.c: decode RTC_PLL_GET and RTC_PLL_SET

* rtc.c (rtc_ioctl): Decode RTC_PLL_GET and RTC_PLL_SET

8 years agortc.c: optimize decoding of paired ioctls
Dmitry V. Levin [Wed, 25 May 2016 07:37:44 +0000 (07:37 +0000)]
rtc.c: optimize decoding of paired ioctls

* rtc.c (rtc_ioctl): Optimize decoding of RTC_ALM_READ/RTC_ALM_SET,
RTC_RD_TIME/RTC_SET_TIME, and RTC_WKALM_RD/RTC_WKALM_SET ioctl pairs.

8 years agoblock.c: handle BLKDAXGET
Dmitry V. Levin [Wed, 25 May 2016 07:33:02 +0000 (07:33 +0000)]
block.c: handle BLKDAXGET

* block.c [!BLKDAXGET] (BLKDAXGET): Define.
(block_ioctl): Handle it.

8 years agotests: check decoding of mount syscall
Dmitry V. Levin [Wed, 25 May 2016 00:11:37 +0000 (00:11 +0000)]
tests: check decoding of mount syscall

* tests/mount.c: New file.
* tests/mount.test: New test.
* tests/.gitignore: Add mount.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add mount.

8 years agotests/vhangup.c: diassociate from the controlling terminal first
Dmitry V. Levin [Tue, 24 May 2016 20:12:25 +0000 (20:12 +0000)]
tests/vhangup.c: diassociate from the controlling terminal first

* tests/vhangup.c (main): Call setsid before vhangup.

8 years agotests: add vhangup.test
Fei Jie [Thu, 19 May 2016 07:58:37 +0000 (15:58 +0800)]
tests: add vhangup.test

* tests/vhangup.c: New file.
* tests/vhangup.test: New test.
* tests/.gitignore: Add vhangup.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add vhangup.test.

8 years agoNEWS: Prepare for 4.12 release
Dmitry V. Levin [Tue, 24 May 2016 18:11:47 +0000 (18:11 +0000)]
NEWS: Prepare for 4.12 release

8 years agotests/btrfs.c: fix build on x32
Gleb Fotengauer-Malinovskiy [Tue, 24 May 2016 15:09:46 +0000 (18:09 +0300)]
tests/btrfs.c: fix build on x32

* tests/btrfs.c (btrfs_test_ino_path_ioctls): Fix printing of st_ino.

8 years agotests/btrfs.c: fix build with u64 based BTRFS_IOC_DEFAULT_SUBVOL
Dmitry V. Levin [Tue, 24 May 2016 02:56:39 +0000 (02:56 +0000)]
tests/btrfs.c: fix build with u64 based BTRFS_IOC_DEFAULT_SUBVOL

* tests/btrfs.c: Fix build on systems where BTRFS_IOC_DEFAULT_SUBVOL
is defined using unexported type "u64".

8 years agobtrfs.c: fix build on systems without BTRFS_IOC_FILE_EXTENT_SAME
Dmitry V. Levin [Tue, 24 May 2016 02:40:13 +0000 (02:40 +0000)]
btrfs.c: fix build on systems without BTRFS_IOC_FILE_EXTENT_SAME

* btrfs.c (btrfs_ioctl): Skip BTRFS_IOC_FILE_EXTENT_SAME case
if this constant is not defined.
* tests/btrfs.c (btrfs_test_extent_same_ioctl): Skip this part
of the test if BTRFS_IOC_FILE_EXTENT_SAME is not defined.

8 years agotests/btrfs.c: fix printing struct btrfs_ioctl_clone_range_args
Dmitry V. Levin [Tue, 24 May 2016 02:17:49 +0000 (02:17 +0000)]
tests/btrfs.c: fix printing struct btrfs_ioctl_clone_range_args

* tests/btrfs.c (btrfs_test_clone_ioctls): Print __u64 members
of struct btrfs_ioctl_clone_range_args using PRI__u64 format.

8 years agotests/btrfs.c: tweak magic constants to make the test more reliable
Dmitry V. Levin [Tue, 24 May 2016 02:07:47 +0000 (02:07 +0000)]
tests/btrfs.c: tweak magic constants to make the test more reliable

* tests/btrfs.c (btrfs_test_sync_ioctls): Change u64val
to 0xdeadbeefbadc0ded.
(btrfs_test_subvol_ioctls): Likewise.  Change bad_pointer
to make their lower 32-bit parts closer to -1U.

8 years agobtrfs.c: print file descriptors using printfd
Dmitry V. Levin [Tue, 24 May 2016 01:53:02 +0000 (01:53 +0000)]
btrfs.c: print file descriptors using printfd

* btrfs.c (btrfs_ioctl): Print struct btrfs_ioctl_send_args.send_fd,
struct btrfs_ioctl_vol_args.fd, and struct btrfs_ioctl_vol_args_v2.fd
using printfd.
* tests/btrfs.c (btrfs_print_vol_args_v2, btrfs_test_subvol_ioctls,
btrfs_test_device_ioctls, btrfs_test_clone_ioctls,
btrfs_test_send_ioctl): Update.

8 years agotests/btrfs.c: do not print errno in case of fs type mismatch
Dmitry V. Levin [Tue, 24 May 2016 01:33:08 +0000 (01:33 +0000)]
tests/btrfs.c: do not print errno in case of fs type mismatch

* tests/btrfs.c (main): Use error_msg_and_fail instead of
perror_msg_and_fail when the fs type of the given directory
is not BTRFS_SUPER_MAGIC.

8 years agotests/btrfs.c: fix indentation
Dmitry V. Levin [Tue, 24 May 2016 01:32:55 +0000 (01:32 +0000)]
tests/btrfs.c: fix indentation

* tests/btrfs.c: Fix indentation of preprocessor directives
and function prototypes.

8 years agotests/btrfs.c: sort included headers
Dmitry V. Levin [Tue, 24 May 2016 01:32:41 +0000 (01:32 +0000)]
tests/btrfs.c: sort included headers

* tests/btrfs.c: Sort included headers.

8 years agotests/btrfs.c: do not use alloca
Dmitry V. Levin [Tue, 24 May 2016 01:32:27 +0000 (01:32 +0000)]
tests/btrfs.c: do not use alloca

* tests/btrfs.c: Don't include <alloca.h>.
(btrfs_test_subvol_ioctls): Allocate
struct btrfs_ioctl_vol_args_v2.qgroup_inherit using tail_alloc.

8 years agotests/btrfs.c: fix build on systems without <linux/btrfs.h> or <linux/fiemap.h>
Dmitry V. Levin [Tue, 24 May 2016 01:32:09 +0000 (01:32 +0000)]
tests/btrfs.c: fix build on systems without <linux/btrfs.h> or <linux/fiemap.h>

* tests/btrfs.c: Include "tests.h" first.
Skip the test if [!HAVE_LINUX_BTRFS_H].  Skip parts of the test
that use struct fiemap if [!HAVE_LINUX_FIEMAP_H].

8 years agotests: add testing for btrfs ioctls
Jeff Mahoney [Wed, 18 May 2016 22:09:42 +0000 (18:09 -0400)]
tests: add testing for btrfs ioctls

* tests/btrfs.c: New file.
* tests/btrfs.test: New test.
* tests/btrfs-v.test: Likewise.
* tests/.gitignore: Add btrfs.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add btrfs.test and btrfs-v.test.

8 years agotests/file_ioctl.c: use tail_alloc
Dmitry V. Levin [Tue, 24 May 2016 01:29:49 +0000 (01:29 +0000)]
tests/file_ioctl.c: use tail_alloc

* tests/file_ioctl.c (main): Allocate struct fiemap using tail_alloc.

8 years agotests/file_ioctl.c: fix build on systems without <linux/fiemap.h>
Dmitry V. Levin [Tue, 24 May 2016 01:29:38 +0000 (01:29 +0000)]
tests/file_ioctl.c: fix build on systems without <linux/fiemap.h>

* tests/file_ioctl.c: Include "tests.h" first.
Skip the test if [!HAVE_LINUX_FIEMAP_H].

8 years agotests: add testing for FS_IOC_FIEMAP
Jeff Mahoney [Wed, 18 May 2016 22:09:41 +0000 (18:09 -0400)]
tests: add testing for FS_IOC_FIEMAP

This is limited to FIEMAP.  FICLONE* and FIDEDUPERANGE originated in
btrfs and will be tested there.

* tests/file_ioctl.c: New file.
* tests/file_ioctl.test: New test.
* tests/.gitignore: Add file_ioctl.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add file_ioctl.test.

8 years agoMpersify btrfs.c
Dmitry V. Levin [Tue, 24 May 2016 01:28:26 +0000 (01:28 +0000)]
Mpersify btrfs.c

* btrfs.c: Mpersify 3 arch-specific structures
and corresponding ioctl numbers.
(btrfs_ioctl): Mpersify.
* defs.h (btrfs_ioctl): Remove.

8 years agobtrfs.c: use print_array
Dmitry V. Levin [Tue, 24 May 2016 01:15:18 +0000 (01:15 +0000)]
btrfs.c: use print_array

* btrfs.c (print_btrfs_data_container_logical_ino,
print_btrfs_data_container_ino_path, print_uint64,
print_btrfs_ioctl_search_header, print_objectid_callback,
print_btrfs_ioctl_space_info): New functions.
(btrfs_print_logical_ino_container, btrfs_print_ino_path_container):
Rewrite printers of struct btrfs_data_container.val array
using print_array.
(btrfs_print_qgroup_inherit): Rewrite printer of
struct btrfs_qgroup_inherit.qgroups array using print_array.
(btrfs_print_tree_search): Rewrite printer of
struct btrfs_ioctl_search_header array using print_array.
(btrfs_ioctl): Rewrite printer of
struct btrfs_ioctl_send_args.clone_sources and
struct btrfs_ioctl_space_args.spaces using print_array.

8 years agobtrfs.c: simplify BTRFS_IOC_GET_FSLABEL parser
Dmitry V. Levin [Tue, 24 May 2016 01:12:41 +0000 (01:12 +0000)]
btrfs.c: simplify BTRFS_IOC_GET_FSLABEL parser

* btrfs.c (btrfs_ioctl): Share code of parser of BTRFS_IOC_SET_FSLABEL
with parser of BTRFS_IOC_GET_FSLABEL only on BTRFS_IOC_GET_FSLABEL's
entering.

8 years agobtrfs.c: fix BTRFS_IOC_TREE_SEARCH_V2 output
Dmitry V. Levin [Tue, 24 May 2016 01:10:53 +0000 (01:10 +0000)]
btrfs.c: fix BTRFS_IOC_TREE_SEARCH_V2 output

* btrfs.c (btrfs_ioctl): Fix BTRFS_IOC_TREE_SEARCH_V2 output
in case of EOVERFLOW and failed umove.

8 years agobtrfs.c: cleanup use of tcp->auxstr
Dmitry V. Levin [Tue, 24 May 2016 01:09:04 +0000 (01:09 +0000)]
btrfs.c: cleanup use of tcp->auxstr

* btrfs.c (btrfs_ioctl): Reset tcp->auxstr only if it is set.

8 years agobtrfs.c: cleanup struct btrfs_ioctl_get_dev_stats.nr_items check
Dmitry V. Levin [Tue, 24 May 2016 01:04:56 +0000 (01:04 +0000)]
btrfs.c: cleanup struct btrfs_ioctl_get_dev_stats.nr_items check

* btrfs.c (btrfs_ioctl): Cleanup check of iterator of
btrfs_ioctl_get_dev_stats.values array.

8 years agobtrfs.c: do not use BTRFS_SUBVOL_NAME_MAX
Dmitry V. Levin [Tue, 24 May 2016 00:59:40 +0000 (00:59 +0000)]
btrfs.c: do not use BTRFS_SUBVOL_NAME_MAX

* btrfs.c [BTRFS_SUBVOL_NAME_MAX]: Remove.
(btrfs_ioctl): Use sizeof(struct btrfs_ioctl_vol_args_v2.name)
instead of BTRFS_SUBVOL_NAME_MAX + 1.

8 years agobtrfs.c: mark some function arguments as const
Dmitry V. Levin [Tue, 24 May 2016 00:56:08 +0000 (00:56 +0000)]
btrfs.c: mark some function arguments as const

* btrfs.c (btrfs_print_balance_args, btrfs_print_features,
btrfs_print_qgroup_limit, btrfs_print_data_container_header,
btrfs_print_logical_ino_container, btrfs_print_ino_path_container,
btrfs_print_qgroup_inherit): Mark some function arguments as const.

8 years agobtrfs.c: use umove instead of umoven
Dmitry V. Levin [Tue, 24 May 2016 00:49:50 +0000 (00:49 +0000)]
btrfs.c: use umove instead of umoven

* btrfs.c: Use umove instead of umoven and umove_or_printaddr
instead of umoven_or_printaddr.

8 years agobtrfs.c: remove unused variable
Dmitry V. Levin [Tue, 24 May 2016 00:45:05 +0000 (00:45 +0000)]
btrfs.c: remove unused variable

* btrfs.c (btrfs_ioctl): Remove "ret" variable.

8 years agobtrfs.c: use printxval/printxval64 instead of printxvals
Dmitry V. Levin [Tue, 24 May 2016 00:35:49 +0000 (00:35 +0000)]
btrfs.c: use printxval/printxval64 instead of printxvals

* btrfs.c (btrfs_ioctl): Do not call printxvals directly,
use printxval/printxval64 wrappers that do the right thing.

8 years agobtrfs.c: fix indentation
Dmitry V. Levin [Tue, 24 May 2016 00:23:31 +0000 (00:23 +0000)]
btrfs.c: fix indentation

* btrfs.c: Fix indentation of preprocessor directives and print formats.

8 years agoxlat/btrfs_dev_stats_values.in: cleanup
Dmitry V. Levin [Tue, 24 May 2016 00:20:23 +0000 (00:20 +0000)]
xlat/btrfs_dev_stats_values.in: cleanup

* xlat/btrfs_dev_stats_values.in: Remove HAVE_DECL_* defines,
use #unconditional instead.

8 years agofile_ioctl.c: use print_array
Dmitry V. Levin [Tue, 24 May 2016 00:20:07 +0000 (00:20 +0000)]
file_ioctl.c: use print_array

* file_ioctl.c (file_ioctl): Rewrite printers of
struct file_dedupe_range_info and struct fiemap_extent arrays
using print_array.

8 years agofile_ioctl.c: fix indentation
Dmitry V. Levin [Tue, 24 May 2016 00:19:53 +0000 (00:19 +0000)]
file_ioctl.c: fix indentation

* file_ioctl.c: Fix indentation of preprocessor directives
and print formats.

8 years agofile_ioctl.c: include <linux/ioctl.h> instead of <sys/ioctl.h>
Dmitry V. Levin [Tue, 24 May 2016 00:19:40 +0000 (00:19 +0000)]
file_ioctl.c: include <linux/ioctl.h> instead of <sys/ioctl.h>

Being a wrapper around <linux/ioctl.h>, <sys/ioctl.h> brings
no benefits for this parser.

* file_ioctl.c: Include <linux/ioctl.h> instead of <sys/ioctl.h>.