git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r6040: add helpers to allocate and free the Tx/Rx buffers
[safe/jmp/linux-2.6]
/
fs
/
cifs
/
readdir.c
diff --git
a/fs/cifs/readdir.c
b/fs/cifs/readdir.c
index
b5a9bff
..
0f22def
100644
(file)
--- a/
fs/cifs/readdir.c
+++ b/
fs/cifs/readdir.c
@@
-121,7
+121,7
@@
static void AdjustForTZ(struct cifsTconInfo *tcon, struct inode *inode)
static void fill_in_inode(struct inode *tmp_inode, int new_buf_type,
static void fill_in_inode(struct inode *tmp_inode, int new_buf_type,
- char *buf, int *pobject_type, int isNewInode)
+ char *buf,
unsigned
int *pobject_type, int isNewInode)
{
loff_t local_size;
struct timespec local_mtime;
{
loff_t local_size;
struct timespec local_mtime;
@@
-171,7
+171,13
@@
static void fill_in_inode(struct inode *tmp_inode, int new_buf_type,
/* Linux can not store file creation time unfortunately so ignore it */
cifsInfo->cifsAttrs = attr;
/* Linux can not store file creation time unfortunately so ignore it */
cifsInfo->cifsAttrs = attr;
- cifsInfo->time = jiffies;
+#ifdef CONFIG_CIFS_EXPERIMENTAL
+ if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
+ /* get more accurate mode via ACL - so force inode refresh */
+ cifsInfo->time = 0;
+ } else
+#endif /* CONFIG_CIFS_EXPERIMENTAL */
+ cifsInfo->time = jiffies;
/* treat dos attribute of read-only as read-only mode bit e.g. 555? */
/* 2767 perms - indicate mandatory locking */
/* treat dos attribute of read-only as read-only mode bit e.g. 555? */
/* 2767 perms - indicate mandatory locking */
@@
-294,7
+300,7
@@
static void fill_in_inode(struct inode *tmp_inode, int new_buf_type,
}
static void unix_fill_in_inode(struct inode *tmp_inode,
}
static void unix_fill_in_inode(struct inode *tmp_inode,
- FILE_UNIX_INFO *pfindData, int *pobject_type, int isNewInode)
+ FILE_UNIX_INFO *pfindData,
unsigned
int *pobject_type, int isNewInode)
{
loff_t local_size;
struct timespec local_mtime;
{
loff_t local_size;
struct timespec local_mtime;
@@
-495,7
+501,7
@@
ffirst_retry:
static int cifs_unicode_bytelen(char *str)
{
int len;
static int cifs_unicode_bytelen(char *str)
{
int len;
- __le16 *
ustr = (__le16 *)str;
+ __le16 *ustr = (__le16 *)str;
for (len = 0; len <= PATH_MAX; len++) {
if (ustr[len] == 0)
for (len = 0; len <= PATH_MAX; len++) {
if (ustr[len] == 0)
@@
-826,7
+832,7
@@
static int cifs_filldir(char *pfindEntry, struct file *file,
int rc = 0;
struct qstr qstring;
struct cifsFileInfo *pCifsF;
int rc = 0;
struct qstr qstring;
struct cifsFileInfo *pCifsF;
- unsigned obj_type;
+ unsigned
int
obj_type;
ino_t inum;
struct cifs_sb_info *cifs_sb;
struct inode *tmp_inode;
ino_t inum;
struct cifs_sb_info *cifs_sb;
struct inode *tmp_inode;