From jay.levitt at gmail.com Thu Jan 6 13:01:39 2011 From: jay.levitt at gmail.com (Jay Levitt) Date: Thu, 6 Jan 2011 13:01:39 -0500 Subject: [Unison-hackers] fsmonitor watching ignored paths? Message-ID: I'm using inotify support for the first time, with unison 2.43 (svn r471) installed on both my Mac and my Ubuntu Lucid server. When I run "unison -repeat watch" from the Mac, I get errors like [Pyinotify ERROR] add_watch: cannot watch /home/jalevitt/some/path/to/something/I'm/not/mirroring /home/jalevitt is one of my two roots, but I'm explicitly specifying a bunch of paths, and ~/some/path/to isn't among them. I've even tried adding it to the ignore list in default.prf, but fsmonitor.py still tries to add a watch, and it eventually fails since it's a deep directory tree and there are too many files to watch. Is there a workaround? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bcpierce at cis.upenn.edu Sat Jan 15 19:01:51 2011 From: bcpierce at cis.upenn.edu (Benjamin C. Pierce) Date: Sat, 15 Jan 2011 19:01:51 -0500 Subject: [Unison-hackers] fsmonitor watching ignored paths? In-Reply-To: References: Message-ID: > I'm using inotify support for the first time, with unison 2.43 (svn r471) installed on both my Mac and my Ubuntu Lucid server. When I run "unison -repeat watch" from the Mac, I get errors like > > [Pyinotify ERROR] add_watch: cannot watch /home/jalevitt/some/path/to/something/I'm/not/mirroring > > /home/jalevitt is one of my two roots, but I'm explicitly specifying a bunch of paths, and ~/some/path/to isn't among them. I've even tried adding it to the ignore list in default.prf, but fsmonitor.py still tries to add a watch, and it eventually fails since it's a deep directory tree and there are too many files to watch. > > Is there a workaround? Not that I see, I'm afraid. The first version of fsmonitor.py tried to deal with ignored files, but accurately duplicating Unison's (rather peculiar) semantics of ignore and ignorenot seemed error-prone so we ripped that out; now Unison just checks whether the paths its getting back are ignored before trying to sync them. What is it that fails here? inotify itself? Or fswatcher? - Benjamin From jay.levitt at gmail.com Tue Jan 18 11:39:52 2011 From: jay.levitt at gmail.com (Jay Levitt) Date: Tue, 18 Jan 2011 11:39:52 -0500 Subject: [Unison-hackers] fsmonitor watching ignored paths? In-Reply-To: References: Message-ID: > > What is it that fails here? inotify itself? Or fswatcher? > > I think it's inotify itself; when I change sysctl fs.inotify.max_user_watches, the errors happen in different parts of my filesystem. I could probably find a max_user_watches value that's high enough to include every file in the directory, but I don't know what bad effects that might have.. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.levitt at gmail.com Tue Jan 18 12:03:12 2011 From: jay.levitt at gmail.com (Jay Levitt) Date: Tue, 18 Jan 2011 12:03:12 -0500 Subject: [Unison-hackers] fsmonitor watching ignored paths? In-Reply-To: References: Message-ID: On Tue, Jan 18, 2011 at 11:39 AM, Jay Levitt wrote: > What is it that fails here? inotify itself? Or fswatcher? >> >> I think it's inotify itself; when I change sysctl > fs.inotify.max_user_watches, the errors happen in different parts of my > filesystem. I could probably find a max_user_watches value that's high > enough to include every file in the directory, but I don't know what bad > effects that might have.. > > > Wait, I've looked at the code and now I'm confused. Shouldn't fsmonitor.py be looking only at paths defined in "paths"? Even if it's not processing ignores, the large directories aren't in any of the defined paths; they're just below the root. Bug, or part of the "unison semantics are too complex" change? -------------- next part -------------- An HTML attachment was scrubbed... URL: From bcpierce at cis.upenn.edu Wed Jan 19 10:59:22 2011 From: bcpierce at cis.upenn.edu (Benjamin C. Pierce) Date: Wed, 19 Jan 2011 10:59:22 -0500 Subject: [Unison-hackers] fsmonitor watching ignored paths? In-Reply-To: References: Message-ID: <5D7A7294-74BC-47FF-86CE-555C88CE9F1F@cis.upenn.edu> That's right: It should just be watching the paths specified in the -paths preference. (But this functionality is new and not well tested -- might take a little hacking to get it really working.) - B On Jan 18, 2011, at 12:03 PM, Jay Levitt wrote: > > > On Tue, Jan 18, 2011 at 11:39 AM, Jay Levitt wrote: > What is it that fails here? inotify itself? Or fswatcher? > > I think it's inotify itself; when I change sysctl fs.inotify.max_user_watches, the errors happen in different parts of my filesystem. I could probably find a max_user_watches value that's high enough to include every file in the directory, but I don't know what bad effects that might have.. > > > Wait, I've looked at the code and now I'm confused. Shouldn't fsmonitor.py be looking only at paths defined in "paths"? Even if it's not processing ignores, the large directories aren't in any of the defined paths; they're just below the root. Bug, or part of the "unison semantics are too complex" change? _______________________________________________ > Unison-hackers mailing list > Unison-hackers at lists.seas.upenn.edu > http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers