mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +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
|
/* some applications poll for the file length in this strange
|
||||||
way so we must seek to end on non-oplocked files by
|
way so we must seek to end on non-oplocked files by
|
||||||
setting the revalidate time to zero */
|
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);
|
retval = cifs_revalidate(file->f_path.dentry);
|
||||||
if (retval < 0)
|
if (retval < 0)
|
||||||
|
|
|
@ -792,12 +792,7 @@ ssize_t cifs_user_write(struct file *file, const char __user *write_data,
|
||||||
int xid, long_op;
|
int xid, long_op;
|
||||||
struct cifsFileInfo *open_file;
|
struct cifsFileInfo *open_file;
|
||||||
|
|
||||||
if (file->f_path.dentry == NULL)
|
|
||||||
return -EBADF;
|
|
||||||
|
|
||||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||||
if (cifs_sb == NULL)
|
|
||||||
return -EBADF;
|
|
||||||
|
|
||||||
pTcon = cifs_sb->tcon;
|
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)
|
if (file->private_data == NULL)
|
||||||
return -EBADF;
|
return -EBADF;
|
||||||
else
|
open_file = (struct cifsFileInfo *) file->private_data;
|
||||||
open_file = (struct cifsFileInfo *) file->private_data;
|
|
||||||
|
|
||||||
xid = GetXid();
|
xid = GetXid();
|
||||||
if (file->f_path.dentry->d_inode == NULL) {
|
|
||||||
FreeXid(xid);
|
|
||||||
return -EBADF;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (*poffset > file->f_path.dentry->d_inode->i_size)
|
if (*poffset > file->f_path.dentry->d_inode->i_size)
|
||||||
long_op = 2; /* writes past end of file can take a long time */
|
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;
|
int xid, long_op;
|
||||||
struct cifsFileInfo *open_file;
|
struct cifsFileInfo *open_file;
|
||||||
|
|
||||||
if (file->f_path.dentry == NULL)
|
|
||||||
return -EBADF;
|
|
||||||
|
|
||||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||||
if (cifs_sb == NULL)
|
|
||||||
return -EBADF;
|
|
||||||
|
|
||||||
pTcon = cifs_sb->tcon;
|
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)
|
if (file->private_data == NULL)
|
||||||
return -EBADF;
|
return -EBADF;
|
||||||
else
|
open_file = (struct cifsFileInfo *)file->private_data;
|
||||||
open_file = (struct cifsFileInfo *)file->private_data;
|
|
||||||
|
|
||||||
xid = GetXid();
|
xid = GetXid();
|
||||||
if (file->f_path.dentry->d_inode == NULL) {
|
|
||||||
FreeXid(xid);
|
|
||||||
return -EBADF;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (*poffset > file->f_path.dentry->d_inode->i_size)
|
if (*poffset > file->f_path.dentry->d_inode->i_size)
|
||||||
long_op = 2; /* writes past end of file can take a long time */
|
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;
|
return -EBADF;
|
||||||
}
|
}
|
||||||
if (open_file->invalidHandle) {
|
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
|
/* we could deadlock if we called
|
||||||
filemap_fdatawait from here so tell
|
filemap_fdatawait from here so tell
|
||||||
reopen_file not to flush data to
|
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->invalidHandle = TRUE;
|
||||||
cifsFile->srch_inf.endOfSearch = FALSE;
|
cifsFile->srch_inf.endOfSearch = FALSE;
|
||||||
|
|
||||||
if(file->f_path.dentry == NULL)
|
|
||||||
return -ENOENT;
|
|
||||||
|
|
||||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||||
if(cifs_sb == NULL)
|
if(cifs_sb == NULL)
|
||||||
return -EINVAL;
|
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 */
|
whether we can use the cached search results from the previous search */
|
||||||
static int is_dir_changed(struct file * file)
|
static int is_dir_changed(struct file * file)
|
||||||
{
|
{
|
||||||
struct inode * inode;
|
struct inode *inode = file->f_path.dentry->d_inode;
|
||||||
struct cifsInodeInfo *cifsInfo;
|
struct cifsInodeInfo *cifsInfo = CIFS_I(inode);
|
||||||
|
|
||||||
if(file->f_path.dentry == NULL)
|
if (cifsInfo->time == 0)
|
||||||
return 0;
|
|
||||||
|
|
||||||
inode = file->f_path.dentry->d_inode;
|
|
||||||
|
|
||||||
if(inode == NULL)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
cifsInfo = CIFS_I(inode);
|
|
||||||
|
|
||||||
if(cifsInfo->time == 0)
|
|
||||||
return 1; /* directory was changed, perhaps due to unlink */
|
return 1; /* directory was changed, perhaps due to unlink */
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -851,9 +838,6 @@ static int cifs_filldir(char *pfindEntry, struct file *file,
|
||||||
if((scratch_buf == NULL) || (pfindEntry == NULL) || (pCifsF == NULL))
|
if((scratch_buf == NULL) || (pfindEntry == NULL) || (pCifsF == NULL))
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
||||||
if(file->f_path.dentry == NULL)
|
|
||||||
return -ENOENT;
|
|
||||||
|
|
||||||
rc = cifs_entry_is_dot(pfindEntry,pCifsF);
|
rc = cifs_entry_is_dot(pfindEntry,pCifsF);
|
||||||
/* skip . and .. since we added them first */
|
/* skip . and .. since we added them first */
|
||||||
if(rc != 0)
|
if(rc != 0)
|
||||||
|
@ -997,11 +981,6 @@ int cifs_readdir(struct file *file, void *direntry, filldir_t filldir)
|
||||||
|
|
||||||
xid = GetXid();
|
xid = GetXid();
|
||||||
|
|
||||||
if(file->f_path.dentry == NULL) {
|
|
||||||
FreeXid(xid);
|
|
||||||
return -EIO;
|
|
||||||
}
|
|
||||||
|
|
||||||
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
cifs_sb = CIFS_SB(file->f_path.dentry->d_sb);
|
||||||
pTcon = cifs_sb->tcon;
|
pTcon = cifs_sb->tcon;
|
||||||
if(pTcon == NULL)
|
if(pTcon == NULL)
|
||||||
|
|
Loading…
Reference in a new issue