fsrvp: add server state storage back-end
authorDavid Disseldorp <ddiss@samba.org>
Fri, 3 Jan 2014 15:21:22 +0000 (16:21 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 31 Mar 2015 16:40:24 +0000 (18:40 +0200)
commit9c8ae4454c8803d0ab807c5b47da01b6d251839b
tree729a1da9e1a68c714d7d1e0b4cdefed3439f7b07
parentb773136f9e844f72408e321c69ccf99081995821
fsrvp: add server state storage back-end

MS-FSRVP specifies:
  the server MUST persist all state information into an implementation-
  specific configuration store.

This change adds a fss_srv TDB database to preserve FSRVP server state,
with the following keys used to track shadow copy state and hierarchy:
- sc_set/<shadow copy set GUID>
  A shadow copy set tracks a collection of zero or more shadow copies,
  as initiated by a StartShadowCopySet FSRVP client request.
- sc_set/<shadow copy set GUID>/sc/<shadow copy GUID>
  A shadow copy defines information about a snapshot base volume, the
  snapshot path, and a collection of share maps. It is initiated by an
  AddToShadowCopySet client request.
- sc_set/<shadow copy set GUID>/sc/<shadow copy GUID>/smap/<smap GUID>
  A share map tracks new shares that are created to expose shadow
  copies.

All structures are marshalled into on-disk format using the previously
added fsrvp_state IDL library.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/rpc_server/fss/srv_fss_private.h [new file with mode: 0644]
source3/rpc_server/fss/srv_fss_state.c [new file with mode: 0644]
source3/rpc_server/wscript_build