patch-2.4.18 linux/fs/coda/dir.c
Next file: linux/fs/coda/file.c
Previous file: linux/fs/coda/coda_linux.c
Back to the patch index
Back to the overall index
- Lines: 56
- Date:
Mon Feb 4 17:44:52 2002
- Orig file:
linux.orig/fs/coda/dir.c
- Orig date:
Mon Feb 18 20:18:40 2002
diff -Naur -X /home/marcelo/lib/dontdiff linux.orig/fs/coda/dir.c linux/fs/coda/dir.c
@@ -197,7 +197,7 @@
/* optimistically we can also act as if our nose bleeds. The
* granularity of the mtime is coarse anyways so we might actually be
* right most of the time. Note: we only do this for directories. */
- dir->i_mtime = CURRENT_TIME;
+ dir->i_mtime = dir->i_ctime = CURRENT_TIME;
#endif
if (link)
dir->i_nlink += link;
@@ -209,7 +209,7 @@
int error=0;
const char *name=de->d_name.name;
int length=de->d_name.len;
- struct inode *result = NULL;
+ struct inode *inode = NULL;
struct ViceFid newfid;
struct coda_vattr attrs;
@@ -230,16 +230,15 @@
return error;
}
- error = coda_cnode_make(&result, &newfid, dir->i_sb);
- if ( error ) {
+ inode = coda_iget(dir->i_sb, &newfid, &attrs);
+ if ( IS_ERR(inode) ) {
d_drop(de);
- result = NULL;
- return error;
+ return PTR_ERR(inode);
}
/* invalidate the directory cnode's attributes */
coda_dir_changed(dir, 0);
- d_instantiate(de, result);
+ d_instantiate(de, inode);
return 0;
}
@@ -519,6 +518,7 @@
result = vfs_readdir(file, filldir, dirent);
}
+ UPDATE_ATIME(inode);
return result;
}
@@ -657,7 +657,7 @@
goto bad;
cii = ITOC(de->d_inode);
- if (cii->c_flags & (C_PURGE | C_FLUSH))
+ if (!(cii->c_flags & (C_PURGE | C_FLUSH)))
goto out;
shrink_dcache_parent(de);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)