]> www.infradead.org Git - mtd-utils.git/log
mtd-utils.git
15 years agomkfs.ubifs: fix crosscompilation issues
Matthias Fuchs [Fri, 23 Oct 2009 16:05:04 +0000 (18:05 +0200)]
mkfs.ubifs: fix crosscompilation issues

This patch adds support for passing the location of the lzo
library and headers.

Also BUILDDIR must be referenced to find the libubi.a archive.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubi-utils: add ubirsvol tool to resize UBI volumes
Arnaud Mouiche [Thu, 1 Oct 2009 09:31:47 +0000 (11:31 +0200)]
ubi-utils: add ubirsvol tool to resize UBI volumes

This is nearly a copy/paste from ubirmvol.

Signed-off-by: Arnaud Mouiche <arnaud.mouiche@thomson.net>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubinize/ubiformat: improve random number seeding
Artem Bityutskiy [Mon, 28 Sep 2009 08:50:51 +0000 (11:50 +0300)]
ubinize/ubiformat: improve random number seeding

Add current time to the PID to improve the pseudo-random number
generator seeding. Also, use 'rand()' instead of 'random()', because
'srand()' is for 'rand()'.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubiformat/ubinize: Don't randomize 0xFFFFFFFF sequence number
Michael Roth [Wed, 23 Sep 2009 13:01:27 +0000 (15:01 +0200)]
ubiformat/ubinize: Don't randomize 0xFFFFFFFF sequence number

args.image_seq is of type uint32_t and was initialized to -1 which
becomes 0xFFFFFFFF in this case. Later the value -1 was used as a flag
that args.image_seq should be replaced with a randomized value.

With the option --image-seq (-Q) a user could provide any sequence
number at will.

But when the user provided sequence number was 0xFFFFFFFF this was
understood effectivly as -1 and got overridden by a randomized
sequence number.

So this patch change the programm flow to respect the principle of
least surprise and never use a randomized sequence number when the
user provide one at own will.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubiformat/ubinize: fix more 64-bit image sequence number confusion
Michael Roth [Wed, 23 Sep 2009 13:01:26 +0000 (15:01 +0200)]
ubiformat/ubinize: fix more 64-bit image sequence number confusion

The sequence number is only 32 bit as the strtoul() function.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubiformat: add image sequence support
Artem Bityutskiy [Mon, 24 Aug 2009 13:25:47 +0000 (16:25 +0300)]
ubiformat: add image sequence support

Similarly to ubinize, add image sequence number support.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubinize: fix 64-bit image sequence number confusion
Artem Bityutskiy [Mon, 24 Aug 2009 12:41:21 +0000 (15:41 +0300)]
ubinize: fix 64-bit image sequence number confusion

UBI image sequence number which we store in EC headers is 32 bits,
not 64-bits. I was confused when noticed that the 'image_seq'
variable had type 'unsigned long long'. Turn it into a 'uint32_t'
type.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubiformat: fix typo in the help output
Artem Bityutskiy [Mon, 24 Aug 2009 12:29:26 +0000 (15:29 +0300)]
ubiformat: fix typo in the help output

The UBI image sequence number is a 64-bit integer, not 32-bit integer.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agomkfs.ubifs: do not forget to torture PEB
Artem Bityutskiy [Mon, 24 Aug 2009 12:24:41 +0000 (15:24 +0300)]
mkfs.ubifs: do not forget to torture PEB

We added PEB torturing for the case when we fail during flashing
an image, but forgot to add it for the case when we are formating
the flash. Add the forgottent torturing call.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agonandwrite: allow writing the OOB when using the standard input
Jehan Bing [Thu, 6 Aug 2009 00:41:23 +0000 (17:41 -0700)]
nandwrite: allow writing the OOB when using the standard input

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agonandwrite: fix incorrect use of errno.
Jehan Bing [Thu, 6 Aug 2009 00:41:08 +0000 (17:41 -0700)]
nandwrite: fix incorrect use of errno.

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agonandwrite: unified reading from standard input and from file - part 3
Jehan Bing [Thu, 6 Aug 2009 00:40:55 +0000 (17:40 -0700)]
nandwrite: unified reading from standard input and from file - part 3

Nandwrite tries to use lseek() when failing to write on a page. lseek()
will fail when used on the standard input so nandwrite fails. This code
replaces lseek with a buffer.

When the data is read, it is put in a buffer (filebuf). This buffer is
reset at each block boundary. So a "seek" just means reading from the
beginning of the buffer. writebuf and oobreadbuf are now just pointers
to locations in filebuf.

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agonandwrite: unified reading from standard input and from file - part2
Jehan Bing [Thu, 6 Aug 2009 00:40:42 +0000 (17:40 -0700)]
nandwrite: unified reading from standard input and from file - part2

Use the same code structure when reading the OOB than when reading the
regular data.

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agonandwrite: unified reading from standard input and from file - part 1
Jehan Bing [Thu, 6 Aug 2009 00:40:24 +0000 (17:40 -0700)]
nandwrite: unified reading from standard input and from file - part 1

Use same code path for reading data (not the OOB) from either the
standard input or a regular file.

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agomkfs.ubifs: correct devtable increment handling
Daniel Neukomm [Tue, 11 Aug 2009 08:33:23 +0000 (11:33 +0300)]
mkfs.ubifs: correct devtable increment handling

With the device table one can add /dev entries to the root file system
image. The device table file contains among others the fields minor,
start, increment and count. If there is an entry with minor=0 start=0
increment=32 and count=4 the mkfs.ubifs makes 128 device entries, with
minor numbers from 0 to 127. The correct version makes 4 entries with
minor number 0,32,64,96.

/dev/mtd c 640 0 0 90 0 0  2 7
This gives 14 devices /dev/mtdXX instead of  7 devices.
Due to this error mtd_debug info /dev/mtd3 delivers the information of
/dev/mtd1 instead of.

Signed-off-by: Daniel Neukomm <Neukomm@vtxmail.ch>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agojffs2dump: rewrite --help output to be more suitable for help2man
Timo Juhani Lindfors [Mon, 27 Jul 2009 21:05:30 +0000 (00:05 +0300)]
jffs2dump: rewrite --help output to be more suitable for help2man

$ help2man /usr/sbin/jffs2dump | man /dev/stdin

currently creates badly formatted output like

-b          --bigendian                 image is big endian
-l          --littleendian              image   is   little
endian  -c          --content                   dump  image
contents  -e  fname    --endianconvert=fname        convert
image endianness, output to file fname -r         --recalc-

This patch modifies the --help output for jffs2dump to be more
suitable for help2man and thus makes it possible to easily create
manual pages that stay up-to-date.

Signed-off-by: Timo Juhani Lindfors <timo.lindfors@iki.fi>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
15 years agoubiformat: clean up help output a little
Artem Bityutskiy [Thu, 30 Jul 2009 20:18:45 +0000 (23:18 +0300)]
ubiformat: clean up help output a little

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubinize: add sequence number support
Artem Bityutskiy [Sun, 26 Jul 2009 15:06:58 +0000 (18:06 +0300)]
ubinize: add sequence number support

UBI now supports the image sequence number feature which
prevents UBI from mistakingly accepting half-written images,
if the image was written on top of an older image. Support
this feature in ubinize and make it pick a random
number for the UBI image sequence number.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: update ubi-media.h
Artem Bityutskiy [Sun, 26 Jul 2009 13:40:04 +0000 (16:40 +0300)]
ubi-utils: update ubi-media.h

Update the ubi-media.h file in order to add UBI sequence number
support.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: remove depricated -d option
Artem Bityutskiy [Sun, 26 Jul 2009 13:17:36 +0000 (16:17 +0300)]
ubi-utils: remove depricated -d option

It's already about 2 years since the "-d" option was declared
deprecated. UBI utils have printed a warning about this. Now
it is time to kill this option completely.

The affected utilities are ubimkvol, ubirmvol and ubiupdatevol.
Their versions are also increased.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agocommon: remove depricated KB,MB,GB support
Artem Bityutskiy [Sun, 26 Jul 2009 13:05:46 +0000 (16:05 +0300)]
common: remove depricated KB,MB,GB support

