Re: [PATCH 2/2] ext4: check free inode count before allocaing an inode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 2, 2012 at 5:45 PM, Yongqiang Yang <xiaoqiangnk@xxxxxxxxx> wrote:
> Recnetly, I ecountered some corrupted filesystems in which some
> groups' free inode counts were negative, it seemed that free inode
This comment is not exactly, it is not negative but 65535.  I will
resend the patch later.

Thanks,
Yongqiang.
> count was overflow.  This patch teaches ext4 to check free inode
> count before allocaing an inode.
>
> Signed-off-by: Yongqiang Yang <xiaoqiangnk@xxxxxxxxx>
> ---
>  fs/ext4/ialloc.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
> index 26154b8..fa36372 100644
> --- a/fs/ext4/ialloc.c
> +++ b/fs/ext4/ialloc.c
> @@ -697,6 +697,15 @@ got_group:
>                 if (!gdp)
>                         goto fail;
>
> +               /*
> +                * Check free inodes count before loading bitmap.
> +                */
> +               if (ext4_free_inodes_count(sb, gdp) == 0) {
> +                       if (++group == ngroups)
> +                               group = 0;
> +                       continue;
> +               }
> +
>                 brelse(inode_bitmap_bh);
>                 inode_bitmap_bh = ext4_read_inode_bitmap(sb, group);
>                 if (!inode_bitmap_bh)
> --
> 1.7.5.1
>



-- 
Best Wishes
Yongqiang Yang
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux