X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fext2%2Fialloc.c;h=3d9fa57ca77dafed8991fbba24ccc51014be81e4;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=299ea3f92d5a6335d86b882989f57c103fa7f62d;hpb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;p=linux-2.6.git diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c index 299ea3f92..3d9fa57ca 100644 --- a/fs/ext2/ialloc.c +++ b/fs/ext2/ialloc.c @@ -60,8 +60,8 @@ read_inode_bitmap(struct super_block * sb, unsigned long block_group) if (!bh) ext2_error(sb, "read_inode_bitmap", "Cannot read inode bitmap - " - "block_group = %lu, inode_bitmap = %lu", - block_group, (unsigned long) desc->bg_inode_bitmap); + "block_group = %lu, inode_bitmap = %u", + block_group, le32_to_cpu(desc->bg_inode_bitmap)); error_out: return bh; } @@ -469,6 +469,11 @@ struct inode *ext2_new_inode(struct inode *dir, int mode) if (!inode) return ERR_PTR(-ENOMEM); + if (sb->s_flags & MS_TAGXID) + inode->i_xid = current->xid; + else + inode->i_xid = 0; + if (DLIMIT_ALLOC_INODE(sb, inode->i_xid)) { err = -ENOSPC; goto fail_dlim; @@ -629,14 +634,14 @@ got: return inode; fail2: - DLIMIT_FREE_INODE(sb, inode->i_xid); + DLIMIT_FREE_INODE(sb, inode->i_xid); inode->i_flags |= S_NOQUOTA; inode->i_nlink = 0; iput(inode); return ERR_PTR(err); fail: - DLIMIT_FREE_INODE(sb, inode->i_xid); + DLIMIT_FREE_INODE(sb, inode->i_xid); fail_dlim: make_bad_inode(inode); iput(inode);