在VSS硬件提供程序中跳过GetTagetLuns,LoacteLuns和FillinLunInfo

时间:2013-01-07 09:31:16

标签: volume-shadow-service

我正在编写VSS硬件提供程序并且能够创建快照。因此,当使用跟踪工具进行跟踪时,我注意到PostCommitSnapshot完全是完美的。在PostCommit快照之后,自动导入Shadow副本GetTagetLuns,LoacteLuns和FillinLunInfo是必需的,但是我在一些存储上拍摄了一个卷的快照,所以我没有足够的信息提供给GetTargetLuns。

  1. 如果我继续使用AreLunsSupported中提供的相同LUNinfo,则会在GetTargetLuns中抛出BadSourceLun错误。

  2. 如果我试图通过在GetTargetLuns中注释掉检查条件来跳过此错误,则继续执行直到LocateLuns然后异步等待,然后调用OnLunEmpty方法然后中止快照。

  3. 我尝试将快照状态值设置为VSS_SS_POSTCOMMITTED,但这是为系统使用而保留的。

  4. 所以我想在Vss硬件提供程序中跳过这些方法吗?

    任何帮助都会非常明显。

1 个答案:

答案 0 :(得分:2)

当快照上下文设置为时,它不会调用它们: VSS_CTX_FILE_SHARE_BACKUP |请求方的VSS_VOLSNAP_ATTR_TRANSPORTABLE。