if (namelen > EXT2_NAME_LEN)
return NULL;
- CDEBUG(D_INODE, "dirsize is %ld\n", dir->i_size);
+ CDEBUG(D_INODE, "dirsize is %Ld\n", dir->i_size);
page = 0;
offset = 0;
child->i_op = &obdfs_inode_ops;
- child->i_size = PAGE_SIZE;
child->i_blocks = 0;
child_page = obdfs_getpage(child, 0, 1, LOCKED);
if (!child_page) {
iput (child);
return err;
}
- child->i_blocks = PAGE_SIZE/child->i_sb->s_blocksize;
/* create . and .. */
de = (struct ext2_dir_entry_2 *) page_address(child_page);
ext2_set_de_type(dir->i_sb, de, S_IFDIR);
iops(dir)->o_brw(WRITE, iid(dir), child, child_page, 1);
+ child->i_blocks = PAGE_SIZE/child->i_sb->s_blocksize;
+ child->i_size = PAGE_SIZE;
UnlockPage(child_page);
page_cache_release(child_page);
}
}
if ( old_page != new_page ) {
- unsigned long offset = old_page->offset;
+ unsigned long index = old_page->index;
/* lock the old_page and release unlocked copy */
CDEBUG(D_INODE, "old_page at %p\n", old_page);
page_cache_release(old_page);
- old_page = obdfs_getpage(old_dir, offset, 0, LOCKED);
+ old_page = obdfs_getpage(old_dir, index >> PAGE_SHIFT, 0, LOCKED);
CDEBUG(D_INODE, "old_page at %p\n", old_page);
iops(old_dir)->o_brw(WRITE, iid(old_dir), old_dir, old_page,0);
}