summaryrefslogtreecommitdiff
path: root/ext2fs
AgeCommit message (Collapse)Author
2011-10-03Sync pager before clearing MAY_CACHE flagSergio López
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.
2011-08-20fix common misspellingsJonathan Neuschäfer
* Fix spelling with codespell[1] and manually review it. [1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
2010-02-07Fix ext2fs mount with sparse storeSamuel Thibault
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.
2009-07-11Switch to the new ChangeLog style.Thomas Schwinge
* 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.
2008-07-282003-08-10 Peter Bruin <pjbruin@dds.nl>Samuel Thibault
* ext2_fs.h (i_frag, i_fsize): Drop spurious `;'.
2007-12-11Improve last entry.Thomas Schwinge
2007-12-112007-12-11 Thomas Schwinge <tschwinge@gnu.org>Thomas Schwinge
* inode.c (read_node, write_node): Suggest what needs to be done in the future w.r.t. ``struct stat'' changes.
2007-10-05Update copyright years.Thomas Schwinge
2007-08-20[doc/ChangeLog]Samuel Thibault
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.
2005-07-12ext2fs/Marcus Brinkmann
fatfs/ 2005-07-12 Marcus Brinkmann <marcus@gnu.org> * pager.c (diskfs_get_filemap): Initialize upi->max_prot to PROT.
2004-11-082004-11-08 Ognyan Kulev <ogi@fmi.uni-sofia.bg>Marcus Brinkmann
* storeinfo.c (diskfs_S_file_get_storage_info): Cast -1 to store_offset_t in conditional operator, instead of implicitly cast to uint32_t.
2004-01-10.Roland McGrath
2004-01-102004-01-10 Roberto Reale <rreale@iol.it>Roland McGrath
* ext2fs.h (ext2_getblk): Fix typo in comment. * getblk.c (ext2_getblk): Likewise. * dir.c (diskfs_get_directs): Likewise.
2002-10-08.Roland McGrath
2002-10-082002-10-08 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2002-08-01.Roland McGrath
2002-08-012002-07-31 Roland McGrath <roland@frob.com>Roland McGrath
* dir.c (diskfs_direnter_hard): Fix test in last change.
2002-06-11.Roland McGrath
2002-06-112002-06-08 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2002-06-112002-06-08 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2002-06-112002-06-08 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2002-06-052002-04-05 Neal H Walfield <neal@cs.uml.edu>Marcus Brinkmann
* pager.c (diskfs_grow): Correctly recalculate NEW_SIZE.
2002-06-02.Roland McGrath
2002-06-022002-05-29 Roland McGrath <roland@frob.com>Roland McGrath
* 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-06-022002-05-29 Roland McGrath <roland@frob.com>Roland McGrath
* 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
2002-05-12bogon repairRoland McGrath
2002-05-112001-11-20 Neal H Walfield <neal@cs.uml.edu>Marcus Brinkmann
(diskfs_synchronous): Removing superfuous zero initializer. (store): Likewise. (store_parsed): Likewise. (diskfs_disk_name): Likewise. (ext2_debug_flag): Likewise.
2002-04-01*** empty log message ***Neal H. Walfield
2002-04-012002-04-01 Neal H Walfield <neal@cs.uml.edu>Neal H. Walfield
* pager.c (diskfs_grow): Fix inverted logic.
2002-03-26*** empty log message ***Neal H. Walfield
2002-03-262001-11-20 Neal H Walfield <neal@cs.uml.edu>Neal H. Walfield
* 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.
2002-03-14.Roland McGrath
2002-03-142002-03-11 Roland McGrath <roland@frob.com>Roland McGrath
* Makefile (ext2fs.static): Depend on $(boot-store-types:%=../libstore/libstore_%.a).
2002-01-04.Roland McGrath
2002-01-042002-01-03 Roland McGrath <roland@frob.com>Roland McGrath
* inode.c (write_node): Never clear i_translator here. That is only done by diskfs_set_translator.
2001-12-22Remove file supposedly deleted in 1995.Roland McGrath
2001-11-21.Roland McGrath
2001-11-212001-11-21 Roland McGrath <roland@frob.com>Roland McGrath
* inode.c (read_node): Just always call getpid for the fsid value.
2001-08-172001-08-17 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann
* ialloc.c (diskfs_alloc_node): Remove warnings about stale nonzero st_blocks or st_size.
2001-08-17.Roland McGrath
2001-08-172001-08-16 Roland McGrath <roland@frob.com>Roland McGrath
* inode.c (write_node): Leave i_size, i_blocks, i_translator unchanged when the inode has been deleted. Suggested by Marcus Brinkmann.
2001-08-172001-08-16 Roland McGrath <roland@frob.com>Roland McGrath
* dir.c (diskfs_dirremove_hard): Remove redundant DP->dn_set_mtime set. Noticed by Marcus Brinkmann.
2001-08-102001-08-09 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2001-08-10.Roland McGrath
2001-08-102001-08-09 Roland McGrath <roland@frob.com>Roland McGrath
* 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.
2001-06-09* inode.c (diskfs_set_statfs): If number of free blocks is lessMark Kettenis
than the number of reserved blocks, set the number of available blocks to 0.
2001-04-01.Roland McGrath
2001-04-012001-03-03 Roland McGrath <roland@frob.com>Roland McGrath
* 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-08doc/Marcus Brinkmann
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-07doc/Marcus Brinkmann
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.