public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: Richard Weinberger <richard@nod.at>
Cc: mtk.manpages@gmail.com,
	Lennart Sorensen <lsorense@csclub.uwaterloo.ca>,
	Jos Huisken <jos.huisken@gmail.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: inotify, new idea?
Date: Mon, 26 May 2014 08:06:29 +0200	[thread overview]
Message-ID: <5382D9E5.5000306@gmail.com> (raw)
In-Reply-To: <538091C2.6040802@nod.at>

On 05/24/2014 02:34 PM, Richard Weinberger wrote:
> Am 24.05.2014 09:52, schrieb Michael Kerrisk (man-pages):
>> On 04/21/2014 10:42 AM, Richard Weinberger wrote:
>>> Am 21.04.2014 09:24, schrieb Michael Kerrisk:
>>>>> Does recursive monitoring even work with inotify?
>>>>> Last time I've tried it did failed as soon I did a mkdir -p a/b/c/d because
>>>>> mkdir() raced against the thread which installes the new watches.
>>>>
>>>> As I understand it, you have to program to deal with the races (rescan
>>>> directories after adding watches). I recently did a lot of work
>>>> updating the inotify(7) man page to discuss all the issues that I know
>>>> of, and their remedies. If I missed anything, I'd appreciate a note on
>>>> it, so that it can be added. See
>>>> http://man7.org/linux/man-pages/man7/inotify.7.html#NOTES
>>>
>>> I'm aware of the rescan hack, but in my case it does not help
>>> because my program must not miss any event.
>>> Currently I'm using a fuse overlay filesystem to log everything.
>>> Not perfect but works... :-)
>>
>> Richard,
>>
>> A late follow up question. How does your application deal with the
>> event overflow problem (i.e., when you get a large number of events 
>> much faster than your application can deal with them?
> 
> The downside of the FUSE approach is that you have to intercept
> every filesystem function.
> This can be a performance issue.
> But due to this design the overflow problem cannot happen as the
> FUSE filesystem blocks until the event has been proceed.

Ahh -- that clears things up for me. Thanks, Richard.

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/

      parent reply	other threads:[~2014-05-26  6:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-17 21:00 inotify, new idea? Jos Huisken
2014-04-17 21:28 ` Lennart Sorensen
2014-04-18  4:15   ` Michael Kerrisk
2014-04-20 17:44     ` Lennart Sorensen
2014-04-20 22:22     ` Richard Weinberger
2014-04-21  7:24       ` Michael Kerrisk
2014-04-21  8:42         ` Richard Weinberger
2014-04-21 13:31           ` Michael Kerrisk (man-pages)
2014-04-21 15:01             ` Richard Weinberger
2014-04-22 19:59               ` Jos Huisken
2014-05-24  7:52           ` Michael Kerrisk (man-pages)
2014-05-24 12:34             ` Richard Weinberger
2014-05-25 23:46               ` Marian Marinov
2014-05-26  7:07                 ` Richard Weinberger
2014-05-26  6:06               ` Michael Kerrisk (man-pages) [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5382D9E5.5000306@gmail.com \
    --to=mtk.manpages@gmail.com \
    --cc=jos.huisken@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lsorense@csclub.uwaterloo.ca \
    --cc=richard@nod.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox