• Eric Paris's avatar
    fanotify: do not clone on merge unless needed · 9dced01a
    Eric Paris authored
    Currently if 2 events are going to be merged on the notication queue with
    different masks the second event will be cloned and will replace the first
    event.  However if this notification queue is the only place referencing
    the event in question there is no reason not to just update the event in
    place.  We can tell this if the event->refcnt == 1.  Since we hold a
    reference for each queue this event is on we know that when refcnt == 1
    this is the only queue.  The other concern is that it might be about to be
    added to a new queue, but this can't be the case since fsnotify holds a
    reference on the event until it is finished adding it to queues.
    Signed-off-by: default avatarEric Paris <eparis@redhat.com>
    9dced01a
fanotify.c 3.9 KB