'border' variable is set to a value of 2 times the block size of the
underlying filesystem. With 64k block size, the resulting value won't
fit into a 16-bit variable. Hence this commit changes the data type of
'border' to 'unsigned int'.
Signed-off-by: Chandan Rajendra <[email protected]>
---
fs/ext4/mballoc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index f418f55..a937ac7 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -669,7 +669,7 @@ static void ext4_mb_mark_free_simple(struct super_block *sb,
ext4_grpblk_t min;
ext4_grpblk_t max;
ext4_grpblk_t chunk;
- unsigned short border;
+ unsigned int border;
BUG_ON(len > EXT4_CLUSTERS_PER_GROUP(sb));
--
2.5.5
On Nov 3, 2016, at 3:14 AM, Chandan Rajendra <[email protected]> wrote:
>
> 'border' variable is set to a value of 2 times the block size of the
> underlying filesystem. With 64k block size, the resulting value won't
> fit into a 16-bit variable. Hence this commit changes the data type of
> 'border' to 'unsigned int'.
>
> Signed-off-by: Chandan Rajendra <[email protected]>
Reviewed-by: Andreas Dilger <[email protected]>
> ---
> fs/ext4/mballoc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index f418f55..a937ac7 100644
> --- a/fs/ext4/mballoc.c
> +++ b/fs/ext4/mballoc.c
> @@ -669,7 +669,7 @@ static void ext4_mb_mark_free_simple(struct super_block *sb,
> ext4_grpblk_t min;
> ext4_grpblk_t max;
> ext4_grpblk_t chunk;
> - unsigned short border;
> + unsigned int border;
>
> BUG_ON(len > EXT4_CLUSTERS_PER_GROUP(sb));
>
> --
> 2.5.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Cheers, Andreas
On Thu, Nov 03, 2016 at 01:32:33PM -0600, Andreas Dilger wrote:
> On Nov 3, 2016, at 3:14 AM, Chandan Rajendra <[email protected]> wrote:
> >
> > 'border' variable is set to a value of 2 times the block size of the
> > underlying filesystem. With 64k block size, the resulting value won't
> > fit into a 16-bit variable. Hence this commit changes the data type of
> > 'border' to 'unsigned int'.
> >
> > Signed-off-by: Chandan Rajendra <[email protected]>
>
> Reviewed-by: Andreas Dilger <[email protected]>
Applied, with a change in the commit summary:
ext4: fix mballoc breakage with 64k block size
Many thanks!!
- Ted