]>
Commit | Line | Data |
---|---|---|
dd714b8a MT |
1 | Submitted by: Jeremy Utley <jeremy@linuxfromscratch.org> |
2 | Date: 2004-12-25 | |
3 | Initial Package Version: 2.12p (should apply to versions back to at least k) | |
4 | Upstream Status: Not Submitted - Test Version | |
5 | Origin: Alexander Patrakov, adapted from debian build of cramfs utilities | |
6 | Description: Util-Linux fails in cramfs compilation due to changes in the | |
7 | linux-libc-headers package 2.6.9 and after. This patch is a proper fix to the | |
8 | problem, but may in fact not be accepted upstream. | |
9 | ||
10 | ||
11 | diff -Naur util-linux-2.12p/disk-utils/fsck.cramfs.c util-linux-2.12p-new/disk-utils/fsck.cramfs.c | |
12 | --- util-linux-2.12p/disk-utils/fsck.cramfs.c 2004-12-11 14:53:16.000000000 +0000 | |
13 | +++ util-linux-2.12p-new/disk-utils/fsck.cramfs.c 2004-12-26 00:53:10.665199086 +0000 | |
14 | @@ -76,16 +76,7 @@ | |
15 | ||
16 | #define PAD_SIZE 512 | |
17 | ||
18 | -#include <asm/page.h> | |
19 | -#ifdef PAGE_SIZE | |
20 | -#define PAGE_CACHE_SIZE ((int) PAGE_SIZE) | |
21 | -#elif defined __ia64__ | |
22 | -#define PAGE_CACHE_SIZE (16384) | |
23 | -#elif defined __alpha__ | |
24 | -#define PAGE_CACHE_SIZE (8192) | |
25 | -#else | |
26 | -#define PAGE_CACHE_SIZE (4096) | |
27 | -#endif | |
28 | +#define PAGE_CACHE_SIZE page_size | |
29 | ||
30 | /* Guarantee access to at least 8kB at a time */ | |
31 | #define ROMBUFFER_BITS 13 | |
32 | @@ -95,11 +86,13 @@ | |
33 | static unsigned long read_buffer_block = ~0UL; | |
34 | ||
35 | /* Uncompressing data structures... */ | |
36 | -static char outbuffer[PAGE_CACHE_SIZE*2]; | |
37 | +static char *outbuffer; | |
38 | z_stream stream; | |
39 | ||
40 | #endif /* INCLUDE_FS_TESTS */ | |
41 | ||
42 | +static size_t page_size; | |
43 | + | |
44 | /* Input status of 0 to print help and exit without an error. */ | |
45 | static void usage(int status) | |
46 | { | |
47 | @@ -464,9 +457,17 @@ | |
48 | int c; /* for getopt */ | |
49 | int start = 0; | |
50 | ||
51 | + page_size = sysconf(_SC_PAGESIZE); | |
52 | + | |
53 | if (argc) | |
54 | progname = argv[0]; | |
55 | ||
56 | + outbuffer = malloc(page_size * 2); | |
57 | + if (!outbuffer) { | |
58 | + fprintf(stderr, _("failed to allocate outbuffer\n")); | |
59 | + exit(8); | |
60 | + } | |
61 | + | |
62 | /* command line options */ | |
63 | while ((c = getopt(argc, argv, "hx:v")) != EOF) { | |
64 | switch (c) { | |
65 | diff -Naur util-linux-2.12p/disk-utils/mkfs.cramfs.c util-linux-2.12p-new/disk-utils/mkfs.cramfs.c | |
66 | --- util-linux-2.12p/disk-utils/mkfs.cramfs.c 2004-12-11 14:56:01.000000000 +0000 | |
67 | +++ util-linux-2.12p-new/disk-utils/mkfs.cramfs.c 2004-12-26 00:53:10.666198928 +0000 | |
68 | @@ -46,16 +46,8 @@ | |
69 | static const char *progname = "mkcramfs"; | |
70 | static int verbose = 0; | |
71 | ||
72 | -#ifdef __ia64__ | |
73 | -#define PAGE_CACHE_SIZE (16384) | |
74 | -#elif defined __alpha__ | |
75 | -#define PAGE_CACHE_SIZE (8192) | |
76 | -#else | |
77 | -#define PAGE_CACHE_SIZE (4096) | |
78 | -#endif | |
79 | - | |
80 | /* The kernel assumes PAGE_CACHE_SIZE as block size. */ | |
81 | -static unsigned int blksize = PAGE_CACHE_SIZE; /* settable via -b option */ | |
82 | +static unsigned int blksize; /* settable via -b option */ | |
83 | static long total_blocks = 0, total_nodes = 1; /* pre-count the root node */ | |
84 | static int image_length = 0; | |
85 | ||
86 | @@ -730,6 +722,7 @@ | |
87 | u32 crc = crc32(0L, Z_NULL, 0); | |
88 | int c; | |
89 | ||
90 | + blksize = sysconf(_SC_PAGESIZE); | |
91 | total_blocks = 0; | |
92 | ||
93 | if (argc) { |