提交 c33f8d32 编写于 作者: C Christoph Hellwig 提交者: Steve French

[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: NChristoph Hellwig <hch@lst.de>
Signed-off-by: NSteve French <sfrench@us.ibm.com>
上级 2e175a90
...@@ -529,8 +529,7 @@ static loff_t cifs_llseek(struct file *file, loff_t offset, int origin) ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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) ...@@ -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)
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 */ 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, ...@@ -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) ...@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册