diff options
author | James Morris <jmorris@namei.org> | 2011-03-08 00:55:06 +0100 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2011-03-08 00:55:06 +0100 |
commit | 1cc26bada9f6807814806db2f0d78792eecdac71 (patch) | |
tree | 5509b5139db04af6c13db0a580c84116a4a54039 /fs/minix | |
parent | TOMOYO: Fix memory leak upon file open. (diff) | |
parent | Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/ker... (diff) | |
download | linux-1cc26bada9f6807814806db2f0d78792eecdac71.tar.xz linux-1cc26bada9f6807814806db2f0d78792eecdac71.zip |
Merge branch 'master'; commit 'v2.6.38-rc7' into next
Diffstat (limited to 'fs/minix')
-rw-r--r-- | fs/minix/namei.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/minix/namei.c b/fs/minix/namei.c index 1b9e07728a9f..6e6777f1b4b2 100644 --- a/fs/minix/namei.c +++ b/fs/minix/namei.c @@ -23,8 +23,6 @@ static struct dentry *minix_lookup(struct inode * dir, struct dentry *dentry, st struct inode * inode = NULL; ino_t ino; - d_set_d_op(dentry, dir->i_sb->s_root->d_op); - if (dentry->d_name.len > minix_sb(dir->i_sb)->s_namelen) return ERR_PTR(-ENAMETOOLONG); @@ -215,7 +213,6 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, new_de = minix_find_entry(new_dentry, &new_page); if (!new_de) goto out_dir; - inode_inc_link_count(old_inode); minix_set_link(new_de, new_page, old_inode); new_inode->i_ctime = CURRENT_TIME_SEC; if (dir_de) @@ -227,18 +224,15 @@ static int minix_rename(struct inode * old_dir, struct dentry *old_dentry, if (new_dir->i_nlink >= info->s_link_max) goto out_dir; } - inode_inc_link_count(old_inode); err = minix_add_link(new_dentry, old_inode); - if (err) { - inode_dec_link_count(old_inode); + if (err) goto out_dir; - } if (dir_de) inode_inc_link_count(new_dir); } minix_delete_entry(old_de, old_page); - inode_dec_link_count(old_inode); + mark_inode_dirty(old_inode); if (dir_de) { minix_set_link(dir_de, dir_page, new_dir); |