KiB, MiB and GiB should be used instead.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: version 1.4
Artem Bityutskiy [Sun, 26 Jul 2009 12:56:57 +0000 (15:56 +0300)]
ubiformat: version 1.4

Increase ubiformat version to reflect the fact that now we
torture PEBs before marking them as bad.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: make badblocks output less confusing
Artem Bityutskiy [Sun, 26 Jul 2009 12:51:11 +0000 (15:51 +0300)]
ubiformat: make badblocks output less confusing

When ubiformat prints something like

ubiformat: bad eraseblocks: 1400

it looks like there are 1400 bad eraseblock, although there is
only one with number 1400. Fix this but turning the print into

ubiformat: 1 bad eraseblock found, numbers: 1400

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: nicify error output
Artem Bityutskiy [Sun, 26 Jul 2009 12:50:00 +0000 (15:50 +0300)]
ubiformat: nicify error output

Do not print extra newline if write fails, because mtd_write
prints a message and adds newline.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: minor printing clean-up
Artem Bityutskiy [Sun, 26 Jul 2009 12:43:03 +0000 (15:43 +0300)]
ubiformat: minor printing clean-up

When a PEB is marked as bad while we are formatting, ubiformat
prints 99% done at the end. Make it print 100% done instead.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: torture eraseblocks on write errors
Artem Bityutskiy [Sun, 26 Jul 2009 12:40:32 +0000 (15:40 +0300)]
ubiformat: torture eraseblocks on write errors

When fail to write to PEBs, and the error is EIO, torture the
PEB before marking it as bad. Basically, the code is copied
from the kernel UBI.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: fix compilation errors when using CPPFLAGS
Mike Frysinger [Thu, 2 Jul 2009 01:15:03 +0000 (21:15 -0400)]
ubi-utils: fix compilation errors when using CPPFLAGS

The CPPFLAGS in the env changes how make initializes/appends CPPFLAGS
in sub-makes. This causes the old ubi utils to find the newer headers
at ubi-utils/include/ before the ubi-utils/old-utils/inc/.

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: allow zero erase counter
Artem Bityutskiy [Tue, 30 Jun 2009 10:03:45 +0000 (13:03 +0300)]
ubiformat: allow zero erase counter

This patch fixes the following issue:

$ ubiformat /dev/mtd2 -e 0
ubiformat: error!: bad erase counter value: "0"

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agonandwrite: fix error handling
Jehan Bing [Mon, 8 Jun 2009 20:43:26 +0000 (13:43 -0700)]
nandwrite: fix error handling

Artem Bityutskiy wrote:
> Yes, write and erase failure mean that the erasblock is bad. But I think
> marking a block as bad straight away is just dangerous. Who knows may be
> this is a small glitch in a bus, or a software bug, or some-one
> corrupted driver's memory, or whatever. This is why UBI is doing
> eraseblock torturing before marking it as bad. And it is very careful
> about error codes - only EIO code is considered as a reason to mark an
> eraseblock as bad.

Fixed broken behavior in case of write failure. More specifically:
- Only try to mark a block bad if the errors are EIO. Other errors
will abort the tool.
- Also abort the tool if the marking fails instead of ignoring it.

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agonandwrite: return error if failure when reading from standard input
Jehan Bing [Mon, 8 Jun 2009 16:32:38 +0000 (09:32 -0700)]
nandwrite: return error if failure when reading from standard input

Fix nandwrite to return EXIT_FAILURE in case of error when using the
standard input instead of a file for input.

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: fix wrong size calculation with sizes > 4GiB
Detlef Bardtholdt [Mon, 8 Jun 2009 07:34:55 +0000 (09:34 +0200)]
libubi: fix wrong size calculation with sizes > 4GiB

This fixes the handling of total_bytes, avail_bytes and rsvd_bytes.
The result of the multiplication must be 64 Bit.

Signed-off-by: Detlef Bardtholdt <bardtholdt.detlef@ng-litef.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
16 years agonandwrite: amend loop condition
Jehan Bing [Sat, 6 Jun 2009 01:45:53 +0000 (18:45 -0700)]
nandwrite: amend loop condition

