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) *