Age | Commit message (Collapse) | Author |
|
* 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.
|
|
* ext2fs.c (diskfs_readonly): Delete variable definition.
(main): If the store cannot be made writable, then set
diskfs_hard_readonly and diskfs_readonly.
|
|
|
|
Initialize READ to 0 to force store_read to allocate a buffer.
|
|
|
|
Get rid of device-block-size-is-power-of-2 check.
|
|
|
|
Don't assert that st_blocks is zero for non-dir/file/long-symlink inodes.
|
|
|
|
If SBLOCK->s_creator_os != EXT2_OS_HURD, set NP->author_tracks_uid to true.
|
|
|
|
Frob S_IPTRANS bit rather than istranslated field.
(write_node):
Don't write S_IPTRANS to disk.
(read_node):
Set S_IPTRANS bit in ST->st_mode (and clear S_ITRANS) rather than
NP->istranslated.
|
|
Clear S_IPTRANS bit in ST->st_mode instead of NP->istranslated.
|
|
* storeinfo.c (diskfs_S_file_get_storage_info): diskfs_isuid ->
idvec_contains.
|
|
|
|
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.
|
|
|
|
New variables.
(startup_parents, runtime_parents):
Variables removed.
(startup_argp, runtime_argp):
Use new *_CHILDREN variables instead of corresponding *_PARENT ones.
|
|
|
|
If st_size indicates a lower value for NUM_FS_BLOCK, use it instead of the
value derived from st_blocks.
Return ports with MACH_MSG_TYPE_COPY_SEND, not MACH_MSG_TYPE_MAKE_SEND.
|
|
|
|
Add security check, and deactivate FILE_STORE if necessary.
|
|
|
|
Set *PORTS_TYPE.
|
|
|
|
|
|
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).
|
|
|