Michael Clark wrote:
Michael Clark wrote:
Attached is a proof of concept for an Apache VFS layer.
There are some encapsulation boundary issues also, apr_dbm_open comes
to mind. Not sure how to handle this (one reason why I want to have an
mod_dav_fs_props_xattr).
Anyway, I'll report back on my experiments...
I see quite a few problems with encapsulation boundaries. One big one is
apr-util:apr_brigade_insert_file
The only clean way I see of doing this is having the VFS API in apr.
Although for an httpd VFS impl we would still need to pass in
request_rec for it to be useful - perhaps we could have something like this:
APR_DECLARE(apr_status_t) apr_vfs_stat(void *vfscontext,
apr_finfo_t *finfo,
const char *fname,
apr_int32_t wanted,
apr_pool_t *pool);
...
and in httpd, request_rec would always be passed for vfscontext
(although vfscontext would be allowed to be NULL, just the VFS impls
would not be able to have any request specific rules for IO generated
from somewhere that wasn't able to pass a context).
I'm happy to keep down this path, assuming there is at least a slim
possibility we could have a VFS in apr (of course without effecting any
apps that don't use or need a VFS).
Cheers,
Michael.