]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/util-linux-2.12r-cramfs-1.patch
Firewall: Fixed portfw-converter (rules where not converted correctly) And Standard...
[ipfire-2.x.git] / src / patches / util-linux-2.12r-cramfs-1.patch
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) {