Эх сурвалжийг харах

[PATCH] Fix error handling in reiserfs

Initialize key object ID in inode so that we don't try to remove the inode
when we fail on some checks even before we manage to allocate something.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jan Kara 20 жил өмнө
parent
commit
1b0a74d1c0

+ 3 - 0
fs/reiserfs/namei.c

@@ -593,6 +593,9 @@ static int new_inode_init(struct inode *inode, struct inode *dir, int mode)
 	 */
 	 */
 	inode->i_uid = current->fsuid;
 	inode->i_uid = current->fsuid;
 	inode->i_mode = mode;
 	inode->i_mode = mode;
+	/* Make inode invalid - just in case we are going to drop it before
+	 * the initialization happens */
+	INODE_PKEY(inode)->k_objectid = 0;
 
 
 	if (dir->i_mode & S_ISGID) {
 	if (dir->i_mode & S_ISGID) {
 		inode->i_gid = dir->i_gid;
 		inode->i_gid = dir->i_gid;