Commit d14537f1 authored by Steve French's avatar Steve French Committed by Linus Torvalds

[PATCH] cifs: remove a few redundant null pointer checks, and cleanup misc source formatting

Mostly suggested by Jesper Juhl

Signed-off-by: Steve French (sfrench@us.ibm.com)
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 6a0b4824
...@@ -284,10 +284,11 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, ...@@ -284,10 +284,11 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
/* mknod case - do not leave file open */ /* mknod case - do not leave file open */
CIFSSMBClose(xid, pTcon, fileHandle); CIFSSMBClose(xid, pTcon, fileHandle);
} else if(newinode) { } else if(newinode) {
pCifsFile = (struct cifsFileInfo *) pCifsFile =
kmalloc(sizeof (struct cifsFileInfo), GFP_KERNEL); kmalloc(sizeof (struct cifsFileInfo), GFP_KERNEL);
if (pCifsFile) { if(pCifsFile == NULL)
goto cifs_create_out;
memset((char *)pCifsFile, 0, memset((char *)pCifsFile, 0,
sizeof (struct cifsFileInfo)); sizeof (struct cifsFileInfo));
pCifsFile->netfid = fileHandle; pCifsFile->netfid = fileHandle;
...@@ -296,8 +297,8 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, ...@@ -296,8 +297,8 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
pCifsFile->invalidHandle = FALSE; pCifsFile->invalidHandle = FALSE;
pCifsFile->closePend = FALSE; pCifsFile->closePend = FALSE;
init_MUTEX(&pCifsFile->fh_sem); init_MUTEX(&pCifsFile->fh_sem);
/* put the following in at open now */ /* set the following in open now
/* pCifsFile->pfile = file; */ pCifsFile->pfile = file; */
write_lock(&GlobalSMBSeslock); write_lock(&GlobalSMBSeslock);
list_add(&pCifsFile->tlist,&pTcon->openFileList); list_add(&pCifsFile->tlist,&pTcon->openFileList);
pCifsInode = CIFS_I(newinode); pCifsInode = CIFS_I(newinode);
...@@ -313,7 +314,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, ...@@ -313,7 +314,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
if((oplock & 0xF) == OPLOCK_EXCLUSIVE) { if((oplock & 0xF) == OPLOCK_EXCLUSIVE) {
pCifsInode->clientCanCacheAll = TRUE; pCifsInode->clientCanCacheAll = TRUE;
pCifsInode->clientCanCacheRead = TRUE; pCifsInode->clientCanCacheRead = TRUE;
cFYI(1,("Exclusive Oplock granted on inode %p", cFYI(1,("Exclusive Oplock for inode %p",
newinode)); newinode));
} else if((oplock & 0xF) == OPLOCK_READ) } else if((oplock & 0xF) == OPLOCK_READ)
pCifsInode->clientCanCacheRead = TRUE; pCifsInode->clientCanCacheRead = TRUE;
...@@ -321,14 +322,10 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, ...@@ -321,14 +322,10 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
write_unlock(&GlobalSMBSeslock); write_unlock(&GlobalSMBSeslock);
} }
} }
} cifs_create_out:
if (buf)
kfree(buf); kfree(buf);
if (full_path)
kfree(full_path); kfree(full_path);
FreeXid(xid); FreeXid(xid);
return rc; return rc;
} }
...@@ -375,10 +372,8 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, dev_t dev ...@@ -375,10 +372,8 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, dev_t dev
} }
} }
if (full_path)
kfree(full_path); kfree(full_path);
FreeXid(xid); FreeXid(xid);
return rc; return rc;
} }
...@@ -447,7 +442,6 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, struct name ...@@ -447,7 +442,6 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, struct name
if file exists or not but no access BB */ if file exists or not but no access BB */
} }
if (full_path)
kfree(full_path); kfree(full_path);
FreeXid(xid); FreeXid(xid);
return ERR_PTR(rc); return ERR_PTR(rc);
...@@ -478,7 +472,6 @@ cifs_dir_open(struct inode *inode, struct file *file) ...@@ -478,7 +472,6 @@ cifs_dir_open(struct inode *inode, struct file *file)
cFYI(1, ("inode = 0x%p and full path is %s", inode, full_path)); cFYI(1, ("inode = 0x%p and full path is %s", inode, full_path));
if (full_path)
kfree(full_path); kfree(full_path);
FreeXid(xid); FreeXid(xid);
return rc; return rc;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#define SUCCESS 0 /* The request was successful. */ #define SUCCESS 0x00 /* The request was successful. */
#define ERRDOS 0x01 /* Error is from the core DOS operating system set */ #define ERRDOS 0x01 /* Error is from the core DOS operating system set */
#define ERRSRV 0x02 /* Error is generated by the file server daemon */ #define ERRSRV 0x02 /* Error is generated by the file server daemon */
#define ERRHRD 0x03 /* Error is a hardware error. */ #define ERRHRD 0x03 /* Error is a hardware error. */
...@@ -30,33 +30,65 @@ ...@@ -30,33 +30,65 @@
/* The following error codes may be generated with the SUCCESS error class.*/ /* The following error codes may be generated with the SUCCESS error class.*/
#define SUCCESS 0 /* The request was successful. */ /*#define SUCCESS 0 The request was successful. */
/* The following error codes may be generated with the ERRDOS error class.*/ /* The following error codes may be generated with the ERRDOS error class.*/
#define ERRbadfunc 1 /* Invalid function. The server did not recognize or could not perform a system call generated by the server, e.g., set the DIRECTORY attribute on a data file, invalid seek mode. */ #define ERRbadfunc 1 /* Invalid function. The server did not
#define ERRbadfile 2 /*File not found. The last component of a file's pathname could not be found. */ recognize or could not perform a
#define ERRbadpath 3 /* Directory invalid. A directory component in a pathname could not be found. */ system call generated by the server,
#define ERRnofids 4 /* Too many open files. The server has no file handles available. */ e.g., set the DIRECTORY attribute on
#define ERRnoaccess 5 /* Access denied, the client's context does not permit the requested function. This includes the following conditions: invalid rename command, write to Fid open for read only, read on Fid open for write only, attempt to delete a non-empty directory */ a data file, invalid seek mode. */
#define ERRbadfid 6 /* Invalid file handle. The file handle specified was not recognized by the server. */ #define ERRbadfile 2 /* File not found. The last component
of a file's pathname could not be
found. */
#define ERRbadpath 3 /* Directory invalid. A directory
component in a pathname could not be
found. */
#define ERRnofids 4 /* Too many open files. The server has
no file handles available. */
#define ERRnoaccess 5 /* Access denied, the client's context
does not permit the requested
function. This includes the
following conditions: invalid rename
command, write to Fid open for read
only, read on Fid open for write
only, attempt to delete a non-empty
directory */
#define ERRbadfid 6 /* Invalid file handle. The file handle
specified was not recognized by the
server. */
#define ERRbadmcb 7 /* Memory control blocks destroyed. */ #define ERRbadmcb 7 /* Memory control blocks destroyed. */
#define ERRnomem 8 /* Insufficient server memory to perform the requested function. */ #define ERRnomem 8 /* Insufficient server memory to
perform the requested function. */
#define ERRbadmem 9 /* Invalid memory block address. */ #define ERRbadmem 9 /* Invalid memory block address. */
#define ERRbadenv 10 /* Invalid environment. */ #define ERRbadenv 10 /* Invalid environment. */
#define ERRbadformat 11 /* Invalid format. */ #define ERRbadformat 11 /* Invalid format. */
#define ERRbadaccess 12 /* Invalid open mode. */ #define ERRbadaccess 12 /* Invalid open mode. */
#define ERRbaddata 13 /* Invalid data (generated only by IOCTL calls within the server). */ #define ERRbaddata 13 /* Invalid data (generated only by
IOCTL calls within the server). */
#define ERRbaddrive 15 /* Invalid drive specified. */ #define ERRbaddrive 15 /* Invalid drive specified. */
#define ERRremcd 16 /* A Delete Directory request attempted to remove the server's current directory. */ #define ERRremcd 16 /* A Delete Directory request attempted
#define ERRdiffdevice 17 /* Not same device (e.g., a cross volume rename was attempted */ to remove the server's current
#define ERRnofiles 18 /* A File Search command can find no more files matching the specified criteria. */ directory. */
#define ERRdiffdevice 17 /* Not same device (e.g., a cross
volume rename was attempted */
#define ERRnofiles 18 /* A File Search command can find no
more files matching the specified
criteria. */
#define ERRgeneral 31 #define ERRgeneral 31
#define ERRbadshare 32 /* The sharing mode specified for an Open conflicts with existing FIDs on the file. */ #define ERRbadshare 32 /* The sharing mode specified for an
#define ERRlock 33 /* A Lock request conflicted with an existing lock or specified an invalid mode, or an Unlock requested attempted to remove a lock held by another process. */ Open conflicts with existing FIDs on
the file. */
#define ERRlock 33 /* A Lock request conflicted with an
existing lock or specified an
invalid mode, or an Unlock requested
attempted to remove a lock held by
another process. */
#define ERRunsup 50 #define ERRunsup 50
#define ERRnosuchshare 67 #define ERRnosuchshare 67
#define ERRfilexists 80 /* The file named in the request already exists. */ #define ERRfilexists 80 /* The file named in the request
already exists. */
#define ERRinvparm 87 #define ERRinvparm 87
#define ERRdiskfull 112 #define ERRdiskfull 112
#define ERRinvname 123 #define ERRinvname 123
...@@ -70,30 +102,55 @@ ...@@ -70,30 +102,55 @@
#define ERRnotconnected 233 #define ERRnotconnected 233
#define ERRmoredata 234 #define ERRmoredata 234
#define ERReasnotsupported 282 #define ERReasnotsupported 282
#define ErrQuota 0x200 /* The operation would cause a quota limit to be exceeded. */ #define ErrQuota 0x200 /* The operation would cause a quota
#define ErrNotALink 0x201 /* A link operation was performed on a pathname that limit to be exceeded. */
was not a link. */ #define ErrNotALink 0x201 /* A link operation was performed on a
pathname that was not a link. */
/* Following error codes may be generated with the ERRSRV error /* Following error codes may be generated with the ERRSRV error class.*/
class.*/
#define ERRerror 1 /* Non-specific error code. It is returned under the following conditions: resource other than disk space exhausted (e.g. TIDs), first SMB command was not negotiate, multiple negotiates attempted, and internal server error. */ #define ERRerror 1 /* Non-specific error code. It is
#define ERRbadpw 2 /* Bad password - name/password pair in a TreeConnect or Session Setup are invalid. */ returned under the following
#define ERRbadtype 3 /* used for indicating DFS referral needed */ conditions: resource other than disk
#define ERRaccess 4 /* The client does not have the necessary access rights within the specified context for requested function. */ space exhausted (e.g. TIDs), first
#define ERRinvtid 5 /* The Tid specified in a command was invalid. */ SMB command was not negotiate,
#define ERRinvnetname 6 /* Invalid network name in tree connect. */ multiple negotiates attempted, and
#define ERRinvdevice 7 /* Invalid device - printer request made to non-printer connection or non-printer request made to printer connection. */ internal server error. */
#define ERRqfull 49 /* Print queue full (files) -- returned by open print file. */ #define ERRbadpw 2 /* Bad password - name/password pair in
a TreeConnect or Session Setup are
invalid. */
#define ERRbadtype 3 /* used for indicating DFS referral
needed */
#define ERRaccess 4 /* The client does not have the
necessary access rights within the
specified context for requested
function. */
#define ERRinvtid 5 /* The Tid specified in a command was
invalid. */
#define ERRinvnetname 6 /* Invalid network name in tree
connect. */
#define ERRinvdevice 7 /* Invalid device - printer request
made to non-printer connection or
non-printer request made to printer
connection. */
#define ERRqfull 49 /* Print queue full (files) -- returned
by open print file. */
#define ERRqtoobig 50 /* Print queue full -- no space. */ #define ERRqtoobig 50 /* Print queue full -- no space. */
#define ERRqeof 51 /* EOF on print queue dump */ #define ERRqeof 51 /* EOF on print queue dump */
#define ERRinvpfid 52 /* Invalid print file FID. */ #define ERRinvpfid 52 /* Invalid print file FID. */
#define ERRsmbcmd 64 /* The server did not recognize the command received. */ #define ERRsmbcmd 64 /* The server did not recognize the
#define ERRsrverror 65 /* The server encountered an internal error, e.g., system file unavailable. */ command received. */
#define ERRsrverror 65 /* The server encountered an internal
error, e.g., system file
unavailable. */
#define ERRbadBID 66 /* (obsolete) */ #define ERRbadBID 66 /* (obsolete) */
#define ERRfilespecs 67 /* The Fid and pathname parameters contained an invalid combination of values. */ #define ERRfilespecs 67 /* The Fid and pathname parameters
contained an invalid combination of
values. */
#define ERRbadLink 68 /* (obsolete) */ #define ERRbadLink 68 /* (obsolete) */
#define ERRbadpermits 69 /* The access permissions specified for a file or directory are not a valid combination. */ #define ERRbadpermits 69 /* The access permissions specified for
a file or directory are not a valid
combination. */
#define ERRbadPID 70 #define ERRbadPID 70
#define ERRsetattrmode 71 /* attribute (mode) is invalid */ #define ERRsetattrmode 71 /* attribute (mode) is invalid */
#define ERRpaused 81 /* Server is paused */ #define ERRpaused 81 /* Server is paused */
...@@ -101,11 +158,15 @@ class.*/ ...@@ -101,11 +158,15 @@ class.*/
#define ERRnoroom 83 /* reserved - no room for message */ #define ERRnoroom 83 /* reserved - no room for message */
#define ERRrmuns 87 /* reserved - too many remote names */ #define ERRrmuns 87 /* reserved - too many remote names */
#define ERRtimeout 88 /* operation timed out */ #define ERRtimeout 88 /* operation timed out */
#define ERRnoresource 89 /* No resources available for request */ #define ERRnoresource 89 /* No resources available for request
#define ERRtoomanyuids 90 /* Too many UIDs active on this session */ */
#define ERRbaduid 91 /* The UID is not known as a valid user */ #define ERRtoomanyuids 90 /* Too many UIDs active on this session
*/
#define ERRbaduid 91 /* The UID is not known as a valid user
*/
#define ERRusempx 250 /* temporarily unable to use raw */ #define ERRusempx 250 /* temporarily unable to use raw */
#define ERRusestd 251 /* temporarily unable to use either raw or mpx */ #define ERRusestd 251 /* temporarily unable to use either raw
or mpx */
#define ERR_NOTIFY_ENUM_DIR 1024 #define ERR_NOTIFY_ENUM_DIR 1024
#define ERRaccountexpired 2239 #define ERRaccountexpired 2239
#define ERRbadclient 2240 #define ERRbadclient 2240
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment