Age | Commit message (Collapse) | Author |
|
|
|
|
|
Clone STORE before remapping it.
Rewritten to use store functions.
|
|
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.
(file_pager_read_page):
Make BUF void **, NEW_BUF void *, and LENGTH size_t.
Pass &LENGTH to store_read, not LENGTH.
(free_page_bufs, free_page_bufs_lock):
New variables.
(create_disk_pager):
Create PAGER_BUCKET.
Pass in new args to diskfs_pager_setup (renamed from disk_pager_setup).
(service_paging_request):
Function removed.
(struct pending_blocks):
Make BUF void *.
(disk_pager_write_page):
Make BUF void *, and LENGTH size_t.
Check amount written, and return EIO if it's wrong.
(disk_image):
New variable.
(get_page_buf, free_page_buf):
New functions.
(disk_pager_read_page):
Make BUF void **, and LENGTH size_t.
Check amount read, and return EIO if it's wrong.
(file_pager_write_pager):
Make BUF void *.
(diskfs_shutdown_pager):
Use DISKFS_DISK_PAGER instead of DISK_PAGER.
(pager_read_page, pager_read_page):
Convert BUF to a pointer when calling work functions.
(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.
(pending_blocks_write):
Make PAGE_BUF void *, and LENGTH size_t.
Check amount written, and return EIO if it's wrong.
<hurd/store.h>:
New include.
|
|
Use STORE->log2_block_size instead of LOG2_BLOCK_SIZE.
|
|
Use STORE->size.
(get_hypermetadata):
Use STORE->size & STORE->block_size.
<hurd/store.h>:
New include.
|
|
Use DISKFS_DISK_PAGER instead of DISK_PAGER.
(store):
New declaration.
(disk_image):
New declaration.
(get_page_buf, free_page_buf):
Declarations removed.
(store_parsed, store_name):
New declarations.
|
|
Propagate our input to the first child argp.
(diskfs_disk_name):
Renamed from STORE_NAME.
(diskfs_append_args):
Renamed from diskfs_get_options.
Don't initialize *ARGZ & *ARGZ_LEN anymore, or deallocate on errors.
Append store args too.
(startup_parents, startup_argp, runtime_parents, runtime_argp, options,
parse_opt, diskfs_get_options):
Define always, not just when EXT2FS_DEBUG is defined.
(free_page_bufs, free_page_bufs_lock):
Variables removed.
(store, store_parsed, store_name):
New variables.
(diskfs_extra_version):
Put `GNU Hurd' in here.
(main, diskfs_reload_global_state):
Use DISKFS_DISK_PAGER instead of DISK_PAGER.
(startup_parents):
Use diskfs_store_startup_argp instead of diskfs_std_device_startup_argp.
(main):
Remove CLASSES argument to store_parsed_open.
Use STORE_PARAMS variable to get result from parsing STORE_ARGP.
Change store_parsed_get_name to store_parsed_name.
Use store fields instead of diskfs variables.
(parse_opt, diskfs_get_options):
Guard debug-specific bits with #ifdef EXT2FS_DEBUG.
(get_page_buf, free_page_buf):
Functions removed.
<argp.h>, <hurd/store.h>:
New includes.
|
|
|
|
|
|
|
|
|
|
|
|
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.
(diskfs_direnter_hard): Initialize OLDSIZE to quiet gcc.
|
|
|
|
(file_pager_read_page): Use free_page_buf to deallocate pages.
|
|
|
|
|
|
(as linux apparently does this sometimes with devices).
|
|
assert that st_blocks == 0 for any case where we set allocsize to 0.
|
|
(diskfs_version_extra): New variable.
|
|
|
|
(ext2_debug): redefine macro after including ext2_fs.h.
|
|
Use EXT2_INODE_SIZE instead of sizeof (struct ext2_inode).
Deal with various version 2.x features.
|
|
Pass SBLOCK as a parameter to EXT2_FIRST_INO (v2.x change).
|
|
|
|
|
|
|
|
All uses of these types changed to have a leading `__'.
|
|
|
|
|
|
|
|
(MAX_INODE_SYMLINK): New macro.
(write_symlink, read_symlink): New functions.
(diskfs_create_symlink_hook, diskfs_read_symlink_hook): New variables.
|
|
|
|
|
|
|
|
|
|
(ext2_debug): Pay attention to EXT2_DEBUG_FLAG.
|
|
(options, ext2_debug_flag): New variables.
(parse_opt, diskfs_get_options): New functions.
(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.
|
|
|
|
|
|
|
|
If WAIT is false, still record the write for later, using record_global_poke.
|
|
|
|
diskfs_grow): Don't record debugging info.
|
|
|
|
|
|
(RECORD_LAST): Function removed.
(LAST_BUFSZ): Macro removed.
(enum last_act): Type removed.
|
|
|
|
Set NODE->dn->last_page_partially_writable if we return such a page.
(diskfs_grow):
Rename OLD_END_BLOCK to END_BLOCK.
Correctly determine whether to set DN->last_page_partially_writable
after allocating new blocks.
|