Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
|
|
|
|
(diskfs_fsys_lock):
Renamed from diskfs_shutdown_lock. Change to a struct rwlock.
(diskfs_readonly_changed, diskfs_reload_global_state, diskfs_node_reload,
diskfs_max_user_pager_prot, diskfs_set_readonly, diskfs_remount):
New declarations.
(diskfs_readonly_changed): New declaration.
(disksf_get_filemap): Add prot parameter.
(diskfs_main_request_loop): Declaration removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
of the script before resorting to /dev/fd.
|
|
directory. Dike out totally bogus set[ug]id code. Bother to lock NP
around critical section.
|
|
(main): Use argp, not getopt.
(usage, USAGE, SHORT_OPTIONS): Deleted.
(arg_doc, doc): New variables.
Include <argp.h> not <getopt.h>.
|
|
(main): Use argp, not getopt.
(usage, USAGE, SHORT_OPTIONS): Deleted.
Include <argp.h> not <getopt.h>.
|
|
(main): Use argp, not getopt.
(usage, USAGE, SHORT_OPTIONS): Deleted.
(arg_doc): New variable.
Include <argp.h> not <getopt.h>.
|
|
|
|
(pfatal, pwarn, errexit): Print DEVICE_NAME too if in preen mode.
(pinode): Take a message & args to print as well.
|