]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: fix fill_trace comments
authorSage Weil <sage@newdream.net>
Wed, 1 Apr 2009 16:16:02 +0000 (09:16 -0700)
committerSage Weil <sage@newdream.net>
Wed, 1 Apr 2009 19:39:52 +0000 (12:39 -0700)
src/TODO
src/kernel/inode.c

index 2f55a4b82f3c212d7f0983d7b8be197603fb12b1..764735e6f952c9030197bd802c2eccaa4496c303 100644 (file)
--- a/src/TODO
+++ b/src/TODO
@@ -51,7 +51,6 @@ kclient caps
 - cap (release) reservations
 - size limit on readdir result, partial dirfrag readdir
 - revisit unmount
-- fix up fill_trace and other comments
 /- make request paths relative to a non-snapshotted inode.
 
 
index 7a0d66b7888b29dc304fc7d7d8c682f2643ed6bd..ba94d9f5ed3a6ab2595ad8adbd0c53ca65a6ab23 100644 (file)
@@ -761,17 +761,9 @@ out:
 }
 
 /*
- * Assimilate a full trace of inodes and dentries, from the root to
- * the item relevant for this reply, into our cache.  Make any dcache
- * changes needed to properly reflect the completed operation (e.g.,
- * call d_move).  Make note of the distribution of metadata across the
- * mds cluster.
- *
- * Care is taken to (attempt to) take i_mutex before adjusting dentry
- * linkages or leases.
- *
- * FIXME: we should check inode.version to avoid races between traces
- * from multiple MDSs after, say, a ancestor directory is renamed.
+ * Incorporate results into the local cache.  This is either just
+ * one inode, or a directory, dentry, and possibly linked-to inode (e.g.,
+ * after a lookup).
  *
  * Called with snap_rwsem (read).
  */
@@ -823,7 +815,7 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req,
 #endif
 
        if (!rinfo->head->is_target && !rinfo->head->is_dentry) {
-               dout(10, "fill_trace reply has empty trace!\n");
+               dout(10, "fill_trace reply is empty!\n");
                if (rinfo->head->result == 0 && req->r_locked_dir) {
                        struct ceph_inode_info *ci =
                                ceph_inode(req->r_locked_dir);
@@ -834,9 +826,6 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req,
                return 0;
        }
 
-       /*
-        * update a dentry?
-        */
        if (rinfo->head->is_dentry) {
                /*
                 * lookup link rename   : null -> possibly existing inode
@@ -948,7 +937,6 @@ int ceph_fill_trace(struct super_block *sb, struct ceph_mds_request *req,
                i++;
        }
 
-       /* update any additional inodes */
        if (rinfo->head->is_target) {
                vino.ino = le64_to_cpu(rinfo->targeti.in->ino);
                vino.snap = le64_to_cpu(rinfo->targeti.in->snapid);