If the file contains only a few bytes in the last page and the
--oob option is selected, the loop may exit early
(readlen < meminfo.oobsize).
Most of the time it will still work though because the code
tries to read the whole OOB in one chunk.

Signed-off-by: Jehan Bing <jehan@orb.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: add a TODO entry
Artem Bityutskiy [Fri, 5 Jun 2009 16:41:47 +0000 (19:41 +0300)]
ubiformat: add a TODO entry

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: inclreas version to 1.3
Artem Bityutskiy [Fri, 5 Jun 2009 09:43:03 +0000 (12:43 +0300)]
mkfs.ubifs: inclreas version to 1.3

... because of the previous serious bug-fix.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: fix brown paper-bag bug
Artem Bityutskiy [Fri, 5 Jun 2009 09:42:22 +0000 (12:42 +0300)]
mkfs.ubifs: fix brown paper-bag bug

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmts: recognize pre-MTD-sysfs kernels better
Artem Bityutskiy [Tue, 2 Jun 2009 13:11:35 +0000 (16:11 +0300)]
libmts: recognize pre-MTD-sysfs kernels better

Not-so-old linux kernel like 2.6.29 do already have "/sys/class/mtd/mtdX"
directories, while very old kernels do not. But in 2.6.29 these
directories do not contain any information.

Anyway, the logic in libmtd which checked whether the system
supports sysfs was broken, because it assumed that old systems
do not even have "/sys/class/mtd/" directory.

Fix this problem by checking for "/sys/class/mtd/mtdX/name". If this
is present - the system really has sysfs support.

This patch also adds an extra print to libmtd.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: use libubi to format UBI volume
Corentin Chary [Tue, 26 May 2009 13:08:36 +0000 (15:08 +0200)]
mkfs.ubifs: use libubi to format UBI volume

libubi is now used to format directly UBI volume.
Typing mkfs.ubifs /dev/ubi0_0 is now possible.
dtypes should be ok as they are taken from UBIFS code.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: remove duplicated code
Corentin Chary [Mon, 25 May 2009 06:26:26 +0000 (08:26 +0200)]
mkfs.ubifs: remove duplicated code

ino->uid        = cpu_to_le32(st->st_uid);
ino->gid        = cpu_to_le32(st->st_gid);
was present twice.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: fix memory corruptions
Artem Bityutskiy [Mon, 11 May 2009 16:22:34 +0000 (19:22 +0300)]
ubi-utils: fix memory corruptions

This patch contains changes similar to the ones in the previous
patch.

Also, it changes all invocations of memset and makes sure
the argument is 0, not '\0', because memset expects int,
not char.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: fix multiple memory corruptions
Corentin Chary [Sat, 9 May 2009 09:41:07 +0000 (11:41 +0200)]
libubi: fix multiple memory corruptions

The memset is obviously wrong, and valgrind tells
use there are some uninitialised bytes used after read()

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: add ubi_is_mapped() function
Corentin Chary [Sat, 9 May 2009 09:41:06 +0000 (11:41 +0200)]
libubi: add ubi_is_mapped() function

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: fix -U option handling
Kevin Cernekee [Sun, 10 May 2009 06:41:33 +0000 (23:41 -0700)]
mkfs.ubifs: fix -U option handling

The long form (--squash-uids) is correct, but the short form (-U) is not.

Signed-off-by: Kevin Cernekee <kpc.mtd@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: add sysfs interface support and new tool
Artem Bityutskiy [Sun, 26 Apr 2009 06:01:12 +0000 (09:01 +0300)]
ubi-utils: add sysfs interface support and new tool

This large commit makes several things.

1. Switches libmtd to use the new sysfs interface
2. Implements new handy 'mtdinfo' utility
3. Does minore amendmends in libubi and some ubi-tools.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-tests: add .gitignore file
Artem Bityutskiy [Mon, 11 May 2009 07:14:11 +0000 (10:14 +0300)]
ubi-tests: add .gitignore file

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-tests: improve io_paral test
Artem Bityutskiy [Fri, 8 May 2009 15:50:59 +0000 (18:50 +0300)]
ubi-tests: improve io_paral test

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: add ubi_leb_unmap interface
Artem Bityutskiy [Fri, 8 May 2009 15:50:25 +0000 (18:50 +0300)]
libubi: add ubi_leb_unmap interface

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: add ubi_set_property interface
Artem Bityutskiy [Fri, 8 May 2009 15:09:21 +0000 (18:09 +0300)]
libubi: add ubi_set_property interface

