On Thu, 2019-05-02 at 03:43 +0000, Chaitanya Kulkarni wrote: > On 5/1/19 8:48 AM, Bart Van Assche wrote: > > On Tue, 2019-04-30 at 21:28 -0700, Chaitanya Kulkarni wrote: > > > -#define BLKTRACESETUP32 _IOWR(0x12, 115, struct > > > compat_blk_user_trace_setup) > > > + > > > +/* XXX: temp work around for RFC */ > > > +#define BLKTRACESETUP32 _IOWR(0x13, 115, struct > > > compat_blk_user_trace_setup) > > > > This change breaks user space so this change is not acceptable. I think you > > want to introduce a new ioctl instead of modifying an existing ioctl. > > Additionally, have you considered to split the blktrace_api.h header file > > into two header files: one with kernel-internal definitions and a second one > > with definitions that are shared with user space (include/uapi/...)? > > I want to avoid modifying an existing IOCTL, I'll add a new ioctl and > update the tools to use the extension IOCTL and split the header file > also. Also I found that user space tools have replicated BLK_XX_XXX > definitions, will be okay to keep all those in one place and include > those from the appropriate header file ?
Hi Chaitanya, I think all definitions that are relevant for the user space blktrace tool should be moved into a header file under include/uapi/linux. I'm not sure what the best strategy is to include that header file in the blktrace tool. Another project that interfaces with the kernel (rdma-core; see also https://github.com/linux-rdma/rdma-core/) periodically copies kernel header files into its own source code repository. Bart.
