Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame^] | 1 | Thu Oct 26 12:05:30 1995 <tytso@rsts-11.mit.edu> |
| 2 | |
| 3 | * Makefile.in (install): Strip programs when they are installed. |
| 4 | (e2fsck): Build e2fsck statically. |
| 5 | |
| 6 | Wed Oct 25 21:18:16 1995 <tytso@rsts-11.mit.edu> |
| 7 | |
| 8 | * util.c (preenhalt): Preenhalt now takes an argument, which is an |
| 9 | ext2fs_filsys; this allows it to set the EXT2_ERROR_FS |
| 10 | flag in the superblock in cases where preenhalt is called. |
| 11 | All calls to preenhalt() were changed to either |
| 12 | preenhalt(fs) or preenhalt(NULL) in a few cases where the |
| 13 | fs pointer was not available. (Most notable, for block |
| 14 | read/write errors.) |
| 15 | |
| 16 | Mon Sep 4 21:41:03 1995 Remy Card <card@bbj> |
| 17 | |
| 18 | * ehandler.c: |
| 19 | util.c: Include <sys/time.h> before <sys/resource.h>. BSD needs it. |
| 20 | |
| 21 | Mon Sep 4 10:14:49 1995 <tytso@rsts-11.mit.edu> |
| 22 | |
| 23 | * e2fsck.c (show_stats): Show statistics about how many inodes |
| 24 | have indirect, doubly indirect, and triply indirect |
| 25 | blocks. Allow up to 8 digits for statistics, instead of |
| 26 | merely 6, so things look pretty for large filesystems. |
| 27 | |
| 28 | * pass1.c (pass1): Keep statistics about indirect, doubly |
| 29 | indirect, and triply indirect blocks. |
| 30 | |
| 31 | * pass1.c (unwind_pass1): Clear the above statistics when unwinding |
| 32 | pass 1. |
| 33 | |
| 34 | Fri Aug 18 15:17:10 1995 Theodore Y. Ts'o <tytso@dcl> |
| 35 | |
| 36 | * util.c, ehandler.c: Move #include of <sys/resource.h> after |
| 37 | #include of "e2fsck.h", since sys/resource.h may depend on |
| 38 | sys/time.h, which is #included in e2fsck.h. |
| 39 | |
| 40 | Thu Aug 17 22:33:37 1995 <tytso@rsts-11.mit.edu> |
| 41 | |
| 42 | * e2fsck.c (check_mount): Use the new ext2fs_check_if_mounted() |
| 43 | function to determine if the device is mounted. |
| 44 | |
| 45 | * e2fsck.c (main): Add better error messages if ext2fs_open() |
| 46 | fails. |
| 47 | |
| 48 | Wed Aug 16 16:25:02 1995 <tytso@rsts-11.mit.edu> |
| 49 | |
| 50 | * pass1.c (check_blocks): If we're clearing a directory, clear |
| 51 | pb.is_dir so we don't do the following check of making |
| 52 | sure the directory size matches; this is pointless, since |
| 53 | we've already cleared the inode. |
| 54 | |
| 55 | Fri Aug 11 09:08:54 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu> |
| 56 | |
| 57 | * pass1.c (bad_primary_block): New function, called by |
| 58 | process_bad_block, which explains the facts of life to the |
| 59 | user when a block in the primary superblock or primary |
| 60 | group descriptors is bad. |
| 61 | |
| 62 | * pass2.c (check_dot): Handle the case where the first directory |
| 63 | entry is used, but not ".". |
| 64 | |
| 65 | * pass2.c (check_dotdot): Handle the case where the second directory |
| 66 | entry is used, but is not "..". |
| 67 | |
| 68 | Thu Aug 10 10:05:10 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu> |
| 69 | |
| 70 | * e2fsck.c (check_super_block): Get the size of the physical |
| 71 | device and if it is smaller than the reported size of the |
| 72 | filesystem, report an error. |
| 73 | |
| 74 | Sat Aug 12 03:39:18 1995 Remy Card <card@bbj> |
| 75 | |
| 76 | * e2fsck.c (check_if_skip): Print the number of allocated files and |
| 77 | blocks on clean filesystems. |
| 78 | |
| 79 | Fri Aug 11 14:15:36 1995 Remy Card <card@bbj> |
| 80 | |
| 81 | * e2fsck.8: Updated date and version number. |
| 82 | |
| 83 | Thu Aug 10 14:26:01 1995 Remy Card <card@bbj> |
| 84 | |
| 85 | * pass1.c (check_blocks): Check that directory size matches *exactly* |
| 86 | the count of allocated blocks. |
| 87 | |
| 88 | Wed Aug 9 21:21:24 1995 Theodore Y. Ts'o <tytso@dcl> |
| 89 | |
| 90 | * pass1b.c (pass1d): Free the shared[] array when we're done with |
| 91 | it to avoid a memory leak. |
| 92 | |
| 93 | * pass1.c (unwind_pass1): Use ext2fs_free_block_bitmap to free the |
| 94 | block_dup_map. |
| 95 | |
| 96 | * pass2.c (process_bad_inode): When clearing the inode, make sure |
| 97 | the pathname is freed, to prevent a memory leak. |
| 98 | |
| 99 | * pass5.c (check_inode_bitmaps): Free free_array and dir_array |
| 100 | when we're finished with them. |
| 101 | (check_block_bitmaps): Free free_array when we're finished |
| 102 | with them. |
| 103 | |
| 104 | * Makefile.in (e2fsck, flushb): Use $(LD) instead of $(CC) when |
| 105 | linking the executable. |
| 106 | |
| 107 | * pass2.c (process_bad_inode): Even on OS's that don't support the |
| 108 | fragment fields, make sure the Linux equivalent fields are |
| 109 | set to zero. If an OS wants to reuse these fields, which |
| 110 | is probably a bad idea (although we may get desperate in |
| 111 | the future) this code will have to be changed. |
| 112 | |
| 113 | * pass1.c (dir_block_cmp): If the block numbers are equal, compare |
| 114 | on the inode field, and then blockcnt field. This is just |
| 115 | to keep the ordering of dir_blocks the same on all |
| 116 | platforms when there are more than on missing directory |
| 117 | blocks, which are indicated directories with holes, which |
| 118 | are indicated with the block number being set to zero. |
| 119 | |
| 120 | Sun Aug 6 15:40:58 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu> |
| 121 | |
| 122 | * pass1.c (check_blocks, process_block): check_blocks() modified |
| 123 | to call the ext2fs_block_iterate() with BLOCK_FLAG_HOLE if |
| 124 | the inode is a directory. process_block() now checks to |
| 125 | see if a directory has a "hole", or missing block. If so, |
| 126 | this fact is recorded in the directory block list so that |
| 127 | the problem can be resolved in pass #2. |
| 128 | |
| 129 | * pass2.c (allocate_dir_block): Added allocate_dir_block() to |
| 130 | allocate new blocks for directories with "holes". Called |
| 131 | out of check_dir_block if a block in the directory block |
| 132 | list is zero. |
| 133 | |
| 134 | * pass3.c (get_lost_and_found): Move location of free(block) to |
| 135 | prevent possible memory leak. |
| 136 | |
| 137 | Sat Aug 5 12:42:22 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu> |
| 138 | |
| 139 | * pass2.c (check_dir_block): Use a automatic, fixed-saize array |
| 140 | instead of alloca() --- alloca is not portable! Check to |
| 141 | make sure the filename is not longer than EXT2_NAME_LEN, |
| 142 | and offer to fix it by truncating it, since it should |
| 143 | never happen. |
| 144 | |
| 145 | * e2fsck.c (PRS): Use malloc() instead of alloca() --- alloca() is |
| 146 | not portable!! In any case putenv() in some systems must |
| 147 | take a static character array or malloc()'ed memory; |
| 148 | passing memory allocated using alloca() to putenv() is not |
| 149 | advisable. |
| 150 | |
| 151 | * pass2.c (check_dot, check_dotdot): Use malloc() instead of |
| 152 | alloca() --- alloca() is not portable!!! |
| 153 | |
| 154 | Tue Jul 18 20:04:02 1995 <tytso@rsx-11.mit.edu> |
| 155 | |
| 156 | * pass1b.c (pass1c): |
| 157 | * pass3.c (check_root, get_lost_and_found): |
| 158 | * pass2.c (check_dir_block): Use ext2fs_{read,write}_dir_block |
| 159 | to read/write the directory block. |
| 160 | |
| 161 | Mon Jul 17 04:00:56 1995 <tytso@rsx-11.mit.edu> |
| 162 | |
| 163 | * util.c (ask_yn): Apply patch supplied by Peter A. Zaitcev to |
| 164 | make sure VMIN and VTIME are set correct. |
| 165 | |
| 166 | Fri Jul 14 19:26:29 1995 <tytso@rsx-11.mit.edu> |
| 167 | |
| 168 | * pass1.c (mark_block_used): Change to be an inline function. |
| 169 | Assume that the block validity checks are already done, |
| 170 | and use the fast variant of the bitmap functions. |
| 171 | |
| 172 | Thu Jul 13 08:10:55 1995 <tytso@rsx-11.mit.edu> |
| 173 | |
| 174 | * pass5.c (check_block_bitmaps, check_inode_bitmaps): Check the |
| 175 | bounds of the bitmaps in advance, and then use the fast |
| 176 | variant of e2fs_test_{block,inode}_bitmap. |
| 177 | |
| 178 | * pass1.c (mark_block_used): Use ext2_fast_mark_block_bitmap since |
| 179 | the bounds checking has already been done earlier. |
| 180 | |
| 181 | Wed Jul 12 02:22:46 1995 <tytso@rsx-11.mit.edu> |
| 182 | |
| 183 | * pass1.c (pass1): Allocate and free the block_illegal_map, which |
| 184 | is used for shortcut processing in process_block. |
| 185 | (mark_table_blocks): Initialize block_illegal_map with the |
| 186 | filesystem blocks. |
| 187 | (describe_illegal_block): New helper function that |
| 188 | describes why a block is illegal. |
| 189 | (process_block): Use block_illegal_map as a shortcut |
| 190 | to determine whether a block is bad. Use |
| 191 | describe_illegal_block to print out why the block is illegal. |
| 192 | |
| 193 | Mon Jun 12 19:11:06 1995 Theodore Y. Ts'o (tytso@dcl) |
| 194 | |
| 195 | * flushb.c: Don't include <linux/fs.h> if it doesn't exist. |
| 196 | |
| 197 | * scantest.c: Don't include <linux/fs.h>, <getopt.h>, or |
| 198 | <mntent.h> if they don't exist. (Mostly so that "make |
| 199 | depend" works.) |
| 200 | |
| 201 | * pass1.c, pass1b.c, pass3.c, badblocks.c: Include <errno.h> (if |
| 202 | it exists). |
| 203 | |
| 204 | * e2fsck.c, scantest.c: Don't include <getopt.h> if it doesn't |
| 205 | exist. |
| 206 | |
| 207 | Mon Jun 12 08:37:49 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu> |
| 208 | |
| 209 | * pass2.c (process_bad_inode, check_for_zero_long, |
| 210 | check_for_zero_char): Change long to u32, and char to u8. |
| 211 | |
| 212 | Sun Jun 11 15:05:57 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu> |
| 213 | |
| 214 | * util.c (inode_has_valid_blocks): |
| 215 | * pass2.c (process_bad_inode): |
| 216 | * pass1.c (pass1, check_blocks, pass1_check_directory): Use |
| 217 | LINUX_S_IS* instead of S_IS*. |
| 218 | |
| 219 | * e2fsck.h: Don't #include <sys/stat.h> |
| 220 | |
| 221 | * flushb.c (main): Add #ifdef BLKFLSBUF around ioctl. (Although |
| 222 | this program is pretty much useless if BLKFLSBUF isn't |
| 223 | supported.) |
| 224 | |
| 225 | * e2fsck.c, badblocks.c: Add #include <errno.h>, since errno is |
| 226 | used. |
| 227 | |
| 228 | Thu Jun 8 12:31:19 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> |
| 229 | |
| 230 | * pass2.c (check_dot, check_dotdot, check_dir_block): Use alloca |
| 231 | to allocate space for file names instead of using fixed size buffers. |
| 232 | (process_bad_inode): Only check inode frag fields if |
| 233 | HAVE_EXT2_FRAGS is defined (by configure). |
| 234 | * pass1.c (pass1): Only check the inode frag fields if |
| 235 | HAVE_EXT2_FRAGS is defined (by configure). |
| 236 | |
| 237 | * e2fsck.c (check_mount): Only check for a mounted filesystem if |
| 238 | HAVE_MNTENT_H is defined (by configure). |
| 239 | (PRS): Use alloca to allocate the new path string, instead of |
| 240 | having a fixed size buffer (which was the wrong size anyway). |
| 241 | (PRS): Only support the -F (flush) option if the BLKFLSBUF ioctl |
| 242 | is defined. |
| 243 | |
| 244 | * e2fsck.h: Only include <linux/fs.h> if HAVE_LINUX_FS_H is |
| 245 | defined (by configure). |
| 246 | |
| 247 | * Makefile.in: Rewritten to conform to GNU coding standards and |
| 248 | support separate compilation directories. |
| 249 | |
| 250 | Thu Apr 6 15:04:36 1995 Remy Card <card@bbj.ibp.fr> |
| 251 | |
| 252 | * pass1.c (pass1): Test the mode in reserved inodes (must be zero). |
| 253 | |
Theodore Ts'o | f3db356 | 1997-04-26 13:34:30 +0000 | [diff] [blame] | 254 | Sat Mar 11 13:12:16 1995 Theodore Y. Ts'o <tytso@localhost> |
| 255 | |
| 256 | * pass1.c (unwind_pass1): Clear the file type statistics counter |
| 257 | when pass 1 needs to be restarted from scratch. |
| 258 | |
| 259 | * pass1.c (handle_fs_bad_blocks): Fix bug where bitmap blocks were |
| 260 | being reallocated to blocks in the next block group, |
| 261 | instead of the current block grup. |
| 262 | |
| 263 | * pass1.c (pass1, check_blocks): Set inode_link_info[ino] whenever |
| 264 | inode.i_links_count is set. |
| 265 | |
| 266 | Tue Feb 14 01:38:04 1995 Theodore Y. Ts'o (tytso@rt-11) |
| 267 | |
| 268 | * pass1.c (process_block): Add checks for if the block is |
| 269 | trepassing on a superblock or group descriptor table. |
| 270 | |
| 271 | Sat Dec 31 00:52:11 1994 <tytso@rsx-11.mit.edu> |
| 272 | |
| 273 | * main.c (corrupt_msg): Extend the message which is printed out |
| 274 | when the superblock is corrupt, to include the suggestion |
| 275 | of using the -b option to specify an alternate superblock. |
| 276 | |
| 277 | Thu Nov 24 09:29:58 1994 Theodore Y. Ts'o (tytso@rt-11) |
| 278 | |
| 279 | * badblocks.c (read_bad_blocks_file): If we are adding or |
| 280 | replacing bad blocks in the bad blocks inode, sanity check |
| 281 | the bad block inode first, and clear out any illegal blocks. |
| 282 | |
| 283 | * pass2.c (check_name): Don't bomb out if the attempt to get the |
| 284 | pathname of the containing directory returns an error; the |
| 285 | directory may be too badly damaged to expect that |
| 286 | ext2fs_get_pathname will always succeed. Use "???" if the |
| 287 | pathname can't be obtained (it's only for a printf to the |
| 288 | user anyway). |
| 289 | |
| 290 | The name of the containing directory and the bad filename |
| 291 | were incorrectly interchanged in the user message. Fixed. |
| 292 | |
| 293 | * pass2.c (check_name, check_dir_block): Use a common static |
| 294 | string for the unknown pathname. |
| 295 | |
| 296 | Mon Nov 7 22:30:54 1994 Remy Card <card@bbj> |
| 297 | |
| 298 | * Fixed lots of printf formats to make sure that block and inode |
| 299 | numbers are printed as unsigned integers. |
| 300 | |
| 301 | Mon Oct 24 14:10:46 1994 (tytso@rsx-11) |
| 302 | |
| 303 | * pass5.c (check_block_end): Fix calculation of how the last block |
| 304 | in the block bitmap should be calculated. |
| 305 | |
| 306 | Wed Sep 7 10:01:13 1994 (tytso@rsx-11) |
| 307 | |
| 308 | * pass1b.c (pass1_dupblocks): Fix declaration of dup_inode_map to |
| 309 | be an ext2fs_inode_bitmap, and free it properly. |
| 310 | |
| 311 | * e2fsck.h |
| 312 | * e2fsck.c (main): Folded in Remy Card's changes to add a revision |
| 313 | level to the superblock. |
| 314 | |
| 315 | Wed Aug 17 22:00:20 1994 Remy Card (card@bbj) |
| 316 | |
| 317 | * e2fsck.c (usage): Fixed bogus usage message. |
| 318 | |
| 319 | Wed Aug 17 11:21:45 1994 Theodore Y. Ts'o (tytso@rt-11) |
| 320 | |
| 321 | * pass1.c (process_bad_block): Fixed bug so that blocks in the |
| 322 | backup superblocks and group descriptors are handled gracefully. |
| 323 | |