diff options
Diffstat (limited to 'ext2fs/ChangeLog')
-rw-r--r-- | ext2fs/ChangeLog | 1138 |
1 files changed, 1138 insertions, 0 deletions
diff --git a/ext2fs/ChangeLog b/ext2fs/ChangeLog new file mode 100644 index 00000000..fa565d86 --- /dev/null +++ b/ext2fs/ChangeLog @@ -0,0 +1,1138 @@ +2000-01-16 Mark Kettenis <kettenis@gnu.org> + + * pager.c (file_pager_write_page): Lock NODE->dn->alloc_lock + before accessing NODE->allocsize. Fixes Debian bug #40302. + +1999-10-13 Roland McGrath <roland@baalperazim.frob.com> + + * ext2fs.c (diskfs_name_max): New variable. + +1999-10-06 Roland McGrath <roland@baalperazim.frob.com> + + * hyper.c (get_hypermetadata): Avoid overflow in calculation of disk + size vs superblock-specified requirement. + Add a warning for wasted disk blocks after last filesystem block. + +1999-10-03 Roland McGrath <roland@baalperazim.frob.com> + + * dir.c (ext2_file_type): #if 0 out this variable. + (diskfs_get_directs): #if 0 out code to interpret file_type field + and set d_type. Instead, always return DT_UNKNOWN for now. + + * dir.c (file_type_ext2): #if 0 out. + (diskfs_direnter_hard): #if 0 out code to set file_type field in + directory entries. Instead, always set it to zero. + +1999-10-03 Roland McGrath <roland@baalperazim.frob.com> + + * bitmap.c (ffz): Subtract one from (1-origin) result of ffs to get + our (0-origin) result. + + * Makefile (LCLHDRS): bitmap.h -> bitmap.c + + * ext2fs.h (test_bit, set_bit, clear_bit): Rewritten to operate on + 32-bit words instead of bytes. + + * truncate.c (diskfs_truncate): Add missing call to + diskfs_end_catch_exception. + + * ext2fs.h (group_desc): Inline function replaced with macro. + (group_desc_image): New variable. + * hyper.c (get_hypermetadata): Initialize it. + + * ext2fs.h (sblock_block): Declare new variable. + (SBLOCK_LBLOCK): Macro removed. + (SBLOCK_OFFS): Define in terms of sblock_block. + * ext2fs.c (options): Add --sblock/-S. + (parse_opt): Parse it to set sblock_block. + * hyper.c (sblock_block): New variable. + (get_hypermetadata): Use sblock_block instead of constant SBLOCK_BLOCK. + + * ext2fs.c (options): List --debug/-D unconditionally, adding to help + text #ifndef EXT2FS_DEBUG + (parse_opt): Always grok -D. #ifndef EXT2FS_DEBUG, reject it with + message saying debugging support not compiled in. + + * hyper.c (get_hypermetadata): Use EXT2_MAX_BLOCK_SIZE instead of + hard-wired 8192. Don't use ffs to compute log2_block_size, and don't + check for the impossible case of non-power-of-two block size (the + block size specification we start with is given as a power of two!). + * ext2fs.h (block_size): Change type to unsigned int. + (BLOCKSIZE_SCALE): Just use SBLOCK->s_log_block_size directly. + * hyper.c (get_hypermetadata): Fix printf formats to silence warning. + * dir.c (dirscanblock): Likewise. + + * dir.c (file_type_ext2): New const variable, map DT_* -> EXT2_FT_*. + (diskfs_direnter_hard): Move initialization of directory entry content + fields out of switch; use memcpy or memmove as appropriate, instead of + bcopy. Set file_type field in new directory entry to appropriate + type for the node, or to zero if the filesystem doesn't have the + EXT2_FEATURE_INCOMPAT_FILETYPE flag set. + +1999-10-02 Roland McGrath <roland@baalperazim.frob.com> + + * ext2fs.h (SBLOCK_LBLOCK): New macro, filesystem block number of sb. + (BLOCKSIZE_SCALE): New macro for converting min-blocks to fs blocks. + (group_desc): Fix calculation of offset from superblock, so it works + properly with block_size != EXT2_MIN_BLOCK_SIZE. + + * ext2fs.h (EXT2FS_EI): New macro, use it for all extern inlines. + + * bitmap.c (count_free, find_next_zero_bit, find_first_zero_bit): + Make these all static inline. + (ffz, ffz_nibble_map): Function and variable removed. + (ffz): Replace decl with macro defined in terms of ffs. + * ext2fs.h (count_free, find_next_zero_bit, find_first_zero_bit, ffz): + Remove these declarations. + * Makefile (SRCS): Remove bitmap.c. + (LCLHDRS): Add bitmap.c here instead. + * balloc.c, ialloc.c: #include "bitmap.c" here. + +1999-10-01 Roland McGrath <roland@baalperazim.frob.com> + + * bitmap.c (memscan): Function removed. + * ext2fs.h: Removed its decl. + * balloc.c (memscan): New static function, defined using memchr. + +1999-09-13 Roland McGrath <roland@baalperazim.frob.com> + + * dir.c, truncate.c, pager.c: Reverted changes related to + io_map_segment. + +1999-09-09 Roland McGrath <roland@baalperazim.frob.com> + + * Makefile (makemode): server -> servers. + (targets): Replaced with target; remove ext2fs.static. + (ext2fs.static-LDFLAGS): Variable removed. + (ext2fs, ext2fs.static): Remove deps. + +1999-09-07 Thomas Bushnell, BSG <tb@mit.edu> + + * dir.c (diskfs_lookup_hard): Pass additional parameter to + diskfs_get_filemap. + (diskfs_dirempty): Likewise. + * truncate.c (force_delayed_copies): Likewise. + * pager.c (diskfs_get_filemap): Accept additional parameter. + +1999-09-04 Thomas Bushnell, BSG <tb@mit.edu> + + * pager.c (file_pager_write_page): Don't report errors on writes + that extend past NODE->allocsize. This avoids a race between sync + and truncate. Reported by Mark Kettenis <kettenis@wins.uva.nl>. + +1999-08-23 Roland McGrath <roland@baalperazim.frob.com> + + * ext2_fs.h, ext2_fs_i.h: Replaced with Linux 2.3.14 versions. + * ext2fs.h (i_mode_high): New macro, missing from ext2_fs.h. + + * inode.c (read_node): Don't set INFO->i_version. + Extract INFO->i_dir_acl value only for a directory; + otherwise use zero and instead extract INFO->i_high_size. + Fail with EFBIG if INFO->i_high_size is nonzero. + + * ialloc.c (diskfs_alloc_node): Propagate initial value of i_flags + from directory, as Linux 2.3.14 does. + + * inode.c (write_node): Get i_flags from NP->dn->info instead of from + the disk inode, so we can have modified the in-core version. + * dir.c (diskfs_direnter_hard, diskfs_dirremove_hard, + diskfs_dirrewrite_hard): Clear EXT2_BTREE_FL flag bit from + DP->dn->info.i_flags after modifying the directory (this is what + Linux 2.3.14 does). + + * inode.c (read_node): i_version -> i_generation + * inode.c (write_node): Likewise. + + * balloc.c (ext2_free_blocks): Handle freeing across group boundary, + as Linux 2.3.14 does. + + * balloc.c (ext2_check_blocks_bitmap): If RO_COMPAT_SPARSE_SUPER + feature flag is set, or if group number is not a power of 3, 5, or 7 + (I don't know why; this is what Linux 2.3.14 does), skip tests for + superblocks and descriptor blocks being free in bitmap. + + * dir.c: Replace `struct ext2_dir_entry' with `struct ext2_dir_entry_2' + in all uses. + (ext2_file_type): New static const variable. + (diskfs_get_directs): Set d_type member based on file_type field in + directory entry. + + * balloc.c (ext2_new_block): Take new arg PREALLOC_GOAL. + Use that instead of hard-coded 8 as maximum of blocks to preallocate. + Also test that instead of PREALLOC_COUNT to decide whether to + try any preallocation at all. + * getblk.c (ext2_alloc_block): Pass new arg to ext2_new_block. + Use EXT2_DEFAULT_PREALLOC_BLOCKS as default (replaces hard-coded 8); + For a regular file, use SBLOCK->s_prealloc_blocks before default. + For a directory, use SBLOCK->s_dir_prealloc_blocks if the + EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is set, otherwise zero. + * inode.c (diskfs_set_translator): Pass new arg (zero). + +1999-07-11 Roland McGrath <roland@baalperazim.frob.com> + + * dir.c (diskfs_get_directs): Fix sloppy bugs in last change. + * hyper.c (allocate_mod_map): Likewise. + * pager.c (get_page_buf): Likewise. + +1999-07-10 Roland McGrath <roland@baalperazim.frob.com> + + * ext2fs.h: Add #include <sys/mman.h> for munmap decl. + +1999-07-06 Thomas Bushnell, BSG <tb@mit.edu> + + * dir.c (diskfs_get_directs): Use mmap instead of vm_allocate. + * hyper.c (allocate_mod_map): Likewise. + (get_hypermetadata): Likewise. + * pager.c (get_page_buf): Likewise. + + * hyper.c (diskfs_readonly_changed): Use mprotect instead of + vm_protect. + +1999-07-03 Thomas Bushnell, BSG <tb@mit.edu> + + * dir.c (diskfs_lookup_hard): Use munmap instead of vm_deallocate. + (diskfs_direnter_hard): Likewise. + (diskfs_dirremove_hard): Likewise. + (diskfs_dirrewrite_hard): Likewise. + (diskfs_dirempty): Likewise. + (diskfs_drop_dirstat): Likewise. + (diskfs_get_directs): Likewise. + * hyper.c (allocate_mod_map): Likewise. + (get_hypermetadata): Likewise. + * pager.c (free_page_buf): Likewise. + * truncate.c (poke_pages): Likewise. + +1999-06-29 Thomas Bushnell, BSG <tb@mit.edu> + + * hyper.c (diskfs_readonly_changed): Adjust whether the store + should permit writes too. + +1999-06-19 Roland McGrath <roland@baalperazim.frob.com> + + * pager.c (free_page_buf): Fix type cast. + +Tue Jun 15 21:51:58 1999 Thomas Bushnell, BSG <tb@mit.edu> + + * pager.c: Clamp the number of free pages we keep around to some + reasonably small value. Patch from Mark Kettenis + <kettenis@wins.uva.nl>. + +1999-06-15 Thomas Bushnell, BSG <tb@mit.edu> + + * inode.c (diskfs_validate_flags_change): Invert sense of test wrt + bits that haven't yet been defined. Reported by Kalle Olavi + Niemitalo <tosi@ees2.oulu.fi>. + +1999-05-23 Roland McGrath <roland@baalperazim.frob.com> + + * ialloc.c (diskfs_alloc_node): Frob printf format to suppress warning. + * getblk.c (ext2_getblk): Likewise. + * balloc.c (ext2_free_blocks): Likewise. + * hyper.c (get_hypermetadata): Likewise. + + * ialloc.c (diskfs_alloc_node): If creator_os is not EXT2_OS_HURD, + suppress warnings about stale nonzero st_blocks or st_size. + +1999-05-19 Roland McGrath <roland@baalperazim.frob.com> + + * ext2fs.c (main): Include store size in panic msg when it's too small. + +1999-01-23 Roland McGrath <roland@baalperazim.frob.com> + + * ext2fs.c (main): Use diskfs_init_main. + +1998-12-27 Roland McGrath <roland@baalperazim.frob.com> + + * inode.c (diskfs_set_statfs): Remove __ from struct members. + +1998-12-21 Mark Kettenis <kettenis@phys.uva.nl> + + * inode.c (diskfs_set_statfs): Fill in statfs members that are + used to implement statvfs. + +1998-12-27 Roland McGrath <roland@baalperazim.frob.com> + + * ext2fs.c (main): Pass ARGP_IN_ORDER flag to argp_parse because + diskfs options need it. + +1998-12-20 Roland McGrath <roland@baalperazim.frob.com> + + * inode.c (diskfs_write_disknode): Add braces to silence warning. + * pager.c (file_pager_read_page): Likewise. + + * storeinfo.c: Don't include <netinet/in.h>. + +1998-09-04 Roland McGrath <roland@baalperazim.frob.com> + + * dir.c (dirscanblock): Fix defn with `const'. + (diskfs_direnter_hard): Likewise. + * inode.c (diskfs_create_symlink_hook): Likewise. + (write_symlink): Likewise. + + * pager.c: strings.h -> string.h; gets strerror decl. + + * ext2fs.c (main): Fix return type to int. + + * dir.c (diskfs_lookup_hard): Fix defn with `const'. + * inode.c (diskfs_set_translator): Likewise. + +Wed Aug 20 14:28:00 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * dir.c (diskfs_lookup_hard): Cope with error return from + diskfs_get_filemap. + (diskfs_dirempty): Cope (poorly) with error return from + diskfs_get_filemap. + * truncate.c (force_delayed_copies): Likewise. + + * pager.c (diskfs_get_filemap): If pager_create fails, return + error to caller. + +Mon Jun 30 17:34:27 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ext2fs.c (diskfs_readonly): Delete variable definition. + (main): If the store cannot be made writable, then set + diskfs_hard_readonly and diskfs_readonly. + +1997-06-20 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (disk_pager_read_page): Initialize READ to 0 to force + store_read to allocate a buffer. + +1997-06-18 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Get rid of device-block-size-is-power-of-2 check. + +Tue Jun 3 17:18:35 1997 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (read_node): Don't assert that st_blocks is zero for + non-dir/file/long-symlink inodes. + +Tue Nov 19 18:30:37 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (read_node): If SBLOCK->s_creator_os != EXT2_OS_HURD, + set NP->author_tracks_uid to true. + +Mon Nov 18 17:14:31 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ialloc.c (diskfs_alloc_node): Clear S_IPTRANS bit in ST->st_mode + instead of NP->istranslated. + * inode.c (read_node): Set S_IPTRANS bit in ST->st_mode (and clear + S_ITRANS) rather than NP->istranslated. + (write_node): Don't write S_IPTRANS to disk. + (diskfs_set_translator): Frob S_IPTRANS bit rather than + istranslated field. + +Sat Nov 16 17:26:20 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): diskfs_isuid -> + idvec_contains. + +Tue Nov 12 17:53:08 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (diskfs_validate_flags_change): New function. + (write_node): Convert generic flags in ST->st_flags to ext2- + specific flags in DI->i_flags. + (read_node): Renamed from read_disknode; all callers changed. + Convert ext2-specific flags on disk to generic flags in ST. + [!UF_APPEND] (UF_APPEND): New macro (temporary). + [!UF_NODUMP] (UF_NODUMP): New macro (temporary). + [!UF_IMMUTABLE] (UF_IMMUTABLE): New macro (temporary). + <sys/stat.h>: New include. + +Thu Oct 24 16:24:05 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (startup_children, runtime_children): New variables. + (startup_parents, runtime_parents): Variables removed. + (startup_argp, runtime_argp): Use new *_CHILDREN variables instead of + corresponding *_PARENT ones. + +Wed Oct 9 13:30:15 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Return ports with + MACH_MSG_TYPE_COPY_SEND, not MACH_MSG_TYPE_MAKE_SEND. + +Tue Oct 8 23:25:53 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): If st_size + indicates a lower value for NUM_FS_BLOCK, use it instead of the + value derived from st_blocks. + +Mon Oct 7 15:48:49 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Typo. + +Fri Oct 4 23:51:05 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Add security + check, and deactivate FILE_STORE if necessary. + +Mon Sep 30 15:40:53 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Set *PORTS_TYPE. + +Thu Sep 19 17:57:07 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * Makefile (HURDLIBS): Add store. + +Wed Sep 18 15:28:32 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Remove CLASSES argument to store_parsed_open. + Use STORE_PARAMS variable to get result from parsing STORE_ARGP. + (diskfs_extra_version): Put `GNU Hurd' in here. + +Fri Sep 13 00:15:56 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (diskfs_append_args): Renamed from diskfs_get_options. + Don't initialize *ARGZ & *ARGZ_LEN anymore, or deallocate on errors. + Append store args too. + + * pager.c (file_pager_read_page:do_pending_reads, pager_unlock_page, + pending_blocks_write, diskfs_grow, find_block): Use filesystem blocks, + not device blocks, in block<->offset/size conversions. + + * Makefile (ext2fs ext2fs.static): Add ../libstore/libstore.a. + +1996-09-12 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (diskfs_disk_name): Renamed from STORE_NAME. + +Wed Sep 11 12:59:28 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (create_disk_pager): Create PAGER_BUCKET. Pass in new + args to diskfs_pager_setup (renamed from disk_pager_setup). + (disk_image): New variable. + (service_paging_request): Function removed. + (diskfs_shutdown_pager): Use DISKFS_DISK_PAGER instead of DISK_PAGER. + * ext2fs.h (disk_image): New declaration. + (sync_global_ptr): Use DISKFS_DISK_PAGER instead of DISK_PAGER. + * ext2fs.c (main, diskfs_reload_global_state): Use + DISKFS_DISK_PAGER instead of DISK_PAGER. + + * ext2fs.c (main): Change store_parsed_get_name to store_parsed_name. + + * storeinfo.c (diskfs_S_file_get_storage_info): Clone STORE before + remapping it. + +Tue Sep 10 17:12:16 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Rewritten to use + store functions. + +Mon Sep 9 11:10:11 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Use store fields instead of diskfs variables. + (store, store_parsed, store_name): New variables. + (free_page_bufs, free_page_bufs_lock): Variables removed. + (get_page_buf, free_page_buf): Functions removed. + <argp.h>, <hurd/store.h>: New includes. + * ext2fs.h (store_parsed, store_name): New declarations. + (get_page_buf, free_page_buf): Declarations removed. + * hyper.c <hurd/store.h>: New include. + * pager.c <hurd/store.h>: New include. + (file_pager_write_pager): Make BUF void *. + (file_pager_read_page): Make BUF void **, NEW_BUF void *, and + LENGTH size_t. Pass &LENGTH to store_read, not LENGTH. + (pending_blocks_write): Make PAGE_BUF void *, and LENGTH size_t. + Check amount written, and return EIO if it's wrong. + (disk_pager_read_page): Make BUF void **, and LENGTH size_t. + Check amount read, and return EIO if it's wrong. + (disk_pager_write_page): Make BUF void *, and LENGTH size_t. + Check amount written, and return EIO if it's wrong. + (pager_read_page, pager_read_page): Convert BUF to a pointer when + calling work functions. + (struct pending_blocks): Make BUF void *. + (free_page_bufs, free_page_bufs_lock): New variables. + (get_page_buf, free_page_buf): New functions. + +Sun Sep 8 18:47:10 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hyper.c (diskfs_readonly_changed): Use STORE->size. + (get_hypermetadata): Use STORE->size & STORE->block_size. + + * pager.c (file_pager_read_page, pending_blocks_write, + disk_pager_read_page, disk_pager_read_page, disk_pager_write_page, + pager_report_extent, find_block, pager_unlock_page, diskfs_grow): + Use store_ operations instead of the old device ones, and some + store fields instead of globals. + * inode.c (read_disknode): Use STORE->log2_block_size instead of + LOG2_BLOCK_SIZE. + * ext2fs.h (store): New declaration. + * ext2fs.c (startup_parents): Use diskfs_store_startup_argp + instead of diskfs_std_device_startup_argp. + (startup_parents, startup_argp, runtime_parents, runtime_argp, + options, parse_opt, diskfs_get_options): + Define always, not just when EXT2FS_DEBUG is defined. + (parse_opt): Propagate our input to the first child argp. + (parse_opt, diskfs_get_options): Guard debug-specific bits with + #ifdef EXT2FS_DEBUG. + +Thu Sep 12 16:41:20 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * Makefile (HURDLIBS): New variable. + (ext2fs ext2fs.static): Depend on $(library_deps) instead of + explicit list. + +Fri Sep 6 16:03:11 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * ext2fs.c: Include <version.h>. + (diskfs_major_version, diskfs_minor_version, diskfs_edit_version): + Deleted variables. + (diskfs_server_version): New variable. + +Thu Aug 29 16:59:51 1996 Miles Bader <miles@gnu.ai.mit.edu> + + Changes from ufs/dir.c: + * dir.c (diskfs_lookup_hard): When setting ds->stat to EXTEND, set + ds->idx by looking at the size of the file. After successful + dirscanblock, record index where we finished in DP->dn->dir_idx. + Start searches at that index. + (dirscanblock): Size dirents correctly when mallocing it. + (diskfs_direnter_hard): Be more careful when sizing or resizing + dirents. Correctly set to -1 all the new entries we create after + realloc call. + * ext2fs.h (struct disknode): New member `dir_idx'. + * inode.c (diskfs_cached_lookup): Initialize DN->dir_idx. + + * dir.c (diskfs_direnter_hard): Initialize OLDSIZE to quiet gcc. + +Sun Aug 18 01:45:42 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (file_pager_read_page): Use get_page_buf to get a free page. + (file_pager_read_page): Use free_page_buf to deallocate pages. + * ext2fs.c (get_page_buf): Return 0 if we can't allocate. + +Thu Aug 15 14:55:01 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (diskfs_edit_version): Change to `1'. + (diskfs_version_extra): New variable. + * inode.c (read_disknode): Change assertion to allow non-zero + st_size for anything, but assert that st_blocks == 0 for any case + where we set allocsize to 0. + * truncate.c (diskfs_truncate): Allow any sort of node to have a + size without any blocks (as linux apparently does this sometimes + with devices). + +Wed Aug 14 14:03:33 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (diskfs_minor_version): Change to `2'. + +Tue Aug 13 15:11:42 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2_fs.h: Update to version from linux-2.0.12. + * ialloc.c (ext2_alloc_inode, diskfs_free_node): Pass SBLOCK as a + parameter to EXT2_FIRST_INO (v2.x change). + * hyper.c (get_hypermetadata): Use EXT2_INODE_SIZE instead of + sizeof (struct ext2_inode). + Deal with various version 2.x features. + * ext2fs.h (dino): Dont recalculate INODES_PER_BLOCK here. + (ext2_debug): redefine macro after including ext2_fs.h. + +Mon Aug 12 13:48:17 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (diskfs_minor_version): Changed to `1'. + + * inode.c (read_disknode): Don't set allocsize for in-inode symlinks. + (MAX_INODE_SYMLINK): New macro. + (write_symlink, read_symlink): New functions. + (diskfs_create_symlink_hook, diskfs_read_symlink_hook): New variables. + * truncate.c (diskfs_truncate): For in-inode symlinks, just frob + the size. + + * ext2fs.h (__u32, __u16, __u8, __s32, __s16, __s8): New types. + * ext2_fs.h (u32, u16, u8, s32, s16, s8): All uses of these types + changed to have a leading `__', and the definitions removed. + * ext2_fs_i.h (u32, u16, u8, s32, s16, s8): All uses of these types + changed to have a leading `__'. + +Mon Aug 12 11:18:37 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * hyper.c (diskfs_set_hypermetadata): Return an error code now. + +Fri Aug 2 12:10:40 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (diskfs_write_disknode): If WAIT is false, still record + the write for later, using record_global_poke. + +Thu Aug 1 16:18:59 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2_fs.h (ext2_debug_flag): New decl. + (ext2_debug): Pay attention to EXT2_DEBUG_FLAG. + * ext2fs.c [EXT2FS_DEBUG] (options, ext2_debug_flag): New variables. + [EXT2FS_DEBUG] (parse_opt, diskfs_get_options): New functions. + [EXT2FS_DEBUG] (startup_parents, startup_argp, runtime_parents, + diskfs_runtime_argp): New variables. + [!EXT2FS_DEBUG] (startup_argp): New macro. + (main): Use STARTUP_ARGP instead of DISKFS_STD_DEVICE_STARTUP_ARGP. + * pager.c (diskfs_grow): Fix ext2_debug format strings. + * truncate.c (trunc_direct): Fix ext2_debug call. + +Sat Jul 20 00:58:44 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.h (struct disknode): Remove debugging info. + (RECORD_LAST): Function removed. + (LAST_BUFSZ): Macro removed. + (enum last_act): Type removed. + * inode.c (diskfs_cached_lookup): Don't initialize debugging info. + * pager.c (file_pager_read_page, file_pager_write_page, + pager_unlock_page, diskfs_grow): Don't record debugging info. + * truncate.c (diskfs_truncate): Likewise. + + * pager.c (file_pager_read_page): Set + NODE->dn->last_page_partially_writable if we return such a page. + +Fri Jul 19 15:02:24 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (diskfs_grow): Rename OLD_END_BLOCK to END_BLOCK. + Correctly determine whether to set DN->last_page_partially_writable + after allocating new blocks. + + * pager.c (file_pager_read_page, file_pager_write_page): Pass + NODE->dn, not &NODE->dn to RECORD_LAST. + +Mon Jul 15 18:00:26 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.h (struct disknode): Add debugging info. + (RECORD_LAST): New function. + (LAST_BUFSZ): New macro. + (enum last_act): New type. + * pager.c (pager_unlock_page, diskfs_grow, file_pager_read_page, + file_pager_write_page): Record debugging info. + * truncate.c (diskfs_truncate): Likewise. + * inode.c (diskfs_cached_lookup): Initialize debugging info. + + * pager.c (file_pager_read_page): Initialize *WRITELOCK to 0. + +Tue Jun 25 12:22:21 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.h (sync_global): Renamed from sync_global_data. Add WAIT + flag. Don't call diskfs_set_hypermetadata. + (alloc_sync): Call diskfs_set_hypermetadata instead of sync_global_data. + (sync_super_block): Function removed. + * hyper.c (diskfs_readonly_changed): No longer clear the clean bit. + (diskfs_set_hypermetadata): Work correctly. + * truncate.c (diskfs_truncate): Add call diskfs_check_readonly to + clear clean bit. + * inode.c (diskfs_cached_lookup): Use diskfs_check_readonly + instead of diskfs_readonly. + * dir.c (diskfs_lookup_hard, diskfs_dirempty): Likewise. + * pager.c (diskfs_shutdown_pager): Don't shutdown the disk pager, + just sync it. + (diskfs_sync_everything): Call sync_global instead of pokel_sync. + (final_sblock): Variable removed. + (diskfs_grow): Add call diskfs_check_readonly to clear clean bit. + +Mon Jun 24 17:14:25 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (check_high_bits, diskfs_validate_owner_change, + diskfs_validate_group_change, diskfs_validate_mode_change, + diskfs_validate_author_change): New functions. + (write_node): For non-hurd filesystems, assert that no hurd + extensions should be used. + +Thu Jun 20 22:36:23 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Rename diskfs_device_startup_argp to + diskfs_std_device_startup_argp. + +Sat Jun 15 15:56:01 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (read_disknode, write_inode): Use hurd-specific fields + only on a hurd filesystem. + +Fri May 10 09:32:43 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * inode.c (diskfs_set_statfs): Fix one reference to old name of ST + member. + +Thu May 9 11:52:20 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * inode.c (diskfs_set_statfs): Expect and fill in new format + statfs buffer. + + * Makefile (ext2fs ext2fs.static): s/ioserver/iohelp/g. + * ext2fs.h: ioserver.h -> iohelp.h. + +Tue May 7 16:22:56 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Rewrite for new + interface. + +Tue Apr 30 12:51:09 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (targets): Renamed from `target'. + +Fri Apr 26 16:10:19 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * Makefile (makemode): Now `servers'. + (targets): Renamed from `target'; now include ext2fs.static. + (ext2fs.static-LDFLAGS): Renamed from `LDFLAGS'. + (ext2fs.static): Depend on same things as `ext2fs'. + (include ../Makeconf): Must come before dependency information. + +Wed Apr 17 13:30:49 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (diskfs_write_disknode): Only sync DI if WAIT. + + * dir.c (diskfs_lookup_hard): Set atime appropriately, and sync + the new atime if we are running synchronously (!). + (diskfs_dirempty): Likewise. + (diskfs_direnter_hard): Set mtime appropriately. + (diskfs_dirremove_hard): Likewise. + (diskfs_dirrewrite_hard): Likewise. + +Thu Apr 4 18:51:19 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (diskfs_cached_lookup): Renamed from iget; all uses updated. + Initialize the CACHE_ID field in the new node. + * ext2fs.h (struct disknode): Get rid of NUMBER field; all references + replaced by references to the CACHE_ID field in the corresponding node. + +Fri Mar 29 11:03:58 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * dir.c (diskfs_null_dirstat): New function. + (diskfs_lookup_hard, diskfs_direnter, diskfs_dirremove_hard, + diskfs_dirrewrite_hard): Renamed from versions without `_hard' suffix. + Get rid of stuff now done by diskfs. + + * ext2fs.c (main): Pass new argument to argp_parse. + +Tue Mar 19 17:52:04 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (pager_unlock_page, diskfs_grow): Try to make the logic + a bit simpler and more robust. + +Fri Feb 16 17:05:01 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Check error return from diskfs_init_diskfs. + +Tue Feb 6 14:49:40 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.h (ext2_warning): Make a declaration, not a macro. + * msg.c (ext2_warning): Rename from _ext2_warning; don't take (or + print) a function argument any more. + + * dir.c (diskfs_get_directs): When BUFSIZ is 0, allocate enough + extra space over the directory size to account for the worst case + difference between the ext2 and canonical formats. + +Sat Feb 3 11:27:07 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hyper.c (get_hypermetadata, diskfs_readonly_changed): Use + ext2_warning to print warnings instead of error(). + * msg.c (_ext2_warning): Include `warning:' in message. + +Sat Feb 3 06:10:43 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * hyper.c: Fixed handling of the filesystem `clean bit'. + (ext2fs_clean): New boolean variable. + (get_hypermetadata): Set it iff the clean bit is set on entry. + If not clean, complain and force read-only. + (diskfs_set_hypermetadata): Set clean bit only if ext2fs_clean is set. + (diskfs_readonly_changed): Complain if going writable and clean + bit clear. + + * ext2fs.c: Include string.h for strerror decl. + +Tue Jan 30 22:25:19 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * hyper.c (get_hypermetadata): Don't return any error value, just + panic if we can't read the superblock. + * ext2fs.c (main): Move warp_inode() inline. Make sure root inode + is really there. Don't check return value from get_hypermetadata. + (warp_inode): Function removed. + * ext2fs.h (get_hypermetadata): Returns void now. + +Tue Jan 30 17:04:41 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * pager.c (file_pager_read_page, file_pager_write_page): Check for + a page offset beyond the allocsize and return EIO. + +Wed Jan 17 15:11:55 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Calculate the + right value for *RUNS_LEN. + +Tue Jan 16 17:37:00 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (diskfs_file_update): Ext2fs doesn't require that the + last block in the file always be allocated, so don't. + (diskfs_grow, pager_unlock_page): Don't set last_block_allocated. + * ext2fs.h (struct disknode): Get rid of last_block_allocated field. + * inode.c (read_disknode): Don't set last_block_allocated. + * truncate.c (diskfs_truncate): Likewise. + + * Makefile (LDFLAGS): Add -static. + +Mon Jan 15 10:25:19 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (pager_unlock_page, diskfs_grow): Leave things in a + slightly more consistent state when block allocation errors happen. + + * dir.c (diskfs_direnter): Don't include the terminating '\0' in + on-disk directory entry names. + + * inode.c (diskfs_node_norefs): When losing our in-core copy of an + inode, remember which indirect blocks still have to be written. + * pokel.c (pokel_inherit, pokel_finalize): New functions. + * ext2fs.h (pokel_inherit, pokel_finalize): New declarations. + + * dir.c (diskfs_lookup): Patch from ufs/dir.c: If we are returning + an error, then set the dirstat to be ignored by drop_dirstat. + +Sun Jan 14 13:17:33 1996 Miles Bader <miles@gnu.ai.mit.edu> + + * ialloc.c (diskfs_alloc_node): Set NP->istranslated to 0. + * inode.c (write_node): If NP isn't translated, force + DI->i_translator to 0. + + * getblk.c (inode_getblk, block_getblk): Set dn_set_mtime too. + +Sat Jan 6 11:57:26 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * pager.c (pager_bucket): Made global. + (create_disk_pager): Pass MAY_CACHE to disk_pager_setup. + * ext2fs.c (main): Don't map in disk image here; create_disk_pager + now does it. + +Fri Jan 5 16:57:54 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * ext2fs.h: Declare create_disk_pager. + +Thu Jan 4 18:46:40 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * ext2fs.h (disk_pager, disk_pager_port, disk_image, + create_disk_pager): Decls removed. + Include hurd/diskfs-pager.h instead. + + * pager.c (create_disk_pager): Use disk_pager_setup. + +Tue Nov 14 14:59:32 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * dir.c (dirscanblock): Apply mib's changes to ufs/dir.c. + +Sat Nov 4 20:01:01 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Add FLAGS argument. + +Wed Nov 1 20:09:59 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Add FLAGS arg to diskfs_startup_diskfs call. + +Mon Oct 23 17:49:16 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (diskfs_get_translator, diskfs_set_translator): Only + support these if the filesystem's creator-os is `hurd'. + (read_disknode): Only check the i_translator field if the + filesystem's creator-os is `hurd'. + +Fri Oct 20 19:18:16 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.h (MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC, + MS_SYNCHRONOUS, MS_REMOUNT, S_APPEND, S_IMMUTABLE, IS_APPEND, + IS_IMMUTABLE): Macros deleted. + +Thu Oct 19 19:15:15 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * pager.c (create_disk_pager, diskfs_get_filemap, + pager_clear_user_data): Don't use the p field in a upi. + (diskfs_get_filemap): Update/initialize the max_prot field. + Add the prot arg. + + * ext2fs.h (struct user_pager_info): Add max_prot field, remove p. + * pager.c (drop_pager_softrefs): Declare PAGER, not UPI. + (enable_caching): The disk node is upi->node, not upi->np. + (diskfs_enable_pagers): Function removed. + * inode.c (read_disknode): Add DN and OFFSET variables. Use + log2_block_size to mask instead of doing a modulo with block_size. + * hyper.c (diskfs_readonly_changed): Typo. + (allocate_mod_map): Declare ERR; OLD_MOD_MAP_SIZE --> MOD_MAP_SIZE. + * dir.c (diskfs_lookup, diskfs_dirempty): Give diskfs_get_filemap + a protection arg. + * truncate.c (force_delayed_copies): Ditto. + +Wed Oct 18 21:00:28 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.h (struct disknode): Replace fileinfo field with pager. + * inode.c (diskfs_node_norefs, iget): Use pager field, not fileinfo. + * pager.c (diskfs_get_filemap_pager_struct, flush_node_pager, + diskfs_file_update, pager_clear_user_data, drop_pager_softrefs): Ditto. + * truncate.c (enable_delayed_copies, force_delayed_copies): Ditto. + + * ext2fs.c (main): Always include VM_PROT_WRITE in max prot. + * hyper.c (diskfs_readonly_changed): Change the protection of + DISK_IMAGE to reflect the new state. + * pager.c (diskfs_enable_pagers): New function. + +Tue Oct 17 21:16:04 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * pokel.c (_pokel_exec, pokel_flush): New functions. + (pokel_sync): Use _pokel_exec to do the work. + * pager.c (flush_node_pager): New function. + * ext2fs.h (pokel_flush, flush_node_pager): New declarations. + + * hyper.c (allocate_mod_map): New function (from get_hypermetadata). + (zeroblock, modified_global_blocks): Define (were common). + (get_hypermetadata): Deallocate ZEROBLOCK if necessary. Use + allocate_mod_map to allocate MODIFIED_GLOBAL_BLOCKS. + (diskfs_readonly_changed): New function. + * main.c (main): Move stuff into get_hypermetadata. + Writable init code moved to diskfs_readonly_changed. + + * inode.c (diskfs_node_reload): New function. + (iget, read_disknode): Code to set allocsize and the last_* fields + moved from iget to read_disknode. + + * ext2fs.h (disk_pager): Type changed to struct pager. + (sync_global_ptr): Use DISK_PAGER, not DISK_PAGER->p. + * pager.c (create_disk_pager): Store the actual pager into DISK_PAGER. + * ext2fs.c (main): Use DISK_PAGER directly, not ->p. + * inode.c (iget): Ditto. + * pager.c (diskfs_shutdown_pager, diskfs_sync_everything): Ditto. + +Mon Oct 16 15:23:25 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (diskfs_lost_hardrefs): #ifdef'd out contents removed. + +Fri Oct 13 17:50:23 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Use argp for parsing. + (usage, USAGE, SHORT_OPTS, long_opts, console_stdio): Removed + +Thu Oct 12 18:16:00 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * hyper.c (get_hypermetadata): Use diskfs device functions & + variables instead of our own. + * ext2fs.h (device_arg, device_name, device_port, device_start, + device_size, device_block_size): Declarations removed. + + * ext2fs.c (printf, _ext2_error, _ext2_panic, _ext2_warning): + Functions moved to msg.c + * msg.c: New file. + (printf, _ext2_error, _ext2_panic, _ext2_warning): Funcs from ext2fs.c. + * Makefile (SRCS): Remove devio.c, add msg.c. + +Sat Oct 7 20:47:19 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): run_elem_t --> off_t. + + * ext2fs.c (diskfs_init_completed): Func deleted (now in libdiskfs). + +Fri Oct 6 17:24:57 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): Change type of + ADDRESSES to off_t **, and add BLOCK_SIZE parameter. + +Wed Oct 4 20:02:34 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * inode.c (diskfs_set_statfs): fsys_stb_bsize -> fsys_stb_iosize. + fsys_stb_fsize -> fsys_stb_bsize. + +Wed Sep 27 20:07:53 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * ext2fs.c (main): Use diskfs routines to open the device. + Support both file and mach devices. Move the parse function here. + (parse_opt): Move into main (as a nested function). + * ext2fs.h (device_arg, device_start): New declarations. + * devio.c (dev_read_sync, dev_write_sync): Offset the address to + which we're doing i/o with DEVICE_START. + +Tue Sep 26 18:39:58 1995 Miles Bader <miles@gnu.ai.mit.edu> + + * storeinfo.c (diskfs_S_file_get_storage_info): New function. + * Makefile (SRCS): Add storeinfo.c. + +Fri Sep 15 14:21:18 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * truncate.c (trunc_indirect): Only record an indirect block as + being modified when it actually is. + + * truncate.c (diskfs_truncate): Use the new truncate functions. + (poke_pages): Gratuitous cosmetic changes. + (trunc_direct): Rewritten, new args. + (trunc_indirect): Rewritten, new args, now more general to support + all the various indirection levels. + (trunc_triple_indirect, trunc_double_indirect, + trunc_single_indirect): New functions. + (struct free_block_run): New structure. + (free_block_run_finish, free_block_run_free_ptr, + free_block_run_add, free_block_run_init, _free_block_run_flush): + New functions. + (trunc_dindirect, trunc_tindirect): Functions deleted. + (DIRECT_BLOCK, INDIRECT_BLOCK, DINDIRECT_BLOCK, TINDIRECT_BLOCK): + Macros deleted. + + * getblk.c (block_getblk, ext2_getblk): u32 --> block_t. + * balloc.c (ext2_new_block): Ditto. + * hyper.c (get_hypermetadata): Ditto. + * pager.c (file_pager_write_page): Ditto. + +Wed Sep 13 12:30:23 1995 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu> + + * dir.c (diskfs_lookup): Don't attempt to lock NP if NPP is not + set. Don't even set NP if NPP is not set; use INUM as "lookup + succeeded flag" instead. Lookups for REMOVE and RENAME now *must* + set NPP. + +Tue Sep 12 11:03:19 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * pokel.c (pokel_init): Initialize the free_pokes field. + (pokel_add): Assert that this malloc should succeed. + (pokel_sync): Don't hold POKEL's spin lock while syncing. + + * ialloc.c (diskfs_alloc_node): Check for a non-zero ALLOCSIZE. + +Tue Sep 5 16:59:40 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * pager.c (diskfs_pager_users): Ignore the disk pager when seeing + if there are any active pagers. + (diskfs_shutdown_pager): shutdown_one gets passed a pager, not a upi. + (diskfs_sync_everything): sync_one gets passed a pager, not a upi. + +Sun Sep 3 17:28:13 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * ext2fs.c (thread_cancel): Removed. + +Fri Aug 25 14:37:32 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * Makefile (ext2fs): Put libports in the right place in the + linking order. + +Thu Aug 24 10:34:15 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * Makefile (ext2fs): Put all dependencies here. + (HURDLIBS): Removed. + +Tue Aug 22 19:39:06 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * Makefile (HURDLIBS): Add libshouldbeinlibc. + Remove rules for error.o. + +Fri Jul 21 17:51:33 1995 Michael I Bushnell <mib@geech.gnu.ai.mit.edu> + + * pager.c (diskfs_get_filemap): Free initial reference created by + pager_create. + + * pager.c (diskfs_get_filemap): Avoid race with simultaneous + termination by looping until we win. + (pager_clear_user_data): Only clear UPI->np->dn->fileinfo if it + still points to us. + +Thu Jul 6 15:33:24 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * Makefile: Removed dependencies that are now automatically + generated. + +Thu Jul 6 13:36:25 1995 Miles Bader <miles@geech.gnu.ai.mit.edu> + + * pager.c (diskfs_pager_users): New function. + +Tue Jun 27 13:08:33 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * pager.c (pager_unlock_page): Declare BLOCK volatile. + +Sat Jun 24 17:59:36 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * Makefile (HURDLIBS): Add libihash. + + * ext2fs.c (thread_cancel): Dummy function. + + * dir.c (diskfs_direnter): Move assignment out of test. + (diskfs_get_directs): Fix print-format types. + * ialloc.c (diskfs_free_node): Fix print-format types. + + * pager.c (thread_function): New function. + (create_disk_pager): Make a new thread to service paging requests. + * ext2fs.c (main): Have the initial thread die when it's done, leaving + other thread to do the work. + + * pager.c (pager_bucket): New variable. + (pager_list_lock, file_pager_list): Variables deleted. + (create_disk_pager): Create pager_bucket. + (create_disk_pager, diskfs_get_filemap): Pass pager_bucket to + pager_create. + (pager_traverse): Function deleted. + (diskfs_get_filemap, pager_clear_user_data): Don't add/remove UPI + to/from the pager list, as there isn't any. + (diskfs_shutdown_pager, diskfs_sync_everything): Use + ports_bucket_iterate on pager_bucket to go through all the pagers, + instead of pager_traverse. + (diskfs_file_update, pager_traverse, allow_pager_softrefs, + drop_pager_softrefs): Change pager [un]ref calls to use the new ports + ref calls directly instead. + (pager_dropweak): New function (does nothing). + * ext2fs.h (struct user_pager_info): Remove the next & prevp fields. + + * truncate.c (force_delayed_copies, enable_delayed_copies): Change + pager [un]ref calls to use the new ports ref calls directly instead. + * inode.c (diskfs_lost_hardrefs): Ditto. + + * inode.c (diskfs_node_iterate): New function. + (write_all_disknodes): Re-implemented using diskfs_node_iterate. + +Wed Jun 14 16:19:49 1995 Michael I Bushnell <mib@duality.gnu.ai.mit.edu> + + * inode.c (diskfs_get_translator): Conform to new memory usage + semantic. + +Fri May 19 20:56:51 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * ext2fs.c (main): Use options_parse & diskfs_standard_startup_options + to do command line options parsing. + (long_opts): Was `options'. Most things removed, as + they're now handled by libdiskfs. + (parse_opt): New routine to deal with our few meagre remaining + options in the approved options_parse manner. + +Mon May 15 15:55:49 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * ext2fs.c (main, usage, options): Add --writable & --nosync options. + +Sat May 13 20:04:55 1995 Miles Bader <miles@duality.gnu.ai.mit.edu> + + * inode.c (diskfs_set_statfs): Set st->fsys_stb_bsize, not _fsize, + to the block size. + +Sat May 13 05:02:59 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + + * Makefile (OBJS): Remove exec_server_image.o. + (exec_server_image.o): Rule removed. + +Fri May 12 15:23:02 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * ext2fs.c (main): Add an optional argument to the --sync option + that lets the user specify an initial sync interval. + +Thu May 11 13:30:06 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * pager.c (pager_unlock_page): Give an explanation of why the file + system will shortly crash. + + * balloc.c (ext2_free_blocks, ext2_new_block): Get rid of the + CHECK_STRICT variable, and just always do the tests it controlled. + * ext2fs.h: Get rid of the CHECK_STRICT variable. + + * ext2fs.h (ext2_error, ext2_warning, ext2_panic, all callers changed): + Make these into macros that automagically supply the caller's + function name, and rename the original functions (which these + macros call) to have an underline prefix. + * ext2fs.c (ext2_error, ext2_warning, ext2_panic): Rename to add + the underline prefix. Also rearrange a bit to hold the lock + around the use of the global message buffer. + + * ext2fs.c (main): Enable the bootstrap code. + + * inode.c (read_disknode): Make st_blksize larger: 2 * pagesize. + +Wed May 10 14:03:34 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * getblk.c (block_getblk, inode_getblk): Return ENOSPC instead of + EIO when we can't allocate a new block. + + * bitmap.c (find_next_zero_bit): Fix stupid typos (present in the + original linux source I copied this function from!) which were + causing occasional garbage results. + +Tue May 9 18:08:41 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu> + + * ext2fs.h (DONT_CACHE_MEMORY_OBJECTS): Don't define this any + more, as the bugs we were using it to catch are supposedly gone :-| |