vserver 1.9.5.x5
[linux-2.6.git] / fs / hfs / dir.c
index 6106ab6..ff77bd8 100644 (file)
@@ -248,7 +248,7 @@ int hfs_unlink(struct inode *dir, struct dentry *dentry)
 
        inode->i_nlink--;
        hfs_delete_inode(inode);
-       inode->i_ctime = CURRENT_TIME;
+       inode->i_ctime = CURRENT_TIME_SEC;
        mark_inode_dirty(inode);
 
        return res;
@@ -274,7 +274,7 @@ int hfs_rmdir(struct inode *dir, struct dentry *dentry)
        if (res)
                return res;
        inode->i_nlink = 0;
-       inode->i_ctime = CURRENT_TIME;
+       inode->i_ctime = CURRENT_TIME_SEC;
        hfs_delete_inode(inode);
        mark_inode_dirty(inode);
        return 0;
@@ -306,6 +306,9 @@ int hfs_rename(struct inode *old_dir, struct dentry *old_dentry,
        res = hfs_cat_move(old_dentry->d_inode->i_ino,
                           old_dir, &old_dentry->d_name,
                           new_dir, &new_dentry->d_name);
+       if (!res)
+               hfs_cat_build_key((btree_key *)&HFS_I(old_dentry->d_inode)->cat_key,
+                                 new_dir->i_ino, &new_dentry->d_name);
        return res;
 }