|
@@ -724,9 +724,14 @@ cifs_find_inode(struct inode *inode, void *opaque)
|
|
|
{
|
|
|
struct cifs_fattr *fattr = (struct cifs_fattr *) opaque;
|
|
|
|
|
|
+ /* don't match inode with different uniqueid */
|
|
|
if (CIFS_I(inode)->uniqueid != fattr->cf_uniqueid)
|
|
|
return 0;
|
|
|
|
|
|
+ /* don't match inode of different type */
|
|
|
+ if ((inode->i_mode & S_IFMT) != (fattr->cf_mode & S_IFMT))
|
|
|
+ return 0;
|
|
|
+
|
|
|
/*
|
|
|
* uh oh -- it's a directory. We can't use it since hardlinked dirs are
|
|
|
* verboten. Disable serverino and return it as if it were found, the
|