Print this page
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-4538 SMB1 create file should support extended_response format (2)
NEX-6116 Failures in smbtorture raw.open
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Include this commit if upstreaming/backporting any of:
NEX-4540 SMB server declines EA support incorrectly
NEX-4239 smbtorture create failures re. allocation size
(illumos) 6398 SMB should support path names longer than 1024
NEX-5598 SMB needs a few more ioctls for Hyper-V
Reviewed by: Gordon Ross <gwr@nexenta.com>
*** 19,28 ****
--- 19,29 ----
* CDDL HEADER END
*/
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2017 Nexenta Systems, Inc. All rights reserved.
* Copyright (c) 2016 by Delphix. All rights reserved.
*/
#ifndef _SMBSRV_NTIFS_H
#define _SMBSRV_NTIFS_H
*** 188,203 ****
#define FILE_RESERVE_OPFILTER 0x00100000
#define FILE_RESERVED0 0x00200000
#define FILE_RESERVED1 0x00400000
#define FILE_RESERVED2 0x00800000
! #define FILE_VALID_OPTION_FLAGS 0x007fffff
#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
#define FILE_VALID_SET_FLAGS 0x00000036
/*
* Define the file information class values used by the NT DDK and HAL.
*/
typedef enum _FILE_INFORMATION_CLASS {
FileDirectoryInformation = 1,
FileFullDirectoryInformation, /* 2 */
--- 189,223 ----
#define FILE_RESERVE_OPFILTER 0x00100000
#define FILE_RESERVED0 0x00200000
#define FILE_RESERVED1 0x00400000
#define FILE_RESERVED2 0x00800000
! #define FILE_VALID_OPTION_FLAGS 0x00ffffff
#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
#define FILE_VALID_SET_FLAGS 0x00000036
/*
+ * "Granular" oplock flags; [MS-FSA], WinDDK/ntifs.h
+ * Same as smb2.h SMB2_LEASE_...
+ */
+ #define OPLOCK_LEVEL_CACHE_READ 0x01
+ #define OPLOCK_LEVEL_CACHE_HANDLE 0x02
+ #define OPLOCK_LEVEL_CACHE_WRITE 0x04
+ #define OPLOCK_LEVEL_CACHE_MASK 0x07
+
+ /*
+ * [MS-FSA] oplock types (also "levels")
+ */
+ #define OPLOCK_LEVEL_NONE 0
+ #define OPLOCK_LEVEL_TWO 0x100
+ #define OPLOCK_LEVEL_ONE 0x200
+ #define OPLOCK_LEVEL_BATCH 0x400
+ #define OPLOCK_LEVEL_GRANULAR 0x800
+ #define OPLOCK_LEVEL_TYPE_MASK 0xf00
+
+ /*
* Define the file information class values used by the NT DDK and HAL.
*/
typedef enum _FILE_INFORMATION_CLASS {
FileDirectoryInformation = 1,
FileFullDirectoryInformation, /* 2 */
*** 266,276 ****
FileFsDeviceInformation, /* 4 */
FileFsAttributeInformation, /* 5 */
FileFsControlInformation, /* 6 */
FileFsFullSizeInformation, /* 7 */
FileFsObjectIdInformation, /* 8 */
! FileFsDriverPathInformation /* 9 */
} FILE_FS_INFORMATION_CLASS;
/*
* Discretionary Access Control List (DACL)
*
--- 286,298 ----
FileFsDeviceInformation, /* 4 */
FileFsAttributeInformation, /* 5 */
FileFsControlInformation, /* 6 */
FileFsFullSizeInformation, /* 7 */
FileFsObjectIdInformation, /* 8 */
! FileFsDriverPathInformation, /* 9 */
! FileFsVolumeFlagsInformation, /* A */
! FileFsSectorSizeInformation /* B */
} FILE_FS_INFORMATION_CLASS;
/*
* Discretionary Access Control List (DACL)
*