|
@@ -137,6 +137,16 @@ cifs_fill_common_info(struct cifs_fattr *fattr, struct cifs_sb_info *cifs_sb)
|
|
|
if (fattr->cf_cifsattrs & ATTR_READONLY)
|
|
|
fattr->cf_mode &= ~S_IWUGO;
|
|
|
|
|
|
+ /*
|
|
|
+ * We of course don't get ACL info in FIND_FIRST/NEXT results, so
|
|
|
+ * mark it for revalidation so that "ls -l" will look right. It might
|
|
|
+ * be super-slow, but if we don't do this then the ownership of files
|
|
|
+ * may look wrong since the inodes may not have timed out by the time
|
|
|
+ * "ls" does a stat() call on them.
|
|
|
+ */
|
|
|
+ if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL)
|
|
|
+ fattr->cf_flags |= CIFS_FATTR_NEED_REVAL;
|
|
|
+
|
|
|
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL &&
|
|
|
fattr->cf_cifsattrs & ATTR_SYSTEM) {
|
|
|
if (fattr->cf_eof == 0) {
|