簡體   English   中英

文件的早期版本在SMB客戶端中不可見

[英]Previous versions of file are not visible in SMB client

我們正在實施SMB2協議。 為了顯示以前的文件版本,客戶端發送SMB2 IOCTL reqeust with CtlCode of FSCTL_SRV_ENUMERATE_SNAPSHOTS 我們按照http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-SMB2%5D.pdf 3.3.5.15.1中所述發送響應。枚舉先前版本的請求

當我單擊目錄的“屬性”->“先前版本”時,它顯示返回的先前版本,但是對於文件,它不顯示任何內容。 我檢查了文件和目錄是否返回相同的響應。

為什么對文件不起作用? 文件和目錄與以前的版本有何不同? 在Windows客戶端中查看文件的先前版本還應支持哪些其他請求?

打開目錄/文件屬性(以前的版本選項卡)時,我已經嗅探了一些localhost通信。 發現客戶端在CreateContexts中發送帶有SMB2_CREATE_TIMEWARP_TOKEN([MS-SMB2],2.2.13.2.7)的CreatFile請求([MS-SMB2],2.2.13SMB2 CREATE請求)。 客戶端獲取快照列表,然后循環時間戳,使用SMB2_CREATE_TIMEWARP_TOKEN中的時間戳執行創建請求。
假設客戶端嘗試從不同的快照打開文件,並使用文件修改時間比較更改。 然后顯示所有不同的版本。

這可能是特定的Windows形狀行為,也可能是服務器中的錯誤。 我們使用NQ Storage服務器進行了測試,當客戶端為2012時,它對文件和文件夾均運行良好。我們使用其他服務器窗口進行了測試,但是我目前無法回憶起哪個窗口。 老實說,我們沒有測試太多Win形狀的快照。 如果進行捕獲,它可以提示您哪一側(C或S)有罪。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM