Messages in this thread Patch in this message | | | Date | Sat, 13 Aug 2005 13:15:34 +0200 | From | Jan Kara <> | Subject | [PATCH] Fix error handling in reiserfs |
| |
Hi,
the patch below fixes oops triggered when user exceeded his inode quota on reiserfs (reiserfs incorrectly thought the inode has been already allocated and tried to free it). Please apply.
Honza
-- Jan Kara <jack@suse.cz> SuSE CR Labs
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>
diff -rupX /home/jack/.kerndiffexclude linux-2.6.13-rc6/fs/reiserfs/namei.c linux-2.6.13-rc6-reiser_create_fix/fs/reiserfs/namei.c --- linux-2.6.13-rc6/fs/reiserfs/namei.c 2005-08-12 10:39:25.000000000 +0200 +++ linux-2.6.13-rc6-reiser_create_fix/fs/reiserfs/namei.c 2005-08-12 10:39:07.000000000 +0200 @@ -593,6 +593,9 @@ static int new_inode_init(struct inode * */ inode->i_uid = current->fsuid; 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) { inode->i_gid = dir->i_gid; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |