A Samba VFS module for Amazon's S3 Service

Richard Sharpe realrichardsharpe at gmail.com
Mon Dec 26 23:24:50 MST 2011

Hi Folks,

I have begin writing a Samba VFS module (for Samba 3) that will
interface with Amazon's S3 service.

I am thinking of the following functionality:

1. You configure a share to use the module by specifying some
parameters (The secret key issue needs to be resolved, embedding it in
the smb.conf file is problematic :-)

2. Any files you copy to the share are copied up to the specified
bucket on S3. Directory structure is preserved.

3. Files are versioned.

4. Windows can retrieve previous version info and you can restore any
version that is saved.

What I have at the moment is:

1. The basic infrastructure

2. Code that uses libcurl to interface with S3 and can generate valid
authentication tokens.

The next steps are:

0. Think more about the required semantics.

1. Get it moving files up to S3.

2. Implement the FSCTL requests needed to retrieve previous version info.

3. Write more code (ie, code to retrieve blocks of previous versions
that are up at Amazon S3).

4. Have fun.

The code currently builds against the Samba master branch because it
will need the FSCTL support in the VFS that I added a while back,
although it could also be built against 3.6.x with my FSCTL patches
for those releases.

If anyone is interested in looking at the code or helping out, let me
know, because I can put the code up on github.

Richard Sharpe

More information about the samba-technical mailing list