switch (je16_to_cpu(node->u.nodetype)) {
        case JFFS2_NODETYPE_INODE:
+               if (f->metadata && f->metadata->raw == raw) {
+                       dbg_noderef("Will replace ->raw in f->metadata at %p\n", f->metadata);
+                       return &f->metadata->raw;
+               }
                frag = jffs2_lookup_node_frag(&f->fragtree, je32_to_cpu(node->i.offset));
                BUG_ON(!frag);
                /* Find a frag which refers to the full_dnode we want to modify */
                }
                dbg_noderef("Will replace ->raw in full_dnode at %p\n", frag->node);
                return &frag->node->raw;
-               break;
 
        case JFFS2_NODETYPE_DIRENT:
                for (fd = f->dents; fd; fd = fd->next) {
                        }
                }
                BUG();
+
        default:
                dbg_noderef("Don't care about replacing raw for nodetype %x\n",
                            je16_to_cpu(node->u.nodetype));