diff options
| -rw-r--r-- | fs/cifs/CHANGES | 4 | ||||
| -rw-r--r-- | fs/cifs/inode.c | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 080703a15f44..73ac7ebd1dfc 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
| @@ -5,7 +5,9 @@ rather than posix (advisory) byte range locks, even though server would | |||
| 5 | support posix byte range locks. Fix query of root inode when prefixpath | 5 | support posix byte range locks. Fix query of root inode when prefixpath |
| 6 | specified and user does not have access to query information about the | 6 | specified and user does not have access to query information about the |
| 7 | top of the share. Fix problem in 2.6.28 resolving DFS paths to | 7 | top of the share. Fix problem in 2.6.28 resolving DFS paths to |
| 8 | Samba servers (worked to Windows). | 8 | Samba servers (worked to Windows). Fix rmdir so that pending search |
| 9 | (readdir) requests do not get invalid results which include the now | ||
| 10 | removed directory. | ||
| 9 | 11 | ||
| 10 | Version 1.55 | 12 | Version 1.55 |
| 11 | ------------ | 13 | ------------ |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 5ab9896fdcb2..bcf7b5184664 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
| @@ -1285,6 +1285,11 @@ int cifs_rmdir(struct inode *inode, struct dentry *direntry) | |||
| 1285 | cifsInode = CIFS_I(direntry->d_inode); | 1285 | cifsInode = CIFS_I(direntry->d_inode); |
| 1286 | cifsInode->time = 0; /* force revalidate to go get info when | 1286 | cifsInode->time = 0; /* force revalidate to go get info when |
| 1287 | needed */ | 1287 | needed */ |
| 1288 | |||
| 1289 | cifsInode = CIFS_I(inode); | ||
| 1290 | cifsInode->time = 0; /* force revalidate to get parent dir info | ||
| 1291 | since cached search results now invalid */ | ||
| 1292 | |||
| 1288 | direntry->d_inode->i_ctime = inode->i_ctime = inode->i_mtime = | 1293 | direntry->d_inode->i_ctime = inode->i_ctime = inode->i_mtime = |
| 1289 | current_fs_time(inode->i_sb); | 1294 | current_fs_time(inode->i_sb); |
| 1290 | 1295 | ||
