[PATCH] copy-chunk / FSRVP (remote snapshots) changes

David Disseldorp ddiss at suse.de
Wed Oct 10 08:08:34 MDT 2012

Hi Jeremy,

On Sun, 7 Oct 2012 19:26:13 +0200
David Disseldorp <ddiss at suse.de> wrote:

> When I'm finished testing this change, I'll collapse it into the main
> copy-chunk + FSRVP branch.
> There are currently a few other occurrences where a req state variable
> is used for error tracking rather than the embedded tevent req ntstatus.
> I'll work on cleaning these up too.

The following two branches carry the changes I've made in this area:

  gi t://git.samba.org/ddiss/samba.git async_rpc_copy_chunk_fsrvp

  git://git.samba.org/ddiss/samba.git async_rpc_copy_chunk_fsrvp_expanded

Both branches are identical code-wise, commits have been left
uncollapsed in the _expanded branch.

A summary of changes since last push:
- ntstatus tracking across tevent reqs is done via the embedded req
  error and helper functions, rather than separately in the request
  - _fss_CommitShadowCopySet is an exception, as multiple subreqs may
    be dispatched, for which we need to wait for all completions
    before returning an error.
  - some rpc_server functions previously returning a bool error have
    no yet been converted to use ntstatus. The bool error is held in
    the req state.
- Use after free bug in async rpc server error path is fixed.
- FSRVP server state tdb path is passed in to store/retrieve functions
  allowing for temporary paths from smbtorture.
- snapshot create/destroy VFS stubs added to vfs_full_audit,
  vfs_time_audit, etc.
- VFS connection struct made persistent across async snapshot requests.
  This fixes behaviour for transparent stacked async VFS modules
- SMB_VFS_FSCTL fall-back added for all ioctl device types, rather than

Feedback appreciated, as always.

Cheers, David

More information about the samba-technical mailing list