fs: Draft module to mount filesystem representing navymail store
commitd6ef5463a8df7afc191246bbce6dc28d63c3917e
authorKirill Smelkov <kirr@navytux.spb.ru>
Mon, 19 Dec 2011 21:37:03 +0000 (20 01:37 +0400)
committerKirill Smelkov <kirr@navytux.spb.ru>
Mon, 19 Dec 2011 22:25:34 +0000 (20 02:25 +0400)
treec305c5fdcc1be1da1ed0d7e2fd02bbc6ab1e1f67
parent6417564c3a3c18f497c0cc4b07bfec56e49aca0c
fs: Draft module to mount filesystem representing navymail store

Now one can mount navymail store, and access gboxes with usual mail clients,
such as mutt. Only read-only access is implemented.

The filesystem is implemented as a high-level FUSE module which exports gbox'es
in traditional mbox format, i.e. files content is the same as output of
`navymail export --original-order`.

In order to measure fuse overhead, I've timed plain `navymail export` and cat
of the same gbox from filesystem for sup-talk archives:

navymail export --original-order sup-talk >/dev/null 0.69s
cat <mountpoint>/mail/sup-talk >/dev/null 0.75s

So overhead the overhead is ~ 10%.

NOTE while implementing first draft I did not pay attention to simultaneous
     access and locking, only tried to get the thing up and running.

Signed-off-by: Kirill Smelkov <kirr@navytux.spb.ru>
Makefile
README
fromgit/git.cocci
fs.c [new file with mode: 0644]
include/navymail/navymail-common-cmds.h
include/navymail/navymail.h
t/t0002-fs.sh [new file with mode: 0755]
t/xdd [new file with mode: 0755]