lkml.org 
[lkml]   [2001]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: FS callback routines
    Jamie Lokier wrote:
    > Daniel Phillips wrote:
    > > [things that can benefit from dnotify]
    > > locate (reindex only those directories that have changed, keep index
    > > database current).
    >
    > Not a chance. dnotify doesn't work recursively, so you can't monitor
    > just a few top level directories like "/usr/lib". And have you ever
    > tried to keep all 3000 directories on your filesystem directories open
    > at the same time? Would you want to consume that much non-swappable
    > memory, and also prevent the directories from being removed from the
    > filesystem?
    >
    > Long ago I proposed something similar that works at the disk level, is
    > recursive, and the checks can be done without keeping directories open.
    > But I never wrote the code :( That's interesting because it speeds up
    > make without needing a daemon, and really can speed up
    > locate/updatedb/find.

    It took a little while for the following to dawn on me: it's not hard to
    make the dnotify scheme work recursively and you don't have to keep 3000
    directories open. To modify a file you must have opened all the
    directories in its path. We need a new event:

    DN_OPEN A file in the directory was opened

    You open the top level directory and register for events. When somebody
    opens a subdirectory of the top level directory, you receive
    notification and register for events on the subdirectory, and so on,
    down to the file that is actually modified.

    --
    Daniel
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:28    [W:0.027 / U:148.624 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site