[PATCH for v3.15 0/2] UBI: block: Support very large volumes

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Mon May 5 02:46:06 PDT 2014

On 05 May 10:23 AM, Artem Bityutskiy wrote:
> On Mon, 2014-05-05 at 09:36 +0300, Artem Bityutskiy wrote:
> > On Wed, 2014-04-23 at 20:59 -0300, Ezequiel Garcia wrote:
> > > >  drivers/mtd/ubi/block.c | 10 ++++++----
> > > >  1 file changed, 6 insertions(+), 4 deletions(-)
> > > > 
> > > 
> > > Do you think you can pick this for v3.15-rc3?
> > 
> > Picked both, I'll send them to Linus soon, thanks!
> So kbuild caught a warning. Shame I did not notice this myself, but the
> warning indicates a bigger problem - the entire function is not allowed
> to fail, but it seems like there are conditions when it needs to fail.
> Would you please analyze the error handling in the resize path?

The ubiblock_resize function fails if the number of 512B sectors are not
expressable as a sector_t. This function is only used to resize the block
device, *after* UBI has resized the associated volume.

In other words, the UBI block driver fails to acknowledge the UBI volume resize
if the new size is larger than the supported Linux block size (2 TiB if
CONFIG_LBDAF=n, or a lot more if CONFIG_LBDAF=y).

I don't think there's anything we can do, except maybe print a warning.

I'll push a v2 with this in mind.
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering

More information about the linux-mtd mailing list