This is needed for io_paral test.

16 years agolibmtd: make type_str to be an array
Artem Bityutskiy [Sun, 26 Apr 2009 05:47:03 +0000 (08:47 +0300)]
libmtd: make type_str to be an array

This is a prepearation to the coming sysfs interface support.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmtd: rename num field
Artem Bityutskiy [Sun, 26 Apr 2009 05:19:42 +0000 (08:19 +0300)]
libmtd: rename num field

This is a preparation for the coming sysfs support.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmtd: rename rdonly field
Artem Bityutskiy [Sun, 26 Apr 2009 05:15:47 +0000 (08:15 +0300)]
libmtd: rename rdonly field

This is a preparation for the coming sysfs support.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmtd: rename allows_bb field
Artem Bityutskiy [Sun, 26 Apr 2009 05:11:58 +0000 (08:11 +0300)]
libmtd: rename allows_bb field

This is a preparation for the coming sysfs support.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomtd-utils: minor amendments in crc32.h
Artem Bityutskiy [Sun, 26 Apr 2009 05:04:16 +0000 (08:04 +0300)]
mtd-utils: minor amendments in crc32.h

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubigen: add missing include
Artem Bityutskiy [Sun, 26 Apr 2009 05:02:32 +0000 (08:02 +0300)]
libubigen: add missing include

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-tests: various changes
Artem Bityutskiy [Fri, 8 May 2009 09:35:42 +0000 (12:35 +0300)]
ubi-tests: various changes

Mostly improvments in io_paral.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: do not use udevsettle
Artem Bityutskiy [Fri, 8 May 2009 09:33:56 +0000 (12:33 +0300)]
libubi: do not use udevsettle

Not sure why, but udevsettle does not work when threads are
used. In the io_paral test I experience the problem when
udevsettle opens UBI volumes and prevents tests to open
them (EBUSY is returned).

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-tests: make tests compile again
Artem Bityutskiy [Thu, 7 May 2009 10:48:21 +0000 (13:48 +0300)]
ubi-tests: make tests compile again

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: fix build error
Artem Bityutskiy [Thu, 7 May 2009 10:41:57 +0000 (13:41 +0300)]
ubiformat: fix build error

src/ubiformat.c: In function ‘main’:
src/ubiformat.c:741: error: too many arguments to function ‘libubi_open’

16 years agoubi-utils: remove debugging leftovers
Artem Bityutskiy [Thu, 7 May 2009 10:40:48 +0000 (13:40 +0300)]
ubi-utils: remove debugging leftovers

Remove -g -O0 which I accidentally introduce. Sorry
for that.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: improve errors handling
Artem Bityutskiy [Wed, 22 Apr 2009 14:24:07 +0000 (17:24 +0300)]
libubi: improve errors handling

Improve comments about what is returned if UBI device or node
does not exist.

Better check for ENODEV error code.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: improve libubi_open interface
Artem Bityutskiy [Wed, 22 Apr 2009 11:32:08 +0000 (14:32 +0300)]
libubi: improve libubi_open interface

Remove the not very nice @required parameter, and add a
possibility to distinguish between real errors and
a situation when UBI is not present.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmtd: rename mtd_info
Artem Bityutskiy [Mon, 20 Apr 2009 11:46:33 +0000 (14:46 +0300)]
libmtd: rename mtd_info

Rename 'struct mtd_info' to 'struct mtd_dev_info' to reflect the
fact that it provides information about a specific MTD device.
Also, this is more consistent with libubi.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmtd: rename mtd_get_info
Artem Bityutskiy [Mon, 20 Apr 2009 10:03:21 +0000 (13:03 +0300)]
libmtd: rename mtd_get_info

