[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Dazuko-devel] resolving full path when creating a new file onfreebs
From: |
Patrick Bihan-Faou |
Subject: |
RE: [Dazuko-devel] resolving full path when creating a new file onfreebsd 4.x (and more) |
Date: |
Fri, 27 Aug 2004 17:08:23 +0200 |
Hi,
> Patrick Bihan-Faou wrote:
> > Testing dazuko 2.0.3-pre4 on freebsd I noticed that I was never
> getting the
> > OPEN/CLOSE events for files that were non-existant previously.
> After some
> > investigation, I found that when the file does not exist, the
> namei() call
> > in freebsd_get_full_fileinfo() (called from
> xp_file_struct_check()) returns
> > ENOENT leading in the name not being resolved.
>
> Yes, as you noticed, name lookups can only be successful for
> existing files.
> We worked around this issue by making newly created files
> generate post_open
> events (ie. an ON_OPEN event is generated after the open was completed).
Well would'nt generating the ON_OPEN event after the open has completed have
a nasty side effect ? Namely the file would already be created even if the
dazuko daemon decided that the open should be blocked.
> > To support the closed-modified event, dazuko monitors the write
> system call.
> > However in FreeBSD there are at least 4 calls that can modify a file:
> >
> > [snip]
> >
> > Only the first syscall is handled and none of the last 3. Wouldn't that
> > invalidate the usefulleness of the closed-modified event ?
>
> Yes you are correct. I am unhappy with this implementation of noticing
> changed files (because of the overhead). I am also unhappy that ON_CLOSE
> events are based on matching file descriptors. Both of these should be
> seriously considered, but it is very limiting at the system call
> level. This
> will be more easily and efficiently handled once DazukoFS is released.
>
> http://lists.gnu.org/archive/html/dazuko-devel/2004-08/msg00004.html
>
>
Yes I have seen this announcement. Is FIST portable to FreeBSD as well ? If
yes that's probably the best solution.
In the meantime I'll handle the missing syscalls.
>
>
> > I have more questions and suggestions, but they will come later.
>
> I am always open to new ideas.
Well for one I'd like to see more type of event monitored (this is specific
to an application I am considering):
- renames (needs a change in the event structure to support 2 filenames as
noted in a previous thread)
- symlink/hardlink creations/modifications (I did not look at what would be
needed to implement that for now, but like for rename having to filenames in
the event structure seems to be a must)
- more precise information on the written parts of the files (i.e.
offset+len)
Patrick.