Windows 2012 Server Backup failure with SMB >= 2.1 (FSCTL_LMR_REQUEST_RESILIENCY)

Jones jones.kstw at gmail.com
Fri Nov 15 02:17:32 MST 2013


Hi List,

The client OS is Windows Server 2012,
and Windows Server Backup is installed from Server Manager.
The short "WSB" stands for Windows Server Backup in this article.

Trying to perform a single backup to remote shared folder,
which is a location specified on a Samba3/4 server,
or a Widnows 7 PC as comparison.

If WSB is success.
data transferred size is total around 14GB.

If WSB is failure,
log-level-10 message is saved as samba-4.0.5_windows_server_backup_log.smbd,
DL:
https://drive.google.com/file/d/0B3gmHkfiqqWrdDFXVWZBZjhianc/edit?usp=sharing
and wireshark pcap file as samba-4.0.5_windows_server_backup.pcap.
DL:
https://drive.google.com/file/d/0B3gmHkfiqqWrUGRWMTkyTU5JNjQ/edit?usp=sharing

Here are detailed test results:

(A) Server: Samba-3.6.18
===========================
While max protocol =
(A.1) NT1,  WSB is success.
(A.2) SMB2, WSB is success.

(B) Server: Samba-4.0.5
===========================
While max protocol =
(B.1) NT1, WSB is success.
(B.2) SMB2_02, WSB is success.
(B.3) SMB2_10, WSB is failure.
(B.4) SMB3_00, WSB is failure.

(C) Server: Windows 7 Home Premium 64bit
===========================
The negotiated protocol is SMB 2.1 (thru wireshark dialect: 0x210),
and WSB is always success.

(D) FSCTL_LMR_REQUEST_RESILIENCY is involved with SMB >= 2.1
===========================
During WSB is launched,
while Windows Server 2012 and Samba are negotiated with SMB >= 2.1,
the client would issue an additional ioctl request,
with CtlCode = FSCTL_LMR_REQUEST_RESILIENCY.
Samba would fail this request with STATUS_INVALID_DEVICE_REQUEST,
but Windows 7 could handle it well with STATUS_SUCCESS response.

(E) Questions
===========================
In short summary,
While Windows Server 2012 and Samba are negotiated with SMB >= 2.1,
WSB is always failure.
(E.1)
Is FSCTL_LMR_REQUEST_RESILIENCY the failure cause?
(E.2)
Is there a tricky method or magic flag to avoid client issue this fsctl,
or instead,
just made SMB <= 2.0 happened between client and server to avoid this fsctl?
(E.3)
Is this fsctl is kindly put into consideration @ Samba.Org,
or is it already in progress or developing roadmap?
Any suggestion is appreciated,
thanks.

(F) Bugzilla 9938, 10055
===========================
Found similar symptom in following links,
WSB would create a .vhdx file like #9938.
https://bugzilla.samba.org/show_bug.cgi?id=9938
https://bugzilla.samba.org/show_bug.cgi?id=10055

(G) Mailing list
===========================
It is likely FSCTL_LMR_REQUEST_RESILIENCY is not implemented yet.
https://lists.samba.org/archive/samba-technical/2013-September/095190.html

(H) Wiki Samba3/SMB2
===========================
TODO: resilient file handles, persistent file handles
https://wiki.samba.org/index.php/Samba3/SMB2

(I) Microsoft MSDN, Handling a Resiliency Request
===========================
Said: This section applies only to servers that implement the SMB 2.1 or
the SMB 3.x dialect family.
http://msdn.microsoft.com/en-us/library/ee380168.aspx


Regards,
Jones


More information about the samba-technical mailing list