mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
[CIFS] Remove unnecessary checks
file->f_path.dentry or file->f_path.dentry.d_inode can't be NULL since at least ten years, similar for all but very few arguments passed in from the VFS. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
2e175a9004
commit
c33f8d3274
3 changed files with 6 additions and 53 deletions
|
@ -529,8 +529,7 @@ static loff_t cifs_llseek(struct file *file, loff_t offset, int origin)
|
|||
/* some applications poll for the file length in this strange
|
||||
way so we must seek to end on non-oplocked files by
|
||||
setting the revalidate time to zero */
|
||||
if(file->f_path.dentry->d_inode)
|
||||
CIFS_I(file->f_path.dentry->d_inode)->time = 0;
|
||||
CIFS_I(file->f_path.dentry->d_inode)->time = 0;
|
||||
|
||||
retval = cifs_revalidate(file->f_path.dentry);
|
||||
if (retval < 0)
|
||||
|
|
|
@ -792,12 +792,7 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data,
|
|||
int xid, long_op;
|
||||
struct cifsFileInfo *open_file;
|
||||
|
||||
if (file->f_path.dentry == NULL)
|
||||
return -EBADF;
|
||||
|
||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||
if (cifs_sb == NULL)
|
||||
return -EBADF;
|
||||
|
||||
pTcon = cifs_sb->tcon;
|
||||
|
||||
|
@ -807,14 +802,9 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data,
|
|||
|
||||
if (file->private_data == NULL)
|
||||
return -EBADF;
|
||||
else
|
||||
open_file = (struct cifsFileInfo *) file->private_data;
|
||||
open_file = (struct cifsFileInfo *) file->private_data;
|
||||
|
||||
xid = GetXid();
|
||||
if (file->f_path.dentry->d_inode == NULL) {
|
||||
FreeXid(xid);
|
||||
return -EBADF;
|
||||
}
|
||||
|
||||
if (*poffset > file->f_path.dentry->d_inode->i_size)
|
||||
long_op = 2; /* writes past end of file can take a long time */
|
||||
|
@ -908,12 +898,7 @@ static ssize_t cifs_write(struct file *file, const char *write_data,
|
|||
int xid, long_op;
|
||||
struct cifsFileInfo *open_file;
|
||||
|
||||
if (file->f_path.dentry == NULL)
|
||||
return -EBADF;
|
||||
|
||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||
if (cifs_sb == NULL)
|
||||
return -EBADF;
|
||||
|
||||
pTcon = cifs_sb->tcon;
|
||||
|
||||
|
@ -922,14 +907,9 @@ static ssize_t cifs_write(struct file *file, const char *write_data,
|
|||
|
||||
if (file->private_data == NULL)
|
||||
return -EBADF;
|
||||
else
|
||||
open_file = (struct cifsFileInfo *)file->private_data;
|
||||
open_file = (struct cifsFileInfo *)file->private_data;
|
||||
|
||||
xid = GetXid();
|
||||
if (file->f_path.dentry->d_inode == NULL) {
|
||||
FreeXid(xid);
|
||||
return -EBADF;
|
||||
}
|
||||
|
||||
if (*poffset > file->f_path.dentry->d_inode->i_size)
|
||||
long_op = 2; /* writes past end of file can take a long time */
|
||||
|
@ -957,11 +937,6 @@ static ssize_t cifs_write(struct file *file, const char *write_data,
|
|||
return -EBADF;
|
||||
}
|
||||
if (open_file->invalidHandle) {
|
||||
if ((file->f_path.dentry == NULL) ||
|
||||
(file->f_path.dentry->d_inode == NULL)) {
|
||||
FreeXid(xid);
|
||||
return total_written;
|
||||
}
|
||||
/* we could deadlock if we called
|
||||
filemap_fdatawait from here so tell
|
||||
reopen_file not to flush data to
|
||||
|
|
|
@ -444,9 +444,6 @@ static int initiate_cifs_search(const int xid, struct file *file)
|
|||
cifsFile->invalidHandle = TRUE;
|
||||
cifsFile->srch_inf.endOfSearch = FALSE;
|
||||
|
||||
if(file->f_path.dentry == NULL)
|
||||
return -ENOENT;
|
||||
|
||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||
if(cifs_sb == NULL)
|
||||
return -EINVAL;
|
||||
|
@ -618,20 +615,10 @@ static int cifs_entry_is_dot(char *current_entry, struct cifsFileInfo *cfile)
|
|||
whether we can use the cached search results from the previous search */
|
||||
static int is_dir_changed(struct file * file)
|
||||
{
|
||||
struct inode * inode;
|
||||
struct cifsInodeInfo *cifsInfo;
|
||||
struct inode *inode = file->f_path.dentry->d_inode;
|
||||
struct cifsInodeInfo *cifsInfo = CIFS_I(inode);
|
||||
|
||||
if(file->f_path.dentry == NULL)
|
||||
return 0;
|
||||
|
||||
inode = file->f_path.dentry->d_inode;
|
||||
|
||||
if(inode == NULL)
|
||||
return 0;
|
||||
|
||||
cifsInfo = CIFS_I(inode);
|
||||
|
||||
if(cifsInfo->time == 0)
|
||||
if (cifsInfo->time == 0)
|
||||
return 1; /* directory was changed, perhaps due to unlink */
|
||||
else
|
||||
return 0;
|
||||
|
@ -851,9 +838,6 @@ static int cifs_filldir(char *pfindEntry, struct file *file,
|
|||
if((scratch_buf == NULL) || (pfindEntry == NULL) || (pCifsF == NULL))
|
||||
return -ENOENT;
|
||||
|
||||
if(file->f_path.dentry == NULL)
|
||||
return -ENOENT;
|
||||
|
||||
rc = cifs_entry_is_dot(pfindEntry,pCifsF);
|
||||
/* skip . and .. since we added them first */
|
||||
if(rc != 0)
|
||||
|
@ -997,11 +981,6 @@ int cifs_readdir(struct file *file, void *direntry, filldir_t filldir)
|
|||
|
||||
xid = GetXid();
|
||||
|
||||
if(file->f_path.dentry == NULL) {
|
||||
FreeXid(xid);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||
pTcon = cifs_sb->tcon;
|
||||
if(pTcon == NULL)
|
||||
|
|
Loading…
Reference in a new issue