]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: d_revalidate simpler. no inode validation yet.
authorSage Weil <sage@newdream.net>
Wed, 26 Mar 2008 22:41:18 +0000 (15:41 -0700)
committerSage Weil <sage@newdream.net>
Wed, 26 Mar 2008 22:41:18 +0000 (15:41 -0700)
src/kernel/dir.c
src/kernel/inode.c
src/kernel/super.h

index d906fd5548ee247e26cbcb66545dcc7496d50e8b..965bb8cd11028bf97c18d81331ba0a9a461c8fb7 100644 (file)
@@ -564,19 +564,12 @@ ceph_dir_create(struct inode *dir, struct dentry *dentry, int mode,
 
 static int ceph_d_revalidate(struct dentry *dentry, struct nameidata *nd)
 {
-       dout(20, "ceph_d_revalidate\n");
-       if (dentry->d_inode) {
-               if (ceph_inode_revalidate(dentry)) {
-                       dout(20, "ceph_d_revalidate (invalid entry)\n");
-                       return 0;
-               }
-       } else {
-               if (!ceph_lookup_cache ||
-                   time_after(jiffies, dentry->d_time+CACHE_HZ)) {
-                       d_drop(dentry);
-                       return 0;
-               }
+       if (time_after(jiffies, dentry->d_time+CACHE_HZ)) {
+               dout(20, "d_revalidate - dentry %p expired\n", dentry);
+               d_drop(dentry);
+               return 0;
        }
+       dout(20, "d_revalidate - dentry %p ok\n", dentry);
        return 1;
 }
 
index 486c373fa3b8620890e2a07dd98d550e501be513..6d3560516baa26642858bc6e155ac9eb33d4d946 100644 (file)
@@ -150,7 +150,6 @@ int ceph_fill_inode(struct inode *inode, struct ceph_mds_reply_inode *info)
                return -EINVAL;
        }
 
-       ci->time = jiffies;
        return 0;
 }
 
@@ -759,6 +758,7 @@ int ceph_setattr(struct dentry *dentry, struct iattr *attr)
        return 0;
 }
 
+/*
 int ceph_inode_revalidate(struct dentry *dentry)
 {
        struct ceph_inode_info *ci;
@@ -776,13 +776,14 @@ int ceph_inode_revalidate(struct dentry *dentry)
        dout(10, "revalidate %p is old\n", dentry);
        return ceph_do_lookup(dentry->d_inode->i_sb, dentry);
 }
+*/
 
 int ceph_inode_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat)
 {
-       int err;
+       int err = 0;
        dout(30, "ceph_inode_getattr\n");
 
-       err = ceph_inode_revalidate(dentry);
+       //err = ceph_inode_revalidate(dentry);
 
        dout(30, "ceph_inode_getattr returned %d\n", err);
        if (!err) 
index 6b4b1cba327853c33147f90a16bd64de2fb4589b..bbf844a04f5f2ac8f0ac80c0a3127e4e707ee473 100644 (file)
@@ -163,8 +163,6 @@ struct ceph_inode_info {
 
        unsigned long i_hashval;
 
-       unsigned long time;
-
        struct inode vfs_inode; /* at end */
 };