home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / system / filesyst / ext2 / ext2fs.faq < prev    next >
Encoding:
Text File  |  1993-04-24  |  3.7 KB  |  87 lines

  1.  
  2.         FAQ for the second extended file system
  3.             Last updated on 93/03/29
  4.  
  5.  
  6.     This file contains the answers to some frequently asked questions
  7. regarding the second extended file system.
  8.  
  9. Q: I have created an ext 2 fs on my root file system and, every time I boot
  10.    Linux, I see these messages :
  11.     MINIX-fs magic match failed
  12.     EXT-fs: magic match failed
  13. Does it mean that Linux doesn't recognize my root file system ?
  14.  
  15. A: No.
  16.    When Linux boots, it tries to mount the root file system using the
  17.    different file system types :
  18.     - it first tries to mount / as a minix file system, discovers that it
  19.       is not a minix fs and displays the first error message,
  20.     - then it tries to mount / as an extended file system, discovers that
  21.       it is not an extended fs and displays the second error message.
  22.  
  23. Q: After the two error messages, I see :
  24.     [EXT II FS 0.2c, 93/03/06, bs=1024, fs=1024, gc=##, bpg=##, ipg=####]
  25.     EXT2-fs warning: mounting non valid file system
  26.    Does it mean that there is a problem with the file system ?
  27.  
  28. A: Usually no.
  29.    In fact, the ext 2 fs keeps a valid flag on the disk.  This flag is set to
  30.    0 when the file system is mounted and set to 1 when it is unmounted.  The
  31.    valid flag is checked by e2fsck to know if a file system needs checking (if
  32.    the flag is set to 1, e2fsck assumes that the file system is clean and does
  33.    not check it).
  34.  
  35.    The root file system is the only fs which cannot be unmounted so the valid
  36.    flag is always set to 0.  When booting, the kernel mounts it and checks its
  37.    valid flag.  As this flag is set to 0, it displays a warning.
  38.  
  39.    You can safely ignore this warning for the root file system.  Note that it
  40.    is a good idea to run e2fsck on the fs.
  41.  
  42. Q: I have tried to create an ext 2 file system with mke2fs and it dies with
  43.    'Out of memory'.  What is the problem ?
  44.  
  45. A: The problem comes from mke2fs itself.  mke2fs eats lots of memory to create
  46.    a file system since it creates a memory copy of the inode table.  The
  47.    problem has been fixed in recent versions (0.2c+ or above).  Note that
  48.    e2fsck still has the same problem.
  49.  
  50. Q: I have tried to create an ext 2 fs with mke2fs and it dies with the
  51.    message :
  52.     mke2fs: Unable to find a block for the block bitmap
  53.    or :
  54.     mke2fs: Unable to find a block for the inode bitmap
  55.    or:
  56.     mke2fs: Unable to find a block for the inode table
  57.    What is the problem ?
  58.  
  59. A: An ext 2 fs is made of several blocks groups.  Each group contains a copy
  60.    of the super block, a copy of the fs descriptors, two bitmap blocks and
  61.    a part of the inode table.  Each group is 8192 blocks long.
  62.  
  63.    When you create a file system, mke2fs divides the total number of blocks by
  64.    8192 to compute the number of groups.  Then, it tries to write the control
  65.    informations into each group.  Sometimes, the last group may be too small to
  66.    contain these informations and mke2fs simply dies when it detects the
  67.    problem.  This (stupid) behaviour will be fixed in a future release.
  68.  
  69.    With the current release, you can bypass the problem by creating a smaller
  70.    or bigger file system (i.e. decrease or increase the blocks count).
  71.  
  72. Q: When I run df, it shows that my ext 2 fs is more than 100% full.  Is it
  73.    normal ?
  74.  
  75. A: Yes.
  76.  
  77.    Each ext 2 fs contains some blocks which are reserved for the super user
  78.    (i.e. which cannot be allocated to normal users).  df uses the statfs()
  79.    system call which returns a structure containing :
  80.     - f_blocks : the total count of allocated blocks,
  81.     - f_bfree : the total count of free blocks,
  82.     - f_bavail : the count of free blocks available to normal user.
  83.  
  84.    df divides f_blocks by f_bavail to compute the block allocation percentage.
  85.    In an ext 2 fs where root has allocated most of the block, f_blocks is
  86.    greater than f_bavail so the allocation percentage is greater than 100%.
  87.