Rename 'mtd_get_info()' into 'mtd_get_dev_info()' to be consistent
to libubi.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: rename ubi_node_type
Artem Bityutskiy [Mon, 20 Apr 2009 13:23:22 +0000 (16:23 +0300)]
ubi-utils: rename ubi_node_type

Re-name the 'ubi_node_type()' function to a more meaningful name:
'ubi_probe_node()'.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubinfo: handle -d correctly
Artem Bityutskiy [Mon, 20 Apr 2009 13:16:33 +0000 (16:16 +0300)]
ubinfo: handle -d correctly

Fix ubinfo utility and make it handle -d parameter correctly.
Without this patch it simple refuses working with -d.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoPrevent git-clean from removing cscope files
Artem Bityutskiy [Mon, 20 Apr 2009 09:36:41 +0000 (12:36 +0300)]
Prevent git-clean from removing cscope files

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: increase version to 1.2
Artem Bityutskiy [Sat, 18 Apr 2009 13:46:25 +0000 (16:46 +0300)]
ubiformat: increase version to 1.2

The previous patch fixed a nasty bug, so it is nice to increase
program version to reflect that.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: fix segfault and messages
Artem Bityutskiy [Sat, 18 Apr 2009 13:35:22 +0000 (16:35 +0300)]
ubiformat: fix segfault and messages

ubiformat segfaults like this:

ubiformat: mtd0 (NAND), size 134217728 bytes (128.0 MiB), 16384 eraseblocks of 16384 bytes (16.0 KiB), min. I/O size 512 bytes
libscan: scanning eraseblock 8191 -- 100 % complete
ubiformat: 8190 eraseblocks have valid erase counter, mean value is 9
ubiformat: 2 eraseblocks are supposedly empty
ubiformat: warning!: VID header and data offsets on flash are 512 and 1024, which is different to calculated offsets 256 and 512
ubiformat: use new offsets 512 and 1024? (yes/no)  no
Segmentation fault

The reason is that volume table size is calculated for 256/512
layout, and when user chooses 512/1024 - it is not re-calculated
which leads to segfault in 'ubigen_write_layout_vol()'.

This patch also fixes the message - in the above output new
offsets are 256/512, not 512/1024.

Also, this patch adds explicit printing of the selected
positions.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmtd: amend interface
Artem Bityutskiy [Sat, 18 Apr 2009 13:01:40 +0000 (16:01 +0300)]
libmtd: amend interface

Remove the fd field from the mtd information data structure,
because libmtd does not really know the device node file name,
and serves only as a place to save the descriptor. The callers
should find a better place.

This patch improves code readability and prepares for further
changes.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: remove unnecessary header files
Artem Bityutskiy [Sat, 18 Apr 2009 12:38:59 +0000 (15:38 +0300)]
libubi: remove unnecessary header files

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: amend included header files
Artem Bityutskiy [Sat, 18 Apr 2009 12:05:13 +0000 (15:05 +0300)]
libubi: amend included header files

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: remove useless variable
Artem Bityutskiy [Sat, 18 Apr 2009 11:29:46 +0000 (14:29 +0300)]
libubi: remove useless variable

We know that sysfs is always at /sys, so we do not have to
store it in lib->sysfs.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: remove incorrect comment
Artem Bityutskiy [Sat, 18 Apr 2009 11:04:24 +0000 (14:04 +0300)]
libubi: remove incorrect comment

sysfs if guaranteed to be in /sys.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibubi: spelling fixes
Artem Bityutskiy [Sat, 18 Apr 2009 10:59:57 +0000 (13:59 +0300)]
libubi: spelling fixes

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agolibmtd: move comments to headers
Artem Bityutskiy [Sat, 18 Apr 2009 10:54:44 +0000 (13:54 +0300)]
libmtd: move comments to headers

Just for the sake of being consistent with libubi, move the
comments for API functions to the header file.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: tweak vpath handling
Mike Frysinger [Tue, 31 Mar 2009 04:09:40 +0000 (00:09 -0400)]
ubi-utils: tweak vpath handling

Building out of tree currently fails with ubi-utils because make gets
confused and can't figure out the vpathed .c files.  Using VPATH rather
than vpath seems to work around it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
16 years agolibubigen: don't define large array on stack
sonic zhang [Mon, 30 Mar 2009 08:22:48 +0000 (16:22 +0800)]
libubigen: don't define large array on stack

