Skip to content

Commit

Permalink
[CIFS] Fix typo in earlier cifs_unlink change and protect one
Browse files Browse the repository at this point in the history
extra path.

Since cifs_unlink can also be called from rename path and there
was one report of oops am making the extra check for null inode.

Signed-off-by: Steve French <sfrench@us.ibm.com>
  • Loading branch information
Steve French committed Mar 31, 2006
1 parent e9917a0 commit 06bcfed
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions fs/cifs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -565,14 +565,14 @@ int cifs_unlink(struct inode *inode, struct dentry *direntry)
struct cifsInodeInfo *cifsInode;
FILE_BASIC_INFO *pinfo_buf;

cFYI(1, ("cifs_unlink, inode = 0x%p with ", inode));
cFYI(1, ("cifs_unlink, inode = 0x%p", inode));

xid = GetXid();

if(inode)
cifs_sb = CIFS_SB(inode->i_sb);
else
cifs_sb = CIFS_SB(dentry->d_sb);
cifs_sb = CIFS_SB(direntry->d_sb);
pTcon = cifs_sb->tcon;

/* Unlink can be called from rename so we can not grab the sem here
Expand Down Expand Up @@ -695,9 +695,11 @@ int cifs_unlink(struct inode *inode, struct dentry *direntry)
when needed */
direntry->d_inode->i_ctime = current_fs_time(inode->i_sb);
}
inode->i_ctime = inode->i_mtime = current_fs_time(inode->i_sb);
cifsInode = CIFS_I(inode);
cifsInode->time = 0; /* force revalidate of dir as well */
if(inode) {
inode->i_ctime = inode->i_mtime = current_fs_time(inode->i_sb);
cifsInode = CIFS_I(inode);
cifsInode->time = 0; /* force revalidate of dir as well */
}

kfree(full_path);
FreeXid(xid);
Expand Down

0 comments on commit 06bcfed

Please sign in to comment.