1. 03 10月, 2014 1 次提交
    • S
      Fix problem recognizing symlinks · 19e81573
      Steve French 提交于
      Changeset eb85d94b introduced a problem where if a cifs open
      fails during query info of a file we
      will still try to close the file (happens with certain types
      of reparse points) even though the file handle is not valid.
      
      In addition for SMB2/SMB3 we were not mapping the return code returned
      by Windows when trying to open a file (like a Windows NFS symlink)
      which is a reparse point.
      Signed-off-by: NSteve French <smfrench@gmail.com>
      Reviewed-by: NPavel Shilovsky <pshilovsky@samba.org>
      CC: stable <stable@vger.kernel.org> #v3.13+
      19e81573
  2. 18 8月, 2014 1 次提交
  3. 17 8月, 2014 1 次提交
    • P
      CIFS: Fix SMB2 readdir error handling · 52755808
      Pavel Shilovsky 提交于
      SMB2 servers indicates the end of a directory search with
      STATUS_NO_MORE_FILE error code that is not processed now.
      This causes generic/257 xfstest to fail. Fix this by triggering
      the end of search by this error code in SMB2_query_directory.
      
      Also when negotiating CIFS protocol we tell the server to close
      the search automatically at the end and there is no need to do
      it itself. In the case of SMB2 protocol, we need to close it
      explicitly - separate close directory checks for different
      protocols.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NPavel Shilovsky <pshilovsky@samba.org>
      Signed-off-by: NSteve French <smfrench@gmail.com>
      52755808
  4. 02 8月, 2014 1 次提交
  5. 12 11月, 2013 1 次提交
  6. 05 5月, 2013 1 次提交
    • J
      [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg · f96637be
      Joe Perches 提交于
      It's not obvious from reading the macro names that these macros
      are for debugging.  Convert the names to a single more typical
      kernel style cifs_dbg macro.
      
      	cERROR(1, ...)   -> cifs_dbg(VFS, ...)
      	cFYI(1, ...)     -> cifs_dbg(FYI, ...)
      	cFYI(DBG2, ...)  -> cifs_dbg(NOISY, ...)
      
      Move the terminating format newline from the macro to the call site.
      
      Add CONFIG_CIFS_DEBUG function cifs_vfs_err to emit the
      "CIFS VFS: " prefix for VFS messages.
      
      Size is reduced ~ 1% when CONFIG_CIFS_DEBUG is set (default y)
      
      $ size fs/cifs/cifs.ko*
         text    data     bss     dec     hex filename
       265245	   2525	    132	 267902	  4167e	fs/cifs/cifs.ko.new
       268359    2525     132  271016   422a8 fs/cifs/cifs.ko.old
      
      Other miscellaneous changes around these conversions:
      
      o Miscellaneous typo fixes
      o Add terminating \n's to almost all formats and remove them
        from the macros to be more kernel style like.  A few formats
        previously had defective \n's
      o Remove unnecessary OOM messages as kmalloc() calls dump_stack
      o Coalesce formats to make grep easier,
        added missing spaces when coalescing formats
      o Use %s, __func__ instead of embedded function name
      o Removed unnecessary "cifs: " prefixes
      o Convert kzalloc with multiply to kcalloc
      o Remove unused cifswarn macro
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NSteve French <smfrench@gmail.com>
      f96637be
  7. 27 9月, 2012 1 次提交
    • J
      cifs: change DOS/NT/POSIX mapping of ERRnoresource · 4f2b86ab
      Jeff Layton 提交于
      ERRnoresource is an ERRSRV level (aka server-side) error and means "No
      resources currently available for request". Currently that maps to POSIX
      -ENOBUFS. No NT errors map to it currently.
      
      NT_STATUS_INSUFFICIENT_RESOURCES and NT_STATUS_INSUFF_SERVER_RESOURCES
      are also similar in meaning. Currently the client maps those to
      ERRnomem, which maps to -ENOMEM in POSIX.
      
      All of these mappings seem to be quite wrong to me and are confusing for
      users. All of the above errors indicate problems on the server, not the
      client. Reporting -ENOMEM or -ENOBUFS implies that the client is running
      out of resources.
      
      This patch changes those mappings. The NT_* errors are changed to map to
      the SRV level ERRnoresource. That error is in turn changed to return
      -EREMOTEIO which is the only POSIX error I could find that conveys that
      something went wrong on the server. While we're at it, change the SMB2
      equivalent error to return the same.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Acked-by: NSuresh Jayaraman <sjayaraman@suse.com>
      Signed-off-by: NSteve French <smfrench@gmail.com>
      4f2b86ab
  8. 25 9月, 2012 1 次提交
  9. 24 7月, 2012 1 次提交