[RFC / PATCH] ubiformat: make it work on mtd parts > 2GiB
Sebastian Andrzej Siewior
bigeasy at linutronix.de
Tue Feb 10 05:49:19 EST 2009
Artem Bityutskiy wrote:
> On Tue, 2009-02-10 at 11:17 +0100, Sebastian Andrzej Siewior wrote:
>>> I do not think you need to make eraseblock number and offset to be
>>> unsigned. In fact, I'd like them to be signed, because this is the same
>>> we have in the kernel (in UBI/UBIFS), and I'd like to be more or less
>>> consistent.
>> That is a point. However those things should never be negative so maybe we
>> could change this in kernel.
>
> They should not indeed be negative. However, signed numbers are just
> much more appropriate when you write the code, because you may put an
> error code there if something goes wrong.
>
> For example, the UBIFS Garbage collector returns the freed eraseblock
> number in case of success or a negative error code in case of failure.
> Compare:
>
> int ubifs_garbage_collect(struct ubifs_info *c)
>
> and
>
> int ubifs_garbage_collect(struct ubifs_info *c, unsigned int *leb)
>
> The first prototype is what we have now. The second is what we would
> have to have to be able to return LEB number and error code.
>
> And vs. changing UBI/UBIFS - that would be really a lot of work.
Yup, thanks for info. That makes sense.
> Anyway, the thing is that 31-bit should be more than enough for
> eraseblock number.
For now :)
>
>> While we here, I get a couple of "compare between signed and unsigned"
>> warnings from gcc. I tried to clean them up but I end up with huge patches
>> similar to this one. Are you aware of those or you simply don't get them?
>
> I'd rather shut the warnings up by an gcc option - is there such an
> option?
You are using -W which deprecated and -Wextra is doing the same thing. One
of the things -Wextra does is adding -Wsign-compare so you have to add
-Wno-sign-compare to stop that.
Sebastian
--
Firmensitz: 88690 Uhldingen, Auf dem Berg 3
Registergericht: Amtsgericht Freiburg i. Br., HRB 700 806;
StNr. 87007/07777; Ust-Id Nr.: DE252739476
Geschäftsführer: Heinz Egger, Thomas Gleixner
More information about the linux-mtd
mailing list