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.

Reply via email to