On Fri, Nov 30, 2018 at 5:32 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > > > struct fanotify_event_info_fid { > > > struct fanotify_event_info_header hdr; > > > .... > > > > > > Seems more appropriate name than the shorter fanotify_event_fid name > > > that you suggested. > > > > Fine by me. > > FYI, at the moment the uapi struct looks like this: > > struct fanotify_event_info_header { > __u8 info_type; > __u8 pad; > __u16 len; > }; > > struct fanotify_event_info_fid { > struct fanotify_event_info_header hdr; > __kernel_fsid_t fsid; > struct file_handle fh; > }; > I changed my mind about using struct file_handle. The current v4 struct is defined: struct fanotify_event_info_fid { struct fanotify_event_info_header hdr; __kernel_fsid_t fsid; /* * Following is an opaque struct file_handle that can be passed as * an argument to open_by_handle_at(2). */ unsigned char handle[0]; }; It's true that name_to_handle_at(2) users need to know about the layout of struct file_handle to pass the buffer size. But the users of fanotify FAN_REPORT_FID and the users of open_by_handle_at(2) can treat the handle as an opaque blob. > > > > > It bothers me a bit not to use struct file_handle in the definition, > > > but I don't with to start moving struct file_handle into uapi. > > > I am a bit lost trying to understand which uapi include file I need > > > to include in fanotify.h if I want to use it. fcntl.h? > > I gave up trying to move struct file_handle to uapi headers, because it is already defined in glibc fcntl-linux.h and I couldn't find a way out of this mess, nor did I find a good reason to pursue this for the current patch set. ... > > I pushed the reworked fanotify_dirent [2] branch and I am quite content > with the result. > For comparison, also pushed fanotify_fid-v3 [3] and fanotify_fid-v4 [4], > which correspond to the last patch you posted review on (cached fsid). > > [2] https://github.com/amir73il/inotify-tools/commits/fanotify_dirent > [3] https://github.com/amir73il/inotify-tools/commits/fanotify_fid-v3 > [4] https://github.com/amir73il/inotify-tools/commits/fanotify_fid-v4 > Re-pushed those branches without changes to uapi/linux/fs.h. Thanks, Amir.