Re: [AVFS] resurrection of AVFS
"Jan Uhlir" <[email protected]> Tue, 01 Mar 2005 13:24:16 +0100
| Newsgroups | gmane.comp.file-systems.avfs.user |
|---|---|
| Message-ID | <S4040301AbVCAMYQ/[email protected]> |
> > Well, as an API I could count functions from
> > "virtual.h". Correct me if I'm wrong. There is no
> > documentation but functions from
> > virtual.h seem s to behave like their libc counterpards.
> > Function virt_read() behaves like read() but with support
> > for reading from archives, it takes the same arguments,
> > it return the same error codes and so on.
> Yes, that is how it's supposed to work.
Any other header files bear interesting method for library users?
avfs.h?
cache.h?
> > Can I use AVFS for reading ordinary (real) files from
> > local? I hope I can.
>
> Yes though there are problems with this (see discussion with
> Ralf Hoffmann).
The discussion dangled around problems with "magic
characters" in file names, didn't it?
> > How to set temporary directory for archive cache?
> /tmp is used, and this can't be changed currently. There's a
> patch by Peter Kundrat that fixes this (attached), but there's
> a possible buffer overflow in this, and I haven't yet integrated
> a fixed version.
OK, I will look at it.
> > When is cache cleaned? Am I supposed to do it explicitly?
> > fd = virt_open("/#avfsstat/cache/clear",
> > O_WRONLY, 0);
> > res = virt_write(fd, "1", 1);
> > res = virt_close(fd);
> > ..striped function flush_cache() in runtest.c
>
> Yes. This is equivalent to
> "echo 1 > /#avfsstat/cache/clear"
There is no direct way to do it like av_cache_clear(..)?
> >Is some kind of server started to keep tracks of opened
> >archives?
> >(suppose using avfs as library, no avfscoda, preload or
> >fuse)
>
> No. If you want to have persistent cache, then you must
> create a ...
OK, that is fine. I would to write wrapper for KDE IO layer
(kio_slave), and kio_server is intended to care. I have just to
implement right method in my kio_avfs, to clear cache and
so on.
>
> >From sourcecode organisation it looks like AVFS comes in four
> >flavours.
> > - library (layer libary above some functions from glibc)
> > - avfscoda
> > - preload (overload some methods in libc/glibc, so
> > applications use avfs transparetly without)
> > - fuse module
> >
> > In documentation only flavours 2 and 3 are mentioned!
> >
> >From further investigation of mail-lists - only flavour 1 is fully
> >operational now, flavours 2 - 4 seems not to be fully
> >operational
> >(or not operational at all) in newer glibc and kernels
> >(>2.6.x).
>
> 1 (libavfs) is system independent, and hence should work in any UNIX
> like environment.
That is the most important for me.
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click