The File Server Remote VSS Protocol (FSRVP) was recently defined by Microsoft. It allows for SMB clients to remotely request the creation, exposure and destruction of share snapshots.

Aside from support in Windows Server 2012, preliminary FSRVP server support has also been implemented for Samba.

FSRVP client support in cifs.ko would allow for Btrfs style snapshot behaviour on SMB filesystem mount-points, e.g:

cifs filesystem snapshot create /mnt/win2k12share /mnt/win2k12share/my_snapshot

  • user-space cifs binary issues BTRFSIOCSNAP_CREATE style ioctl to kernel
  • kernel connects to the FssagentRpc SMB named pipe
  • kernel dispatches FSRVP requests to create and expose a snapshot of win2k12_share
  • kernel mounts the newly exposed snapshot share under /mnt/win2k12share/mysnapshot
  • user-space stores corresponding shadow-copy GUIDs

cifs filesystem snapshot delete /mnt/win2k12share/mysnapshot

  • user-space retrieves corresponding shadow-copy GUIDs for my_snapshot
  • kernel unmounts my_snapshot
  • kernel dispatches FSRVP requests to destroy the snapshot
  • user-space removes the corresponding shadow-copy GUIDs

Note: There are a bunch of underscores in the above text that have been unintentionally marked-up, see source.

Looking for mad skills in:

cifs smb snapshot snapper

This project is part of:

Hack Week 10

Activity

  • almost 6 years ago: dmdiss left Add snapshot support to cifs.ko
  • almost 6 years ago: lmuelle liked Add snapshot support to cifs.ko
  • almost 6 years ago: dmdiss started Add snapshot support to cifs.ko
  • almost 6 years ago: dmdiss added keyword "snapper" to Add snapshot support to cifs.ko
  • almost 6 years ago: dmdiss added keyword "snapshot" to Add snapshot support to cifs.ko
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!