FSRVP snapshot set failed

Teng-Feng Yang shinrairis at gmail.com
Mon Jun 24 22:56:14 MDT 2013


Hi,

As I do more research on the FSRVP implemented by David recently, now
I am be able to take snapshots of both btrfs and dm-thin volumes
remotely. However, when I am trying to create a snapshot set with
multiple volumes and take snapshot of this set, it fails unexpectedly.
The following are the steps I take to create and take snapshot on a
snapshot set.

In Windows server 2012, I have joined the AD domain and be able to
create single snapshot on each share volume.
diskshadow> set context persistent
diskshadow> add volume \\<samba server with FSRVP support>\<share volume 1>
diskshadow> add volume \\<samba server with FSRVP support>\<share volume 2>
diskshadow> create

The "create" command will return the error message:
COM call "m_pVssBackup->AddToSnapshotSet" failed.
The last operation failed.
    - Returned HRESULT: 8004230c
    - Error text: VSS_E_VOLUME_NOT_SUPPORTED

I check the samba log to see how samba process the "create" command.
It turns out that diskshadow.exe will call the following rpc api:
FSS_GETSUPPORTEDVERSION -> FSS_SETCONTEXT -> FSS_STARTSHADOWCOPYSET ->
FSS_ADDTOSHADOWCOPYSET-> FSS_ISPATHSUPPORTED. I don't really sure if
this is a correct rpc calling sequence, for I think there should be
another FSS_ADDTOSHADOWCOPYSET call instead of FSS_ISPATHSUPPORTED
which already been called when we issue "add volume" command in the
diskshadow utility.
The actual error message in the log file is:

/usr/local/samba/sbin/smbd: Requested \FssagentRpc rpc service
/usr/local/samba/sbin/smbd: api_rpcTNP: \FssagentRpc op 0x8 -
api_rpcTNP: rpc command: FSS_ISPATHSUPPORTED
/usr/local/samba/sbin/smbd: api_rpc_cmds[8].fn_send == 0x7f183cd2a5e9
/usr/local/samba/sbin/smbd: ndr_pull_error(11): Pull bytes 52
(../librpc/ndr/ndr_basic.c:420)
/usr/local/samba/sbin/smbd: pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
/usr/local/samba/sbin/smbd: api_rpcTNP: \FssagentRpc:
FSS_ISPATHSUPPORTED failed.

It looks like the packet does not contain the required length of bytes
for FSS_ISPATHSUPPORTED, so it fails directly.

Any help would be grateful.
Thanks

Dennis


More information about the samba-technical mailing list