Using HyperV with Samba 4.2

Richard Sharpe realrichardsharpe at
Fri Oct 17 08:05:27 MDT 2014

On Fri, Oct 17, 2014 at 6:49 AM, David Disseldorp <ddiss at> wrote:
> On Wed, 15 Oct 2014 05:05:24 -0700, Richard Sharpe wrote:
>> Hi folks,
>> Sending this out in the hope that it will be useful to some people.
> Thanks!
>> Secondly, you will need to create a VFS module (or modify your
>> existing VFS module if you have one) to assert that your file system
>> supports compression and to implement the set_compression and
>> get_compression entry points.
> I'm a little surprised by the client behaviour here. With
> FILE_FILE_COMPRESSION missing from the FS capabilities, the server
> doesn't support compression, so explicitly disabling it on a per-file
> basis shouldn't be necessary.

Hmmm, maybe I need to look more closely at the capture. It was asking
to disable compression so maybe the people who supplied me with the
capture were mistakenly claiming they supported compression.

>> These two functions do not really have to do much. The set_compression
>> function can simply return NT_STATUS_SUCCESS without doing anything
>> and the get_compression function should return that compression is not
>> set (COMPRESSION_FORMAT_NONE). A patch for a sample HyperV VFS module
>> is also attached to implement these functions for you. You will need
>> to add "hyperv" to the vfs objects you define for any share that will
>> be used with HyperV if you use this module.
>> This steps are required because when HyperV creates the VHD/VSV file
>> it opens the file, then sets resiliency and then sets compression off.
>> Creation of the virtual disk will fail if any of these steps returns
>> an error status.
>> You will need to configure Samba slightly differently to include this
>> module for the moment:
>>    ./configure --with-shared-modules=vfs_hyperv
> The module implementation looks okay, but please use a different name
> (e.g. vfs_fake_compression) or add the functionality to vfs_default.
> It's incompatible with modules that provide proper compression support
> as-is.

Well, true, but then if you have a file system that does support
compression, you would already have those functions and thus have no
need for the supplied module.

I need to make the documentation clearer.

Richard Sharpe

More information about the samba-technical mailing list