BUG();
de->inode = cpu_to_le32(inode->i_ino);
ext2_set_de_type (de, inode);
+ dir->i_mtime = dir->i_ctime = CURRENT_TIME;
err = ext2_commit_chunk(page, from, to);
UnlockPage(page);
ext2_put_page(page);
- dir->i_mtime = dir->i_ctime = CURRENT_TIME;
- obdfs_change_inode(dir);
}
/*
goto out_page;
name_len = EXT2_DIR_REC_LEN(de->name_len);
rec_len = le16_to_cpu(de->rec_len);
+ if ( n==npages && rec_len == 0) {
+ printk("Fatal dir behaviour\n");
+ goto out_page;
+ }
if (!de->inode && rec_len >= reclen)
goto got_it;
if (rec_len >= name_len + reclen)
memcpy (de->name, name, namelen);
de->inode = cpu_to_le32(inode->i_ino);
ext2_set_de_type (de, inode);
- err = ext2_commit_chunk(page, from, to);
dir->i_mtime = dir->i_ctime = CURRENT_TIME;
- obdfs_change_inode(dir);
+ err = ext2_commit_chunk(page, from, to);
+
+ // change_inode happens with the commit_chunk
+ // obdfs_change_inode(dir);
/* OFFSET_CACHE */
out_unlock:
UnlockPage(page);
if (pde)
pde->rec_len = cpu_to_le16(to-from);
dir->inode = 0;
+ inode->i_ctime = inode->i_mtime = CURRENT_TIME;
err = ext2_commit_chunk(page, from, to);
UnlockPage(page);
ext2_put_page(page);
- inode->i_ctime = inode->i_mtime = CURRENT_TIME;
- obdfs_change_inode(inode);
return err;
}