On nommu arch, local stack size is very limited and
can't be enlarged on demand. So, don't define large
array on local stack.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
16 years agolibmtd: fix mtd_is_bad return code
Roger Quadros [Fri, 27 Mar 2009 16:48:58 +0000 (18:48 +0200)]
libmtd: fix mtd_is_bad return code

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: mark faulty blocks as bad
Roger Quadros [Thu, 26 Mar 2009 12:14:27 +0000 (14:14 +0200)]
ubiformat: mark faulty blocks as bad

Few minor amendments by Artem. And increase the utility
version number.

Signed-off-by: Roger Quadros <ext-roger.quadros@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: re-arrange directory layout
Artem Bityutskiy [Tue, 17 Mar 2009 08:14:54 +0000 (10:14 +0200)]
ubi-utils: re-arrange directory layout

Move new-utils to ubi-utils and old ones to ubi-utils/old-utils.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomake sure compiler supports warning flags
Mike Frysinger [Thu, 26 Feb 2009 08:30:06 +0000 (03:30 -0500)]
make sure compiler supports warning flags

Some compilers (like gcc-3.3) don't support all the newer -W flags that we
are using.  So import the compiler check found in the kernel and test each
flag we add.  The := is important so we only do the compiler tests once
per `make` rather than every time we compile a file.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoAdd generated binaries to gitignore
Mike Frysinger [Wed, 25 Feb 2009 23:38:53 +0000 (18:38 -0500)]
Add generated binaries to gitignore

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.jffs2: fix lzo usage on 64bit systems
Sebastian Andrzej Siewior [Mon, 23 Feb 2009 21:38:54 +0000 (22:38 +0100)]
mkfs.jffs2: fix lzo usage on 64bit systems

the compress size parameter in lzo is defined in the header file as lzo_uint.
This looks very much like uint32_t, I know, but is defined as unsigned long.
So on 64bit LE systems we zero some bytes near by and on BE systems we
get a size of zero.

Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoUBI: add ubirename utility
Richard Titmuss [Wed, 18 Feb 2009 08:51:39 +0000 (10:51 +0200)]
UBI: add ubirename utility

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoUBI: add forgotten ubi-media.h
Artem Bityutskiy [Wed, 18 Feb 2009 08:28:03 +0000 (10:28 +0200)]
UBI: add forgotten ubi-media.h

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoUBI: update ubi-header.h
Artem Bityutskiy [Wed, 18 Feb 2009 08:26:20 +0000 (10:26 +0200)]
UBI: update ubi-header.h

Take the latest version from the kernel, where it was renamed
to ubi-media.h.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoUBI: update ubi-user.h
Artem Bityutskiy [Wed, 18 Feb 2009 08:16:26 +0000 (10:16 +0200)]
UBI: update ubi-user.h

Just take the latest version from the kernel.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomtd-utils: handle non-power-of-2 erase size
Peter Korsgaard [Tue, 17 Feb 2009 14:03:40 +0000 (15:03 +0100)]
mtd-utils: handle non-power-of-2 erase size

E.g., this is needed for DataFlash.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: eliminate compiler warnings
Adrian Hunter [Thu, 12 Feb 2009 08:53:18 +0000 (10:53 +0200)]
mkfs.ubifs: eliminate compiler warnings

The warnings were:

lpt.c: In function ‘create_lpt’:
lpt.c:552: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long long int’
mkfs.ubifs.c: In function ‘do_openat’:
mkfs.ubifs.c:251: warning: ignoring return value of ‘chdir’, declared with attribute warn_unused_result
mkfs.ubifs.c: In function ‘get_options’:
mkfs.ubifs.c:542: warning: format not a string literal and no format arguments

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoArtem Bityutskiy said once:
linux-mtd-owner@lists.infradead.org [Wed, 11 Feb 2009 09:05:39 +0000 (04:05 -0500)]
Artem Bityutskiy said once:
|I mean, IMO most of these warnings are not really sane, and cleaning
|that up just adds mess - you stop understanding why is something signed
|or unsigned  :-)

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoI have here a mtd part which is 3 GiB with a flash page size of 256KiB.
linux-mtd-owner@lists.infradead.org [Wed, 11 Feb 2009 09:04:39 +0000 (04:04 -0500)]
I have here a mtd part which is 3 GiB with a flash page size of 256KiB.
The 2GiB limit is at erase block 8192. In mtd_is_bad() the computation
for the MEMGETBADBLOCK ioctl() looks like the following:

