summaryrefslogtreecommitdiff
path: root/README-big-sector
blob: b7fee080cebda0841dd9ec0e73fe84c23f437653 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
How you can help:

Debugging big-sector (>512 bytes) problems on the "next" branch:
===============================================================

I find it more convenient for debugging to build without shared libraries:

    git clone git://git.debian.org/git/parted/parted.git
    cd parted
    git config remote.origin.fetch +next:next
    git pull
    git checkout next
    ./bootstrap --gnulib-srcdir=.../gnulib
    ./configure --enable-debug --disable-shared --disable-nls \
       CFLAGS='-O -Dlint -Wall -Wshadow -Wformat-security' && make

First ensure that all of the regular "make check" tests pass
(i.e., running with the default sector size of 512):

    make check

Then, run the disk and label tests with a larger sector size:
(note: this is not the full "make check" run.  That has numerous
known failures due to bugs in file-system-related code.  For now,
we're concentrating on making the partition table code work.)

    cd libparted/tests
    PARTED_SECTOR_SIZE=2048 CK_FORK=no make check

If you see any failure, debug it, via e.g.,

    PARTED_SECTOR_SIZE=2048 CK_FORK=no gdb ./label

If you see no failure, try again using valgrind:

    PARTED_SECTOR_SIZE=2048 CK_FORK=no valgrind ./label
    PARTED_SECTOR_SIZE=2048 CK_FORK=no valgrind ./disk

Then repeat, but with different sizes, e.g., PARTED_SECTOR_SIZE=1024.

If those show no failures, then you're done ;-) with this subset of tests.
See if the tests or support of any partition-table type is currently
disabled.  Look in labels.c and common.c (_implemented_disk_label).

However, if you see valgrind errors about writing uninitialized data,
don't worry too much about them (yet).  Same thing with leaks.  If you
want to fix either of those classes of bugs, great, but they're lower
priority than fixing more serious problems involving stack smashing,
used-uninitialized, using-freed, etc.  and generally getting the basic
partition-related tests to pass.

I am making no effort to make _file system_-related tests pass
with >512-byte sector sizes.