Age | Commit message (Collapse) | Author |
|
|
|
attempt RPC if we can't get a valid port struct.
|
|
attempt RPC if we can't get a valid port struct.
|
|
|
|
|
|
(SRCS): Add storeinfo.c.
(storeinfo): New target.
|
|
|
|
(args_doc): OPTION --> FS_OPTION, since the usage message already
uses OPTION to mean those to fsysopts.
(doc): New variable; give some common choices for FS_OPTION.
|
|
(main): Set ARGZ inside of parse_opt.
|
|
|
|
(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.
|
|
|
|
|
|
(argp_usage): New inline function.
|
|
Exit with a non-zero status if we fixed anything.
Use argp to parse options.
(options): Converted to argp format.
(args_doc): New variable.
(USAGE, usage, SHORT_OPTIONS): Removed.
Include <argp.h> instead of <getopt.h>.
|
|
|
|
|
|
|
|
|
|
(iget): Move allocsize setting into read_disknode.
|
|
Always include VM_PROT_WRITE in max prot.
Move stuff into get_hypermetadata.
Writable init code moved to diskfs_readonly_changed.
(diskfs_reload_global_state): New function.
|
|
(struct rwlock): Structure deleted.
(rwlock_init, rwlock_reader_unlock, rwlock_reader_lock,
rwlock_writer_lock, rwlock_writer_unlock): Functions deleted.
(zeroblock, sblock, csum): Declare extern.
(flush_node_pager, flush_pokes): New declarations.
|
|
(diskfs_pager_users): Split out block_caching & enable_caching.
(block_caching, enable_caching, diskfs_max_user_pager_prot): New functions.
(flush_node_pager): New function.
|
|
(get_hypermetadata):
Move compat_mode futzing & disk size validation here from main.
Only allocate SBLOCK if not already done.
Deallocate any old ZEROBLOCK and CSUM storage.
(zeroblock, sblock, csum): Define (were common).
(diskfs_readonly_changed): New function.
|
|
|
|
|
|
|
|
If this node isn't O_RDWR, only return the appropiate memobj.
Include <fcntl.h>.
|
|
Open exec's realnode read-only for now, since we know it doesn't matter and
having gratuitously writable nodes around prevents us from starting up or
going read-only.
(diskfs_S_fsys_init): Don't make the cwdir/crdir right with O_WRITE.
|
|
Open the new translator's realnode read-only for now, since we know it
doesn't matter and gratuitously writable nodes prevent us from starting up
or going read-only. The fsys_startup interface should change very soon and
make this irrelevant anyway.
|
|
Call diskfs_readonly_changed if we're starting up writable.
|
|
|
|
Hold DISKFS_FSYS_LOCK for writing while setting our own options, and for
reading while setting our children's.
Dereference PT even when a child filesystem returns an error.
|
|
|
|
(diskfs_shutdown): Lock DISKFS_FSYS_LOCK for writing.
|
|
(startup_common_argp, startup_argp_parents): New variables.
(startup_argp): Include parents.
|
|
Pass the second protection arg to diskfs_get_filemap.
Only map our i/o region with as much permission as we need.
|
|
Rework readonly transition & remounting. Now they should actually work.
(std_runtime_options): Remove options common to both runtime and startup.
(diskfs_set_options): Use the common options.
|
|
|
|
|