git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Strange "beagle" interaction..

From
Jon Smirl <jonsmirl@gmail.com>
Date
Nov 13, 2007, 21:44 UTC
Message-ID
<9e4733910711131344t381b939dg47b5e078c52be3b2@mail.gmail.com>
In-Reply-To
<alpine.LFD.0.9999.0711131326310.2786@woody.linux-foundation.org>
On 11/13/07, Linus Torvalds <torvalds@linux-foundation.org> wrote:
Show 9 quoted lines
>
>
> On Tue, 13 Nov 2007, J. Bruce Fields wrote:
> >
> > Last I ran across this, I believe I found it was adding extended
> > attributes to the file.
>
> Yeah, I just straced it and found the same thing. It's saving fingerprints
> and mtimes to files in the extended attributes.

Things like Beagle need a guaranteed log of global inotify events. That would let them efficiently find changes made since the last time they updated their index.

Right now every time Beagle starts it hasn't got a clue what has changed in the file system since it was last run. This forces Beagle to rescan the entire filesystem every time it is started. The xattrs are used as cache to reduce this load somewhat.

A better solution would be for the kernel to log inotify events to disk in a manner that survives reboots. When Beagle starts it would locate its last checkpoint and then process the logged inotify events from that time forward. This inotify logging needs to be bullet proof or it will mess up your Beagle index.

Logged files systems already contain the logged inotify data (in their own internal form). There's just no universal API for retrieving it in a file system independent manner.

Show 22 quoted lines
>
> > Yeah, I just turned off beagle.  It looked to me like it was doing
> > something wrongheaded.
>
> Gaah. The problem is, setting xattrs does actually change ctime. Which
> means that if we want to make git play nice with beagle, I guess we have
> to just remove the comparison of ctime.
>
> Oh, well. Git doesn't *require* it, but I like the notion of checking the
> inode really really carefully. But it looks like it may not be an option,
> because of file indexers hiding stuff behind our backs.
>
> Or we could just tell people not to run beagle on their git trees, but I
> suspect some people will actually *want* to. Even if it flushes their disk
> caches.
>
>                 Linus
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
-- 
Jon Smirl
jonsmirl@gmail.com
Previous: Linus TorvaldsNext: David Brown
Message 5 of 9 in “Strange "beagle" interaction..”
  1. Linus TorvaldsNov 13, 2007
  2. J. Bruce FieldsNov 13, 2007
  3. J. Bruce FieldsNov 13, 2007
  4. Linus TorvaldsNov 13, 2007
  5. Jon SmirlNov 13, 2007
  6. David BrownNov 13, 2007
  7. J. Bruce FieldsNov 13, 2007
  8. Jon SmirlNov 13, 2007
  9. Mike HommeyNov 13, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.