Age | Commit message (Collapse) | Author |
|
|
|
|
|
argument any more.
|
|
directory size to account for the worst case difference between the ext2 and
canonical formats.
|
|
|
|
Use ext2_warning to print warnings instead of error().
|
|
(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.
|
|
|
|
* 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.
|
|
beyond the allocsize and return EIO.
|
|
|
|
|
|
always be allocated, so don't.
(diskfs_grow, pager_unlock_page): Don't set last_block_allocated.
|
|
|
|
|
|
|
|
Don't include the terminating '\0' in on-disk directory entry names.
|
|
which indirect blocks still have to be written.
|
|
|
|
|
|
the dirstat to be ignored by drop_dirstat.
|
|
|
|
|
|
|
|
(create_disk_pager): Pass MAY_CACHE to disk_setup_pager.
|
|
|
|
|
|
|
|
Include hurd/diskfs-pager.h instead.
|
|
|
|
|
|
|
|
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'.
|
|
(iget, read_disknode):
Code to set allocsize and the last_* fields moved from iget to read_disknode.
(read_disknode): Add DN and OFFSET variables.
Use log2_block_size to mask instead of doing a modulo with block_size.
(diskfs_node_norefs, iget): Use pager field, not fileinfo.
(iget): Use DISK_PAGER directly, not ->p.
(diskfs_lost_hardrefs): #ifdef'd out contents removed.
|
|
Don't use the p field in a upi.
(diskfs_get_filemap): Update/initialize the max_prot field. Add the prot arg.
(drop_pager_softrefs): Declare PAGER, not UPI.
(enable_caching): The disk node is upi->node, not upi->np.
(diskfs_get_filemap_pager_struct, flush_node_pager,
diskfs_file_update, pager_clear_user_data, drop_pager_softrefs):
Use pager field, not fileinfo.
(flush_node_pager): New function.
(create_disk_pager): Store the actual pager into DISK_PAGER.
(diskfs_shutdown_pager, diskfs_sync_everything):
Use DISK_PAGER directly, not ->p.
|
|
(pokel_sync): Use _pokel_exec to do the work.
|
|
Always include VM_PROT_WRITE in max prot.
Use DISK_PAGER directly, not ->p.
Use diskfs routines to open the device.
Support both file and mach devices. Move the parse function here.
Use argp for parsing.
(usage, USAGE, SHORT_OPTS, long_opts, console_stdio): Removed
(parse_opt): Move into main (as a nested function).
(printf, _ext2_error, _ext2_panic, _ext2_warning): Functions moved to msg.c
(diskfs_init_completed): Func deleted (now in libdiskfs).
|
|
|
|
|
|
Offset the address to which we're doing i/o with DEVICE_START.
|
|
Replace fileinfo field with pager.
(force_delayed_copies): Give diskfs_get_filemap a protection arg.
|
|
(zeroblock, modified_global_blocks): Define (were common).
(diskfs_readonly_changed): New function.
(get_hypermetadata):
Deallocate ZEROBLOCK if necessary. Use allocate_mod_map to allocate
MODIFIED_GLOBAL_BLOCKS.
Use diskfs device functions & variables instead of our own.
|
|
|
|
(struct disknode): Replace fileinfo field with pager.
(pokel_flush, flush_node_pager): New declarations.
(disk_pager): Type changed to struct pager.
(sync_global_ptr): Use DISK_PAGER, not DISK_PAGER->p.
(device_arg, device_name, device_port, device_start,
device_size, device_block_size): Declarations removed.
(MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_SYNCHRONOUS, MS_REMOUNT,
S_APPEND, S_IMMUTABLE, IS_APPEND, IS_IMMUTABLE): Macros deleted.
|
|
fsys_stb_fsize -> fsys_stb_bsize.
|
|
(pokel_add): Assert that this malloc should succeed.
(pokel_sync): Don't hold POKEL's spin lock while syncing.
|
|
|
|
actually is.
|
|
|
|
(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.
|