diff options
Diffstat (limited to 'fs/hfs/dir.c')
-rw-r--r-- | fs/hfs/dir.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c index 145566851e7a..eb2bbca945c5 100644 --- a/fs/hfs/dir.c +++ b/fs/hfs/dir.c | |||
@@ -253,7 +253,7 @@ static int hfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) | |||
253 | */ | 253 | */ |
254 | static int hfs_remove(struct inode *dir, struct dentry *dentry) | 254 | static int hfs_remove(struct inode *dir, struct dentry *dentry) |
255 | { | 255 | { |
256 | struct inode *inode = dentry->d_inode; | 256 | struct inode *inode = d_inode(dentry); |
257 | int res; | 257 | int res; |
258 | 258 | ||
259 | if (S_ISDIR(inode->i_mode) && inode->i_size != 2) | 259 | if (S_ISDIR(inode->i_mode) && inode->i_size != 2) |
@@ -285,18 +285,18 @@ static int hfs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
285 | int res; | 285 | int res; |
286 | 286 | ||
287 | /* Unlink destination if it already exists */ | 287 | /* Unlink destination if it already exists */ |
288 | if (new_dentry->d_inode) { | 288 | if (d_really_is_positive(new_dentry)) { |
289 | res = hfs_remove(new_dir, new_dentry); | 289 | res = hfs_remove(new_dir, new_dentry); |
290 | if (res) | 290 | if (res) |
291 | return res; | 291 | return res; |
292 | } | 292 | } |
293 | 293 | ||
294 | res = hfs_cat_move(old_dentry->d_inode->i_ino, | 294 | res = hfs_cat_move(d_inode(old_dentry)->i_ino, |
295 | old_dir, &old_dentry->d_name, | 295 | old_dir, &old_dentry->d_name, |
296 | new_dir, &new_dentry->d_name); | 296 | new_dir, &new_dentry->d_name); |
297 | if (!res) | 297 | if (!res) |
298 | hfs_cat_build_key(old_dir->i_sb, | 298 | hfs_cat_build_key(old_dir->i_sb, |
299 | (btree_key *)&HFS_I(old_dentry->d_inode)->cat_key, | 299 | (btree_key *)&HFS_I(d_inode(old_dentry))->cat_key, |
300 | new_dir->i_ino, &new_dentry->d_name); | 300 | new_dir->i_ino, &new_dentry->d_name); |
301 | return res; | 301 | return res; |
302 | } | 302 | } |