| seek = eb * mtd->eb_size;

with both eb and mtd->eb_size being a signed int results in seek being a
signed result.

The _FILE_OFFSET_BITS=64 define is required to switch off_t from 32bit
to 64bit an 32bit systems. This is required in order to keep using
lseek() as lseek64 on 32bit system. Without this change lseek() in
mtd_read() is called with a 32bit value with most significat bit set and
the kernel performs a sign extension for the 64bit value which is used
in the mtd layer.

The last change also changes the size of the parameter which is passed
to the MEMGETBADBLOCK ioctl() from 32 to 64bit. The counter part in
kernel is also defined as loff_t which is of type __kernel_loff_t and
this is "long long". So this must have been broken for a while unless I
missed something.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: update program version to 1.2
Artem Bityutskiy [Wed, 28 Jan 2009 12:36:42 +0000 (14:36 +0200)]
mkfs.ubifs: update program version to 1.2

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: support reserved space allocation
Artem Bityutskiy [Wed, 28 Jan 2009 12:19:43 +0000 (14:19 +0200)]
mkfs.ubifs: support reserved space allocation

UBIFS may reserve some amount of flash space for the super-user,
ant this amount is stored in the superblock. Currently mkfs.ubifs
always puts 0 there. This patch adds -R option which may be used
to specify size of the reserved space.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiupdatevol: fix -t parameter
Sebastian Andrzej Siewior [Wed, 17 Dec 2008 10:15:54 +0000 (11:15 +0100)]
ubiupdatevol: fix -t parameter

The execution of
|./ubiupdatevol /dev/ubi0 -t
will fail because 'argv[optind + 1]' is undefined and the later executed
'strcmp(args.img, "-")' will segfault.
So I can hack around and supply a dummy image or fix it that way.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-tests: fix build and some warnings
Artem Bityutskiy [Fri, 16 Jan 2009 18:53:42 +0000 (20:53 +0200)]
ubi-tests: fix build and some warnings

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agomkfs.ubifs: fix various warnings
Artem Bityutskiy [Fri, 16 Jan 2009 14:11:32 +0000 (16:11 +0200)]
mkfs.ubifs: fix various warnings

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: fix compilation warnings
Artem Bityutskiy [Fri, 16 Jan 2009 13:40:54 +0000 (15:40 +0200)]
ubi-utils: fix compilation warnings

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubiformat: nicify error messages
Artem Bityutskiy [Fri, 16 Jan 2009 13:30:40 +0000 (15:30 +0200)]
ubiformat: nicify error messages

In case of error, ubiformat prints error messages at the same
line as the previous messages. Fix this.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoubi-utils: minor printing fix
Artem Bityutskiy [Thu, 15 Jan 2009 17:57:15 +0000 (19:57 +0200)]
ubi-utils: minor printing fix

Add missing whitespace in ubimkvol help output

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agofs-tests: fix remounting in integck
Artem Bityutskiy [Wed, 14 Jan 2009 18:57:41 +0000 (20:57 +0200)]
fs-tests: fix remounting in integck

Teach integck properly save original mount options.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agocommon.mk: tweak rules to workaround make-3.80 bugs
Mike Frysinger [Mon, 12 Jan 2009 16:08:03 +0000 (11:08 -0500)]
common.mk: tweak rules to workaround make-3.80 bugs

I got some reports from people who use make-3.80 that mtd-utils wasn't
building correctly the first time.  Turns out that older versions of make
misbehave with pattern rules and full paths.  So I've tweaked the code a
little to work with make-3.80 and make-3.81 (the latest release).

Also, I added a small optimization to avoid running `mkdir` when building
in-tree.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>