2009-02-02 Samuel Thibault * tmpfs.h (struct disknode): Make atime, mtime and ctime members struct timespec instead of time_t. * tmpfs.c (main): Copy st_atim/st_mtim/st_ctim members from st to diskfs_root_node->dn_stat instead of st_atime/st_mtime/st_ctime. * node.c (diskfs_node_norefs): Copy st_atime/st_mtime/st_ctime members from np->dn_stat to atime/mtime/ctime members of np->dn (diskfs_cached_lookup): Conversely. 2005-03-20 Marcus Brinkmann * tmpfs.c (parse_opt): Use the right argument for parsing the mode. 2002-06-14 Roland McGrath * tmpfs.c (main): If get_privileged_ports fails with EPERM, try to open /servers/default-pager instead. 2002-06-13 Roland McGrath * dir.c (diskfs_lookup_hard): Cast int to intptr_t before ino_t. * dir.c (diskfs_lookup_hard): int -> ino_t 2002-06-08 Roland McGrath * node.c (diskfs_cached_lookup): Use ino_t for argument. * node.c (diskfs_alloc_node): Case to uintptr_t before ino_t. (diskfs_cached_lookup): Likewise, and vice versa. * dir.c (diskfs_get_directs, diskfs_lookup_hard): Likewise. * tmpfs.c (diskfs_append_args): Use %Ld format for off_t value. 2002-05-29 Roland McGrath * node.c (diskfs_S_file_get_storage_info): Return a null port when the peropen is not open for read/write. Set STORE_READONLY if O_WRITE set. 2002-05-28 Roland McGrath * dir.c (diskfs_get_directs): u_int -> size_t * tmpfs.c (diskfs_append_args): unsigned -> size_t 2002-05-13 Marcus Brinkmann * tmpfs.c (diskfs_extra_version): New variable. 2002-05-03 Roland McGrath * tmpfs.c (startup_argp): Use OPTIONS array in initializer. 2002-03-23 Roland McGrath * tmpfs.c (parse_opt): Grok % suffix on number to mean percentage of the machine's RAM. * tmpfs.c (options): New static const variable. Add --mode/-m. (struct option_values): New type. (parse_opt): Use that for VALUES. Grok -m to set VALUES->mode. Grok ARGP_KEY_FINI and free our data structure. (tmpfs_root_mode): New variable, set by -m. (main): If -m was given, use that instead of underlying node's permissions. * tmpfs.c (main): Don't release REALNODE. * node.c: Include "default_pager_U.h", not . (diskfs_truncate): Return early if page-rounded size is unchanged. Call default_pager_object_set_size on the memory object. (diskfs_grow): Likewise. * Makefile (OBJS): Add default_pagerUser.o here. 2001-09-30 Roland McGrath * node.c (diskfs_S_file_get_storage_info): Implement it to return the memory object port with STORAGE_MEMORY. 2001-04-23 Neal H Walfield * tmpfs.c (main): Pass diskfs_demuxer to diskfs_spawn_first_thread to conform to new libdiskfs semantics. 2001-05-05 Roland McGrath * node.c (diskfs_truncate): Set st_size before rounding it up, and do set it when there is a memory object. 2001-05-01 Neal H Walfield * tmpfs.c (main): Set diskfs_root_node->dn_stat.st_nlink to 2. 2001-04-15 Neal H Walfield * dir.c (diskfs_get_directs): Total rewrite. (diskfs_lookup_hard): Likewise. (diskfs_enter_hard): Count node size in the size of the dirent so diskfs_get_directs does not have to guess; this is only a few bytes different. Check the amount of space correctly, i.e. we cannot compare bytes and pages. * node.c: (diskfs_free_node): We already hold diskfs_node_refcnt_lock; do not try to lock it again. (diskfs_cached_lookup): Use diskfs_nref, that is why we have it. Link the nodes correctly. (diskfs_set_translator): Add or remove S_IPTRANS from np->dn_stat.st_mode as appropriate. (diskfs_truncate): Set the new np->dn_stat.st_size. (diskfs_grow): Move the assert up. 2001-04-10 Neal H Walfield * tmpfs.c (diskfs_shortcurt_chrdev): Rename to diskfs_shortcut_chrdev. (diskfs_shortcurt_blkdev): Rename to diskfs_shortcut_blkdev. (diskfs_shortcurt_fifo): Rename to diskfs_shortcut_fifo. (diskfs_shortcurt_ifsock): Rename to diskfs_shortcut_ifsock. 2001-02-26 Roland McGrath * node.c (diskfs_free_node): Reset hnext's hprevp. (diskfs_node_norefs): Likewise. (diskfs_cached_lookup): Fix insane code for finding existing node ptr. (diskfs_get_filemap_pager_struct): Remove spurious assert. (diskfs_get_filemap): Always add a reference to the send right. * dir.c (diskfs_get_directs): When using st_size, calculate additional space for . and .. entries. Skip . and .. entries when ENTRY says to. Set d_fileno=2 for .. entry when it is the parent of the filesystem. * tmpfs.c (main): Don't lock diskfs_root_node after alloc, which already locks it. In root node's mode, clear S_ITRANS bits and set S_IROOT bit. 2001-02-25 Roland McGrath * pager-stubs.c: New file. * Makefile (SRCS): Add it. * node.c (diskfs_S_file_get_storage_info): New function. * tmpfs.c (diskfs_synchronous): New variable. * dir.c (diskfs_lookup_hard): Look up .. disknode's in-core node. * node.c: #include . 2000-12-30 Marcus Brinkmann * dir.c: Include , , (diskfs_get_directs): Cast *data to struct dirent *. * node.c: Include . (diskfs_alloc_node): Remove unused variables err, st, np. (diskfs_free_node): Use *np->dn, not *dn to calculate used space. (recompute_blocks): Replace DT_DEV with DT_BLK. (diskfs_node_norefs): Likewise. (recompute_blocks): Take address of np->dn_stat for pointer st. (diskfs_cached_lookup): New variable st. (diskfs_cached_lookup): Set st to &np->dn_stat, not &dn->dn_stat. (create_symlink_hook): Fix malloc call and return code check. (read_symlink_hook): Return 0. * tmpfs.c: Include , , , , . (parse_opt): Reverse second and third argument of strtoimax call. * tmpfs.h (struct disknode): Remove blind passenger (unnamed copy of anonymous struct {} reg). Some of the above were also reported by Alexey Dejneka . 2000-12-28 Roland McGrath * node.c (recompute_blocks): New function, broken out of ... (diskfs_cached_lookup): here. Now use call that. (diskfs_set_translator): Likewise. (create_symlink_hook): Likewise. Do nothing for zero-length target. 2000-12-26 Roland McGrath * Makefile, tmpfs.c, tmpfs.h, node.c, dir.c: New files.