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

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Wed Jul 30 07:31:06 PDT 2014


On 28 Jul 07:05 PM, Artem Bityutskiy wrote:
> On Fri, 2014-07-25 at 20:10 -0300, Ezequiel Garcia wrote:
> > I think this series got lost :-(
> > 
> > It's not in today's -next, and I'm looking at your pull for v3.16 and it's
> > not there either. It seems I overlooked it, and realised just now, just before
> > sending a new fix.
> > 
> > Any idea what happened?
> 
> Shame, but no idea. May be I applied them on a laptop, and forgot to
> push, and then never noticed. Anyway, sorry, just applied and pushed
> out.
> 

Cool, no problem.

> >  	return 0;
> > @@ -412,7 +412,7 @@ int ubiblock_create(struct ubi_volume_info *vi)
> >  	gd->first_minor = dev->ubi_num * UBI_MAX_VOLUMES + dev->vol_id;
> >  	gd->private_data = dev;
> >  	sprintf(gd->disk_name, "ubiblock%d_%d", dev->ubi_num, dev->vol_id);
> > -	disk_capacity = (vi->size * vi->usable_leb_size) >> 9;
> > +	disk_capacity = vi->used_bytes >> 9;
> 
> I think you should first align up and then divide.  Something like
> 
> disk_capacity = ALIGN(vi->used_bytes, 512) / 512
> 
> may be?
> 

Yeah, of course.

> By the way, do you really need to shift instead of just dividing, which
> is more readable. I think with nowadays' compilers ">> 9" and "/ 512"
> will give the same code, and the latter seems a bit more readable, no?
> 

Probably. I'm not sure I was thinking in any compiler optimization, but rather
trying to follow current practice in other block code:

  $ git grep ">> 9" block/ drivers/block/ | wc -l
  133

  $ git grep "/ 512" block/ drivers/block/ | wc -l
  12

It sounds like ">> 9" is a frequent enough idiom for "block sector translation".
-- 
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com



More information about the linux-mtd mailing list