The freeze/thaw ones are simple, but the trim is an interesting struct. * block.c (block_ioctl): Handle FIFREEZE/FITHAW/FITRIM. * ioctl.c (ioctl_decode): Pass 'X' ioctls to block_ioctl. --- block.c | 20 ++++++++++++++++++++ ioctl.c | 1 + 2 files changed, 21 insertions(+)
diff --git a/block.c b/block.c index b281b1a..b62e436 100644 --- a/block.c +++ b/block.c @@ -116,6 +116,11 @@ block_ioctl(struct tcb *tcp, long code, long arg) /* take a signed int */ case BLKROSET: case BLKBSZSET: +#ifdef FIFREEZE + /* First seen in linux-2.6.29 */ + case FIFREEZE: + case FITHAW: +#endif if (entering(tcp)) { int val; if (umove(tcp, arg, &val) < 0) @@ -263,6 +268,21 @@ block_ioctl(struct tcb *tcp, long code, long arg) } break; +#ifdef FITRIM + /* First seen in linux-2.6.37 */ + case FITRIM: + if (entering(tcp)) { + struct fstrim_range fstrim; + if (umove(tcp, arg, &fstrim)) + tprintf(", %#lx", arg); + else + tprintf(", {start=%#" PRIx64 ", len=%#" PRIx64 ", " + "minlen=%#" PRIx64 "}", (uint64_t) fstrim.start, + (uint64_t) fstrim.len, (uint64_t) fstrim.minlen); + } + break; +#endif + /* No arguments or unhandled */ case BLKTRACESTART: case BLKTRACESTOP: diff --git a/ioctl.c b/ioctl.c index 9c743ce..cfd5a24 100644 --- a/ioctl.c +++ b/ioctl.c @@ -85,6 +85,7 @@ ioctl_decode(struct tcb *tcp, long code, long arg) return rtc_ioctl(tcp, code, arg); case 0x03: case 0x12: + case 'X': return block_ioctl(tcp, code, arg); #ifdef HAVE_SCSI_SG_H case 0x22: -- 2.1.3 ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel