From: Marc A. T. <ma...@br...> - 2008-04-17 18:55:59
|
On Thu, Apr 17, 2008 at 01:42:07PM -0400, Forest Bond wrote: > Hi, > > On Thu, Apr 17, 2008 at 07:30:27PM +0200, Marc Andre Tanner wrote: > > On Wed, Apr 16, 2008 at 01:09:19PM -0400, Forest Bond wrote: > > > Hi, > > > > > > On Wed, Apr 16, 2008 at 06:49:29PM +0200, Marc Andre Tanner wrote: > > > > At this point the fs should look like this: > > > > > > > > case-insensitive > > > > `-- DeMo > > > > `-- SubFolder > > > > `-- MyFile > > > > .data > > > > `-- demo > > > > `-- subfolder > > > > `-- myfile > > > > > > > > This all works as long as you don't start to mess around with the > > > > data directory directly. File names which aren't all lowercase in the > > > > data directory are ignored. So you should start with an empty data > > > > directory and copy your content over via the mountpoint. All further > > > > file creation or renames should also be done over the mountpoint. > > > > > > > > I don't think there is a way to avoid this restriction, or am i missing > > > > something? > > > > > > You can monitor the source tree for changes via inotify [1], gamin [2], > > > kqueue [3], etc. There is currently no ubiquitous cross-platform way to monitor > > > files and directories for changes, although pnotify [4] would apparently like to > > > be that. > > > > > > pytagsfs monitors source files for changes and updates the mount tree in > > > response. > > > > Thanks for the links, but the various notification system don't really > > help. When someone creates a conflicting file (for example there is a > > file "foo" and someone creates "Foo") in the data directory i will > > notice it but the conflict is still there. > > The various notification systems don't do all your work for you, of course, but > if you don't monitor the source tree then your filesystem will never present > files that were added post-mount-time. It's up to you to implement a conflict > resolution strategy. Yeah but there is no good conflict resolution strategy or at least i haven't found it yet. In the above scenario on a normal case insensitive file system "foo" would be overwritten by "Foo". But this isn't feasible in the source tree because the user would lose some data in an unexpected way. That's why my fs currently ignores files which aren't all lower case, because those files were created in the source tree directly. > Perhaps I misunderstood your original question. I thought you were asking for > ways to keep your filesystem in sync with the source tree, even if the user is > modifying files there? That's mostly true, but idealy i would like a solution were the user can't modify the source tree at all. But this isn't doable. Marc -- Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0 |