*
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id: nodelist.c,v 1.107 2005/08/03 09:26:46 dedekind Exp $
+ * $Id: nodelist.c,v 1.108 2005/08/04 11:39:59 dedekind Exp $
  *
  */
 
 
        /* Calculate how many bytes were already checked */
        ofs = ref_offset(ref) + sizeof(struct jffs2_raw_inode);
-       len = ofs - (ofs & (PAGE_CACHE_SIZE - 1));
+       len = ofs & (c->wbuf_pagesize - 1);
        len = c->wbuf_pagesize - len;
 
        if (len >= tn->csize) {
 
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id: readinode.c,v 1.137 2005/08/03 09:26:46 dedekind Exp $
+ * $Id: readinode.c,v 1.138 2005/08/03 09:28:06 dedekind Exp $
  *
  */
 
 
                        /* If we actually calculated the whole data CRC
                         * and it is wrong, drop the node. */
-                       if (len == csize && unlikely(tn->partial_crc != je32_to_cpu(rd->data_crc))) {
+                       if (len >= csize && unlikely(tn->partial_crc != je32_to_cpu(rd->data_crc))) {
                                JFFS2_NOTICE("wrong data CRC in data node at 0x%08x: read %#08x, calculated %#08x.\n",
                                        ref_offset(ref), tn->partial_crc, je32_to_cpu(rd->data_crc));
                                goto free_out;