Print this page
NEX-15069 smtorture smb2.create.blob is failed
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-15069 smtorture smb2.create.blob is failed
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
NEX-2666 Nested directory create request inconsistent with Windows behaviour
SMB-115 Support SMB path names with length > 1024
SMB-100 Internal error if filename is too long
Approved by: Gordon Ross <gwr@nexenta.com>
SMB-11 SMB2 message parse & dispatch
SMB-12 SMB2 Negotiate Protocol
SMB-13 SMB2 Session Setup
SMB-14 SMB2 Logoff
SMB-15 SMB2 Tree Connect
SMB-16 SMB2 Tree Disconnect
SMB-17 SMB2 Create
SMB-18 SMB2 Close
SMB-19 SMB2 Flush
SMB-20 SMB2 Read
SMB-21 SMB2 Write
SMB-22 SMB2 Lock/Unlock
SMB-23 SMB2 Ioctl
SMB-24 SMB2 Cancel
SMB-25 SMB2 Echo
SMB-26 SMB2 Query Dir
SMB-27 SMB2 Change Notify
SMB-28 SMB2 Query Info
SMB-29 SMB2 Set Info
SMB-30 SMB2 Oplocks
SMB-53 SMB2 Create Context options
(SMB2 code review cleanup 1, 2, 3)
        
*** 19,29 ****
   * CDDL HEADER END
   */
  
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
   */
  
  /*
   * Translate Unix errno values to NT status, and NT status to
   * DOS-style error class+code (for SMB1)
--- 19,29 ----
   * CDDL HEADER END
   */
  
  /*
   * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
!  * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
   */
  
  /*
   * Translate Unix errno values to NT status, and NT status to
   * DOS-style error class+code (for SMB1)
*** 45,57 ****
  };
  
  static const struct errno2status
  smb_errno2status_map[] = {
          { EPERM,        NT_STATUS_ACCESS_DENIED },
!         { ENOENT,       NT_STATUS_NO_SUCH_FILE },
!         /* NB: ESRCH is used to represent stream lookup failures. */
!         { ESRCH,        NT_STATUS_OBJECT_NAME_NOT_FOUND },
          { EINTR,        NT_STATUS_CANCELLED },
          { EIO,          NT_STATUS_IO_DEVICE_ERROR },
          { ENXIO,        NT_STATUS_BAD_DEVICE_TYPE },
          /* E2BIG, ENOEXEC */
          { EBADF,        NT_STATUS_INVALID_HANDLE },
--- 45,57 ----
  };
  
  static const struct errno2status
  smb_errno2status_map[] = {
          { EPERM,        NT_STATUS_ACCESS_DENIED },
!         { ENOENT,       NT_STATUS_OBJECT_NAME_NOT_FOUND },
!         /* NB: ESRCH is used in rename and stream ops. */
!         { ESRCH,        NT_STATUS_NO_SUCH_FILE },
          { EINTR,        NT_STATUS_CANCELLED },
          { EIO,          NT_STATUS_IO_DEVICE_ERROR },
          { ENXIO,        NT_STATUS_BAD_DEVICE_TYPE },
          /* E2BIG, ENOEXEC */
          { EBADF,        NT_STATUS_INVALID_HANDLE },
*** 60,70 ****
          { EACCES,       NT_STATUS_ACCESS_DENIED },
          /* EFAULT, ENOTBLK, EBUSY */
          { EEXIST,       NT_STATUS_OBJECT_NAME_COLLISION },
          { EXDEV,        NT_STATUS_NOT_SAME_DEVICE },
          { ENODEV,       NT_STATUS_NO_SUCH_DEVICE },
-         /* ENOTDIR should be: NT_STATUS_NOT_A_DIRECTORY, but not yet */
          { ENOTDIR,      NT_STATUS_OBJECT_PATH_NOT_FOUND },
          { EISDIR,       NT_STATUS_FILE_IS_A_DIRECTORY },
          { EINVAL,       NT_STATUS_INVALID_PARAMETER },
          { ENFILE,       NT_STATUS_TOO_MANY_OPENED_FILES },
          { EMFILE,       NT_STATUS_TOO_MANY_OPENED_FILES },
--- 60,69 ----