Magellan Linux

Annotation of /trunk/util-linux/patches/util-linux-2.12q-cramfs-1.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 153 - (hide annotations) (download)
Tue May 8 20:52:56 2007 UTC (17 years, 1 month ago) by niro
File size: 2851 byte(s)
-import

1 niro 153 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) {