Amir, I was just thinking about this a little over the weekend and I
don't think we discussed how to handle the FAN_REPORT_PIDFD |
FAN_REPORT_FID and friends case? My immediate thought is to make
FAN_REPORT_PIDFD mutually exclusive with FAN_REPORT_FID and friends,
but then again receiving a pidfd along with FID events may be also
useful for some? What are your thoughts on this? If we don't go ahead
with mutual exclusion, then this multiple event types alongside struct
fanotify_event_metadata starts getting a little clunky, don't you
think?
The current format of an fanotify event already supports multiple info records:
[fanotify_event_metadata]
[[fanotify_event_info_header][event record #1]]
[[fanotify_event_info_header][event record #2]]...
(meta)->event_len is the total event length including all info records.
For example, FAN_REPORT_FID | FAN_REPORT_DFID_MAME produces
(for some events) two info records, one FAN_EVENT_INFO_TYPE_FID
record and one FAN_EVENT_INFO_TYPE_DFID_NAME record.
So I see no problem with combination of FAN_REPORT_FID
and FAN_REPORT_PIDFD.
Thanks,
Amir.