Magellan Linux

Diff of /trunk/mkinitrd-magellan/klibc/usr/kinit/ramdisk_load.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 532 by niro, Sat Sep 1 22:45:15 2007 UTC revision 1297 by niro, Fri May 27 15:12:11 2011 UTC
# Line 1  Line 1 
 #include <ctype.h>  
1  #include <errno.h>  #include <errno.h>
2  #include <fcntl.h>  #include <fcntl.h>
3  #include <stdio.h>  #include <stdio.h>
# Line 95  int load_ramdisk_compressed(const char * Line 94  int load_ramdisk_compressed(const char *
94   if (ioctl(rfd, BLKGETSIZE64, &ramdisk_size))   if (ioctl(rfd, BLKGETSIZE64, &ramdisk_size))
95   ramdisk_size = ~0ULL;   ramdisk_size = ~0ULL;
96   ramdisk_start = 0;   ramdisk_start = 0;
97   DEBUG(("New size = %llu\n", ramdisk_size));   dprintf("New size = %llu\n", ramdisk_size);
98   }   }
99   do {   do {
100   ramdisk_left = ramdisk_size - ramdisk_start;   ramdisk_left = ramdisk_size - ramdisk_start;
# Line 117  int load_ramdisk_compressed(const char * Line 116  int load_ramdisk_compressed(const char *
116   rv = inflate(&zs, Z_SYNC_FLUSH);   rv = inflate(&zs, Z_SYNC_FLUSH);
117   } while (rv == Z_OK || rv == Z_BUF_ERROR);   } while (rv == Z_OK || rv == Z_BUF_ERROR);
118    
119   DEBUG(("kinit: inflate returned %d\n", rv));   dprintf("kinit: inflate returned %d\n", rv);
120    
121   if (rv != Z_STREAM_END)   if (rv != Z_STREAM_END)
122   goto err2;   goto err2;
123    
124   /* Write the last */   /* Write the last */
125   _fwrite(out_buf, BUF_SZ - zs.avail_out, wfd);   _fwrite(out_buf, BUF_SZ - zs.avail_out, wfd);
126   DEBUG(("kinit: writing %d bytes\n", BUF_SZ - zs.avail_out));   dprintf("kinit: writing %d bytes\n", BUF_SZ - zs.avail_out);
127    
128   inflateEnd(&zs);   inflateEnd(&zs);
129   return 0;   return 0;
# Line 153  load_ramdisk_raw(const char *devpath, FI Line 152  load_ramdisk_raw(const char *devpath, FI
152   if (ioctl(rfd, BLKGETSIZE64, &ramdisk_size))   if (ioctl(rfd, BLKGETSIZE64, &ramdisk_size))
153   ramdisk_size = ~0ULL;   ramdisk_size = ~0ULL;
154    
155   DEBUG(("start: %llu  size: %llu  fssize: %llu\n",   dprintf("start: %llu  size: %llu  fssize: %llu\n",
156         ramdisk_start, ramdisk_size, fssize));   ramdisk_start, ramdisk_size, fssize);
157    
158   while (fssize) {   while (fssize) {
159    
# Line 189  load_ramdisk_raw(const char *devpath, FI Line 188  load_ramdisk_raw(const char *devpath, FI
188   return !!fssize;   return !!fssize;
189  }  }
190    
191  int ramdisk_load(int argc, char *argv[], dev_t root_dev)  int ramdisk_load(int argc, char *argv[])
192  {  {
193   const char *arg_prompt_ramdisk = get_arg(argc, argv, "prompt_ramdisk=");   const char *arg_prompt_ramdisk = get_arg(argc, argv, "prompt_ramdisk=");
194   const char *arg_ramdisk_blocksize =   const char *arg_ramdisk_blocksize =
# Line 243  int ramdisk_load(int argc, char *argv[], Line 242  int ramdisk_load(int argc, char *argv[],
242      (fssize == 0 && !(is_gzip = !strcmp(fstype, "gzip")))) {      (fssize == 0 && !(is_gzip = !strcmp(fstype, "gzip")))) {
243   fprintf(stderr,   fprintf(stderr,
244   "Failure loading ramdisk: unknown filesystem type\n");   "Failure loading ramdisk: unknown filesystem type\n");
245     close(rfd);
246     fclose(wfd);
247   return 0;   return 0;
248   }   }
249    
250   DEBUG(("kinit: ramdisk is %s, size %llu\n", fstype, fssize));   dprintf("kinit: ramdisk is %s, size %llu\n", fstype, fssize);
251    
252   fprintf(stderr, "Loading ramdisk (%s) ...", is_gzip ? "gzip" : "raw");   fprintf(stderr, "Loading ramdisk (%s) ...", is_gzip ? "gzip" : "raw");
253    

Legend:
Removed from v.532  
changed lines
  Added in v.1297