Age | Commit message (Collapse) | Author |
|
Clearing MAY_CACHE flag on a pager initiates a memory object
termination if this one is not referenced anymore. If the object has a
significant number of dirty pages (i.e. a file recently created was
unlinked before diskfs periodical sync) this operation generates a lot
of stress on the translator. This is one of the most common sources
for thread storms.
Sync'ing the pager before clearing that flag ensures that there aren't
dirty pages in the object before its termination.
* ext2fs/pager.c (drop_pager_softrefs): Sync pager before clearing
MAY_CACHE flag.
|
|
* Fix spelling with codespell[1] and manually review it.
[1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
|
|
2010-02-06 Carl Fredrik Hammar <hammy.lite@gmail.com>
* ext2fs/storeinfo.c (diskfs_S_file_get_storage_info):
Return EOPNOTSUPP instead of store if file contains holes.
|
|
* ChangeLog: Wipe out content, and add instructions about how to get it back.
* auth/ChangeLog: Remove file.
* benchmarks/ChangeLog: Likewise.
* boot/ChangeLog: Likewise.
* bsdfsck/ChangeLog: Likewise.
* config/ChangeLog: Likewise.
* console-client/ChangeLog: Likewise.
* console/ChangeLog: Likewise.
* daemons/ChangeLog: Likewise.
* defpager/ChangeLog: Likewise.
* doc/ChangeLog: Likewise.
* exec/ChangeLog: Likewise.
* ext2fs/ChangeLog: Likewise.
* fatfs/ChangeLog: Likewise.
* fstests/ChangeLog: Likewise.
* ftpfs/ChangeLog: Likewise.
* hostmux/ChangeLog: Likewise.
* hurd/ChangeLog: Likewise.
* include/ChangeLog: Likewise.
* init/ChangeLog: Likewise.
* isofs/ChangeLog: Likewise.
* libcons/ChangeLog: Likewise.
* libdirmgt/ChangeLog: Likewise.
* libdiskfs/ChangeLog: Likewise.
* libfshelp/ChangeLog: Likewise.
* libftpconn/ChangeLog: Likewise.
* libhurdbugaddr/ChangeLog: Likewise.
* libihash/ChangeLog: Likewise.
* libiohelp/ChangeLog: Likewise.
* libnetfs/ChangeLog: Likewise.
* libpager/ChangeLog: Likewise.
* libpipe/ChangeLog: Likewise.
* libports/ChangeLog: Likewise.
* libps/ChangeLog: Likewise.
* libshouldbeinlibc/ChangeLog: Likewise.
* libstore/ChangeLog: Likewise.
* libthreads/ChangeLog: Likewise.
* libtrivfs/ChangeLog: Likewise.
* login/ChangeLog: Likewise.
* mach-defpager/ChangeLog: Likewise.
* nfs/ChangeLog: Likewise.
* nfsd/ChangeLog: Likewise.
* pfinet/ChangeLog: Likewise.
* pflocal/ChangeLog: Likewise.
* proc/ChangeLog: Likewise.
* release/ChangeLog: Likewise.
* serverboot/ChangeLog: Likewise.
* storeio/ChangeLog: Likewise.
* sutils/ChangeLog: Likewise.
* term/ChangeLog: Likewise.
* tmpfs/ChangeLog: Likewise.
* trans/ChangeLog: Likewise.
* ufs-fsck/ChangeLog: Likewise.
* ufs-utils/ChangeLog: Likewise.
* ufs/ChangeLog: Likewise.
* usermux/ChangeLog: Likewise.
* utils/ChangeLog: Likewise.
|
|
* ext2_fs.h (i_frag, i_fsize): Drop spurious `;'.
|
|
|
|
* inode.c (read_node, write_node): Suggest what needs to be done in the
future w.r.t. ``struct stat'' changes.
|
|
|
|
2007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
* hurd.texi: Document diskfs_set_node_atime.
[ext2fs/ChangeLog]
2007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
* dir.c (diskfs_lookup_hard, diskfs_dirempty): Call
diskfs_set_node_atime instead of setting dp->dn_set_atime.
[fatfs/ChangeLog]
2007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
* dir.c (diskfs_lookup_hard, diskfs_dirempty): Call
diskfs_set_node_atime instead of setting dp->dn_set_atime.
[libdiskfs/ChangeLog]
2007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
* diskfs.h (diskfs_set_node_atime): New declaration.
* node-times.c (diskfs_set_node_atime): New function.
[ufs/ChangeLog]
2007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
* dir.c (diskfs_lookup_hard, diskfs_dirempty): Call
diskfs_set_node_atime instead of setting dp->dn_set_atime.
* inode.c (read_symlink_hook): Likewise.
|
|
fatfs/
2005-07-12 Marcus Brinkmann <marcus@gnu.org>
* pager.c (diskfs_get_filemap): Initialize upi->max_prot to PROT.
|
|
* storeinfo.c (diskfs_S_file_get_storage_info): Cast -1 to
store_offset_t in conditional operator, instead of implicitly cast
to uint32_t.
|
|
|
|
* ext2fs.h (ext2_getblk): Fix typo in comment.
* getblk.c (ext2_getblk): Likewise.
* dir.c (diskfs_get_directs): Likewise.
|
|
|
|
* ext2fs.h (struct disknode): New member `info_i_translator'.
* inode.c (diskfs_set_translator): Update NP->dn->info_i_translator.
* ialloc.c (diskfs_alloc_node): Clear a nonzero translator block in
the on-disk inode just as we do for data blocks.
|
|
|
|
* dir.c (diskfs_direnter_hard): Fix test in last change.
|
|
|
|
* ialloc.c (diskfs_free_node): Use %Ld format for ino_t/off_t values.
* pager.c (diskfs_grow, pager_unlock_page): Likewise.
* inode.c (read_node): Likewise.
* dir.c (diskfs_get_directs): Likewise.
* dir.c (diskfs_direnter_hard): Use size_t for OLDSIZE.
Fail with EOVERFLOW when it would exceed that width.
|
|
* ialloc.c (diskfs_free_node): Use %Ld format for ino_t/off_t values.
* pager.c (diskfs_grow, pager_unlock_page): Likewise.
* inode.c (read_node): Likewise.
* dir.c (diskfs_get_directs): Likewise.
|
|
* inode.c (diskfs_cached_lookup): Use ino_t for argument.
* ialloc.c (diskfs_free_node): Use %Ld format for ino_t/off_t values.
* pager.c (diskfs_grow, pager_unlock_page): Likewise.
* inode.c (read_node): Likewise.
* dir.c (diskfs_get_directs): Likewise.
|
|
* pager.c (diskfs_grow): Correctly recalculate NEW_SIZE.
|
|
|
|
* dir.c (dirscanblock): Use %z format.
(diskfs_get_directs): Likewise.
* ext2fs.c (main): Likewise.
* hyper.c (get_hypermetadata): Likewise.
* pager.c (pager_unlock_page): Likewise.
|
|
* dir.c (dirscanblock): Use %z format.
(diskfs_get_directs): Likewise.
* ext2fs.c (main): Likewise.
* hyper.c (get_hypermetadata): Likewise.
* pager.c (pager_unlock_page): Likewise.
2002-05-28 Roland McGrath <roland@frob.com>
* ext2fs.c (diskfs_append_args): unsigned -> size_t
* dir.c (count_dirents): int -> size_t
(diskfs_get_directs): u_int -> size_t
|
|
|
|
(diskfs_synchronous): Removing superfuous zero initializer.
(store): Likewise.
(store_parsed): Likewise.
(diskfs_disk_name): Likewise.
(ext2_debug_flag): Likewise.
|
|
|
|
* pager.c (diskfs_grow): Fix inverted logic.
|
|
|
|
* pager.c (MAX_FREE_PAGE_BUFS): Remove obsolete macro.
(FREE_PAGE_BUFS): New macro.
(free_page_bufs_lock): Make this global variable local to
get_page_buf.
(free_page_bufs): Likewise.
(num_free_page_bufs): Likewise.
(get_page_buf): Reimplement using a new caching algorithm
based on preallocation of COW zero pages.
(free_page_buf): Likewise.
(find_block): Documentation fixes.
|
|
|
|
* Makefile (ext2fs.static): Depend on
$(boot-store-types:%=../libstore/libstore_%.a).
|
|
|
|
* inode.c (write_node): Never clear i_translator here.
That is only done by diskfs_set_translator.
|
|
|
|
|
|
* inode.c (read_node): Just always call getpid for the fsid value.
|
|
* ialloc.c (diskfs_alloc_node): Remove warnings about stale
nonzero st_blocks or st_size.
|
|
|
|
* inode.c (write_node): Leave i_size, i_blocks, i_translator unchanged
when the inode has been deleted. Suggested by Marcus Brinkmann.
|
|
* dir.c (diskfs_dirremove_hard): Remove redundant DP->dn_set_mtime set.
Noticed by Marcus Brinkmann.
|
|
* inode.c (diskfs_get_translator): Fail with EFTYPE if the length
field stored on disk is unreasonable. Don't crash on ENOMEM.
Use memcpy instead of bcopy.
|
|
|
|
* inode.c (diskfs_get_translator): Fail with EFTYPE if the length
field stored on disk is unreasonable. Don't crash on ENOMEM.
Use memcpy instead of bcopy.
|
|
than the number of reserved blocks, set the number of available
blocks to 0.
|
|
|
|
* hyper.c (zeroblock, modified_global_blocks): Remove superfluous
zero initializers.
(allocate_mod_map): Likewise for static here.
(get_hypermetadata): Don't munmap old ZEROBLOCK, just keep it.
Allocate ZEROBLOCK with PROT_READ.
|
|
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* hurd.texi (Store Management): Replace off_t with store_offset_t.
(Store I/O): Likewise.
(Store Classes): Likewise.
ext2fs/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* ext2fs.c (main): Use %Ld instead %ld to print store->size.
* hyper.c (get_hypermetadata): Likewise.
libstore/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* zero.c (zero_remap): Change type of variables length, old_length
to store_offset_t.
(zero_decode): Change type of variable size to store_offset_t.
(zero_open): Likewise. Use strtoull instead strtoul to parse
size argument from name. Use store_offset_t for max_offs and
its calculation.
(store_zero_create): Use store_offset_t type for size argument.
* derive.c (_store_derive): Use store_offset_t as type for
variable last_part_base.
* stripe.c (addr_adj): Change types of addr argument and return
value to store_offset_t.
(store_ileave_create): Change type of interleave argument and
variables min_end and end to store_offset_t, but type of variable
block_size to size_t.
(store_concat_create): Change type of variable block_size to
size_t.
* make.c (_store_create): Change end argument type to store_offset_t.
* store.h: New type store_offset_t, define to off64_t.
(struct store_run): Change type of start and length to
store_offset_t.
(struct store): Change type of end, wrap_src, wrap_dst, blocks,
size to store_offset_t.
Change type of addr arg in store_read_meth_t and
store_write_meth_t to store_offset_t, as well as in declarations
for store_read and store_write.
Change type of argument end in _store_create declaration to
store_offset_t.
Change type of argument size in store_zero_create to
store_offset_t. Change type of argument interleace in
store_ileace_create to store_offset_t.
* rdwr.c (store_find_first_run): Change type of return value, addr
and *base arguments, and variables wrap_src and run_blocks to
store_offset_t.
(store_next_run): Change type of *base argument to store_offset_t.
(store_write): Change type of addr argument and variable base to
store_offset_t.
(store_read): Likewise, also for addr argument of local function seg_read.
Change type of len argument to size_t.
* copy.c (copy_read): Change type of addr argument to store_offset_t.
(copy_write): Likewise.
* device.c (dev_read): Likewise.
(dev_write): Likewise.
* file.c (file_read): Likewise.
(file_write): Likewise.
(file_byte_read): Likewise.
(file_byte_write): Likewise.
* mvol.c (mvol_read): Likewise.
(mvol_write): Likewise.
* remap.c (remap_read): Likewise.
(remap_write): Likewise.
* stripe.c (stripe_read): Likewise.
(stripe_write): Likewise.
* task.c (task_read): Likewise.
(task_write): Likewise.
* zero.c (zero_read): Likewise.
(zero_write): Likewise.
* remap.c (store_remap_runs): Change type of addr and len
arguments of local function add_run and of local variables addr,
length, baddr, blen and len to store_offset_t.
(remap_open): Cast -1 to store_offset_t, not off_t.
* argp.c (struct store_parsed): Change type of interleave from
off_t to store_offset_t.
(store_parsed_append_args): Use %Ld instead %ld to print
interleave value.
(store_parsed_name): Likewise.
ufs/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* main.c (main): Use %Ld instead %ld to print store->size.
* hyper.c (get_hypermetadata): Likewise.
* inode.c (diskfs_S_file_get_storage_info): Change type of variables
start and length from off_t to store_offset_t.
utils/
2001-01-08 Marcus Brinkmann <marcus@gnu.org>
* storeread.c (main): Change type of addr to store_offset_t,
also for first argument of local function dump.
Add comment about store->size as len parameter for store_read.
Use atoll instead atoi for addr argument.
* storeinfo.c (print_store): Remove local function pint, add two
similar functions psiz and poff, accepting and printing a size_t
or store_offset_t respectively.
Use psiz to print block_size, poff to print blocks and size of
store.
Use %Ld instead %ld to print runs.
* storecat.c (main): Change type of addr and left to store_offset_t.
|
|
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* hurd.texi (Diskfs Callbacks): Make diskfs_dirstat_size const.
ext2fs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* dir.c: Make diskfs_dirstat_size const.
isofs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* lookup.c: Make diskfs_dirstat_size const.
ufs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* dir.c: Make diskfs_dirstat_size const.
libdiskfs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* diskfs.h: Make diskfs_dirstat_size const.
libdiskfs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* file-statfs.c: Include <string.h>.
ftpfs/
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* dir.c (ftpfs_dir_create): Fix last change (calloc invocation).
2001-01-07 Marcus Brinkmann <marcus@gnu.org>
* copy.c: Include <mach.h>. New macro page_aligned.
(copy_write): Cast buf to vm_address_t in call to vm_write.
Dereference amount for memcpy.
(copy_read): Add len parameter to vm_read, remove redundant following
len assignment.
|