Evgeny Kotkov wrote:
Maybe, as an alternative to abstracting and promoting this to a public FS API,
we could add a way of performing backend-specific I/O operations through an
API like svn_fs_ioctl()?

Thanks, Evgeny! I like it. Keeping clean modularity is important.

See the attached patch that implements it for existing fsfs stats, dump index
and load index operations, and, as I suppose, may also be extended for the
"get revision size/stats" operation.

+1 on this patch.

Only two minor comments on the patch:

* We could keep the existing private API declarations in include/private/svn_fs_fs_private.h as well as the new ioctl versions of them, rather than moving the existing declarations to a local header. It would reduce the patch size, and some people might like the ability to link to libsvn_fs_fs directly and and call those functions directly. But I don't feel strongly about this; either way is fine for me.

* Typo in the test: tets_unrecognized_ioctl(): 'tets' -> 'test'.

I have reviewed and tested it. Can you commit?


I can re-work my patch to implement rev-size as another ioctl.

- Julian

Reply via email to