summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-02-24Remove out of date commentsmplaneta/gsoc12/review_v1Maksym Planeta
2013-02-24Change typename to more appropriateMaksym Planeta
2012-10-28Add assertion to check if inode number is correct.mplaneta/gsoc12/reviewMaksym Planeta
* ext2fs/getblk.c (inode_getblk): Function is changed.
2012-10-28Make sure that function read_node will not get bad data.Maksym Planeta
* ext2fs/ialloc.c (ext2_alloc_inode): Function is changed.
2012-10-28Fix bug in case when a large file is met.Maksym Planeta
* ext2fs/inode.c (read_node): Function is changed.
2012-10-28Fix typo.Maksym Planeta
* ext2fs/truncate.c (force_delayed_copies): Fix typo.
2012-10-28Make ext2fs work with partitions bigger than 2Gb.Maksym Planeta
This commit is port of large store patch from debian repository. Additionally this patch was changed to use new libpager interface. The main idea behind this patch is to use special disk cache up to 2Gb size instead of mapping the whole partition. This cache is used to map only those pages of partitions that are used at the moment or were used recently. This allows to map only up to 2Gb of memory, although partition could be much bigger. This commit does not bring support for large files, only for partitions! * ext2fs/balloc.c (ext2_free_blocks): Function changed to access disk blocks in a new way. (ext2_new_block): Likewise. (ext2_count_free_blocks): Likewise. (ext2_check_blocks_bitmap): Likewise. * ext2fs/ext2fs.c (main): As now not the whole image is being mapped, but there is disk cache is being used, appropriately were changed some names of functions and variables. (diskfs_reload_global_state): Likewise. * ext2fs/ext2fs.h (DISK_CACHE_BLOCKS): New macro. Sets size of disk cache. (DC_INCORE, DC_UNTOUCHED, DC_FIXED, DC_DONT_REUSE, DC_NO_BLOCK): New macros, used for keeping status of block in disk cache. (DISK_CACHE_LAST_READ_XOR) [NDEBUG]: New macro for debugging purposes. (struct disk_cache_info): Structure that keeps information about block in disk cache. (bptr_index): New macro for converting address in memory to index of block in disk cache. (boffs_ptr): Macro has been converted to function to take into account presence of disk cache. (bptr_offs): Likewise. (dino -> dino_ref): Function has been renamed and changed to take into account presence of disk cache. (dino_deref): New function that releases dinode. (record_global_poke): Function changed to access disk blocks in a new way. (sync_global_ptr): Likewise. (record_indir_poke): Likewise. (sync_global): Add debugging macro. * ext2fs/getblk.c (ext2_alloc_block): Function changed to access disk block in a new way. (block_getblk): Likewise. * ext2fs/hyper.c (get_hypermetadata): Function has been changed because, to read sblock on its own. (map_hypermetadata): New function that sets sblock and group_desc_image as pointers in disk cache. (diskfs_set_hypermetadata): Increase reference count in disk cache for sblock, when it is poked. (diskfs_readonly_changed): Update function to use disk cache. * ext2fs/ialloc.c (diskfs_free_node): Function changed to access disk blocks in a new way. (ext2_alloc_inode): Likewise. (ext2_count_free_inodes): Likewise. (ext2_check_inodes_bitmap): Likewise. * ext2fs/inode.c (diskfs_cached_lookup): Use disk cache instead of disk image. (read_node): Function changed to access disk blocks using interface. Also debugging macro has been added. (write_node): Likewise. (diskfs_set_translator): Function changed to access disk blocks using interface. (diskfs_set_translator): Likewise. * ext2fs/pager.c (disk_image): Obsolete variable removed. (STAT_ADD): New macro. (FREE_PAGE_BUFS): Remove obsolete macro. (get_page_buf -> get_buf): Function renamed and changed to return buffer of asked size. (free_page_buf -> free_buf): Function renamed and changed. (file_pager_read_page -> file_pager_read): Function renamed and changed to process several pages at once. (file_pager_write_page -> file_pager_write): Likewise. (disk_pager_read_page -> disk_pager_read): Likewise. (disk_pager_write_page -> disk_pager_write): Likewise. (pending_blocks_write): Function has been changed. (ext2_pager_notify_evict): New function. (pager_read_page -> ext2_read_pages): Function has been renamed and changed to support new libpager interface. (pager_write_page -> ext2_write_pages): Likewise. (pager_unlock_page -> ext2_unlock_pages): Likewise. (pager_report_extent -> ext2_report_extent): Likewise. (pager_clear_user_data -> ext2_clear_user_data): Likewise. (pager_dropweak): Remove obsolete function. (ext2_ops): New variable. (disk_cache): Likewise. (disk_cache_size): Likewise. (disk_cache_blocks): Likewise. (disk_cache_bptr): Likewise. (disk_cache_info): Likewise. (disk_cache_hint): Likewise. (disk_cache_lock): Likewise. (disk_cache_reassociation): Likewise. (disk_cache_init): New function. (disk_cache_return_unused): Likewise. (disk_cache_block_ref_no_block): Likewise. (disk_cache_block_is_cached): Likewise. (disk_cache_block_ref): Likewise. (disk_cache_block_ref_hint_no_block): Likewise. (disk_cache_block_ref_ptr): Likewise. (disk_cache_block_deref): Likewise. (disk_cache_block_is_ref): Likewise. (create_disk_pager): Function has been changed to support both new interfaces of libpager and disk cache. (diskfs_get_filemap): Function has been changed to support new interface of libpager. * ext2fs/pokel.c (pokel_add): Function changed to take into account new way of working with disk blocks. (__pokel_exec): Likewise. * ext2fs/truncate.c (trunc_indirect): Function changed to take into account both new way of working with disk blocks and changes in libpager. (force_delayed_copies): Function changed to support new libpager interface.
2012-10-28Cast type to off_t in macros where overflow is possible.Maksym Planeta
* ext2fs/ext2fs.h (trunc_block): Macro is changed. (rount_block): Likewise. (boffs): Likewise.
2012-10-28Reset sblock when reload global state.Maksym Planeta
* ext2fs/ext2fs.c (diskfs_reload_global_state): Function changed.
2012-10-28Replace deprecated functions bzero and bcopy for modern ones.Maksym Planeta
Not all functions are replaced, but rest of them will be replaced in future commits. This is done so, because these function are involved in other changes and making intermediate changes just bring unnecessary complication. * ext2fs/ext2fs.c (parse_opt): Function changed. * ext2fs/getblk.c (ext2_alloc_block): Likewise. * ext2fs/inode.c (diskfs_set_translator): Likewise. (write_symlink): Likewise. (read_symlink): Likewise.
2012-10-28Fix printf format in debugging macros.Maksym Planeta
This commit removes compiling warnings when debug macros are enabled. * ext2fs/getblk.c (ext2_discard_prealloc): Fix format. * ext2fs/ialloc.c (diskfs_free_node): Likewise. * ext2fs/inode.c (write_node): Likewise. * ext2fs/pager.c (pending_blocks_write): Likewise. (file_pager_write_page): Likewise. (disk_pager_write_page): Likewise. (diskfs_grow): Likewise.
2012-10-28Fix bug with operators priority.Maksym Planeta
*ext2fs/balloc.c (ext2_new_block): Function changed.
2012-10-28Fix bugs with initialization of variables, created on stack.Maksym Planeta
* ext2fs/balloc.c (ext2_new_block): Function changed. * ext2fs/ialloc.c (ext2_alloc_inode): Function changed.
2012-10-28Move storeio to new pager interface.Maksym Planeta
* storeio/pager.c (struct user_pager_info): New structure. (store_read_pages): Function renamed. Old name was pager_read_page. (store_write_pages): Function renamed. Old name was pager_write_page. (store_unlock_pages): Function renamed. Old name was pager_unlock_page. (store_report_extent): Function renamed. Old name was pager_report_extent. (store_clear_user_data): Function renamed. Old name was pager_clear_user_data. (pager_dropweak): Delete obsolete function. (store_ops): New structure. (dev_get_memory_object): Function changed.
2012-10-28Move console translator to new pager interface.Maksym Planeta
This implementation transfers data by one page and uses inline functions. * console/pager.c (cons_read_pages): Function renamed. Old name was pager_read_page. (cons_write_pages): Function renamed. Old name was pager_write_page. (cons_report_extent): Function renamed. Old name was pager_report_extent. (cons_clear_user_data): Function renamed. Old name was pager_clear_user_data. (pager_dropweak): Delete obsolete function. (pager_unlock_page): Likewise. (console_ops): New structure. (user_pager_create): Function changed.
2012-10-28Move isofs to new pager interface.Maksym Planeta
* iso/pager.c (iso_read_pages): Function renamed. Old name was pager_read_page. (iso_unlock_pages): Function renamed. Old name was pager_unlock_page. (iso_report_extent): Function renamed. Old name was pager_report_extent. (iso_clear_user_data): Function renamed. Old name was pager_clear_user_data. (pager_dropweak): Delete obsolete function. (pager_write_page): Likewise. (iso_ops): New structure. (create_disk_pager): Function changed. (diskfs_get_filemap): Likewise.
2012-10-28Move fatfs to new pager interface.Maksym Planeta
This implementation transfers data by one page and uses nested functions. * fatfs/pager.c (fat_read_page): Function renamed. Old name was pager_read_page. (fat_write_page): Function renamed. Old name was pager_write_page. (fat_unlock_page): Function renamed. Old name was pager_unlock_page. (fat_report_extent): Function renamed. Old name was pager_report_extent. (fat_clear_user_data): Function renamed. Old name was pager_clear_user_data. (pager_dropweak): Delete obsolete function. (fat_read_pages): New function. (fat_write_pages): New function. (fat_unlock_pages): New function. (fat_ops): New structure. (create_fat_pager): Function changed. (diskfs_get_filemap): Likewise.
2012-10-28Move UFS to new pager interface.Maksym Planeta
This implementation transfers data by one page and uses nested functions. * ufs/pager.c (ufs_read_page): Function renamed. Old name was pager_read_page. (ufs_write_page): Function renamed. Old name was pager_write_page. (ufs_unlock_page): Function renamed. Old name was pager_unlock_page. (ufs_report_extent): Function renamed. Old name was pager_report_extent. (ufs_clear_user_data): Function renamed. Old name was pager_clear_user_data. (pager_dropweak): Delete obsolete function. (ufs_read_pages): New function. (ufs_write_pages): New function. (ufs_unlock_pages): New function. (ufs_ops): New structure. (create_disk_pager): Function changed. (diskfs_get_filemap): Likewise. * ufs/sizes.c (offer_data): Function changed.
2012-10-28Move tmpfs to new libpager interface.Maksym Planeta
* tmpfs/pager-stubs.c: Remove obsolete file. * tmpfs/Makefile (SRCS): Update variable.
2012-10-28Remove warnings regarding type casting.Maksym Planeta
* mach-defpager/default_pager.c (pager_move_page): Function changed. (default_write): Likewise. * mach-defpager/file_io.h (page_write_file_direct): Prototype changed. * mach-defpager/setup.c (page_write_file_direct): Function changed.
2012-10-28Make mach-defpager process multipage requests in m_o_data_request.Maksym Planeta
* mach-defpager/default_pager.c (pager_release_offset): Function accepts size as new parameter. (struct block): New structure for internal use in function default_read. (struct send_range_parameters): Likewise. (get_block_address): New function for internal use in function default_read. (is_range_extendable): Likewise. (upload_range): Likewise. (get_data_for_range): Likewise. (apply_to_ranges): Likewise. (send_range): Likewise. (default_read): Function changed. (seqnos_memory_object_data_request): Likewise. (start_default_pager_thread): Likewise. (default_pager): Likewise. (max_dpt_buffer_size): New variable. * mach-defpager/default_pager.h (page_aligned): New function that has been moved out of mach-defpager/setup.c. * mach-defpager/setup.c (page_aligned): Function removed. (page_read_file_direct): Function changed to be able to work with buffers, not only of size vm_page_size.
2012-09-30Update documentation according to resent libpager changes.Maksym Planeta
* doc/hurd.texi: Update documentation.
2012-09-30Update libdiskfs according to changes in libpager.Maksym Planeta
* libdiskfs/disk-pager.c (diskfs_start_disk_pager): Function changed to use new libpager interface. * libdiskfs/disk-pager.h (diskfs_start_disk_pager): Prototype changed.
2012-09-30Fix DEBUG macro.Maksym Planeta
* libpager/priv.h (DEBUG): Fix macro.
2012-09-30Add helper function pager_process_pages.Maksym Planeta
* libpager/pager.h (pager_process_pages): New function.
2012-09-30Add notification interface to libpager.Maksym Planeta
* libpager/data-return.c (_pager_seqnos_memory_object_data_return): Notify pager on data eviction. * libpager/priv.h (struct pager): New field. * libpager/pager.h (struct pager_ops): New field.
2012-09-30Reworking libpagerNeal H Walfield
* pager.h (struct pager): Bring into scope. (struct pager_ops): New structure. Contains the call backs: read, write, unlock, report_extent, clear_user_data and dropweak. Replaces the linker-time call backs: pager_read_page, pager_write_page, pager_unlock_page, pager_report_extenet, pager_clear_user_data and pager_drop_weak. Functions now also have a multipage interface and take block, not byte, offsets (i.e. off_t's, not vm_address_t's). (pager_cleate): Take a struct pager_ops to support new interface. Take the size of the desired user_page_info structure rather than a user_pager_info structure to correspond with the new semantics. (pager_get_error): Follow new semantics: take the page number rather than a byte offset. (pager_sync_come): Likewise. (pager_flush_come): Likewise. (pager_return_some): Likewise. (pager_memcpy): Likewise. (pager_offset_page): Remove obsolete function. (pager_read_page): Removed in favor of call back in struct pager_ops. (pager_write_page): Likewise. (pager_unlock_page): Likewise. (pager_report_extent): Likewise. (pager_clear_user_data): Likewise. (pager_dropweak): Likewise. (pager_data_supply): New function. (pager_data_unavailable): Likewise. (pager_data_read_error): Likewise. (pager_data_write_error): Likewise. (pager_data_unlock): Likewise. (pager_data_unlock_error): Likewise. * priv.h (struct pager): Change UPI from a struct user_pager_info to a flex array at the end of the structure to match the new pager_create semantics. Add the pager_ops call back structure. (PM_PAGEINWAIT): Macro no longer used. (PM_WRITEWAIT): Adjust value. (PM_INIT): Likewise. (PM_INCORE): Likewise. (PM_PAGINGOUT): Likewise. (_pager_pagemap_resize): Take a block offset, not a byte-offset. (_pager_mark_next_request_error): Likewise. (_pager_mark_object_error): Likewise. (_pager_lock_object): Likewise. P->interlock is now expected to already be held during the call. * data-return.c (_pager_do_write_request) Remove obsolete function. * data-return.c (_pager_seqnos_memory_object_data_return): Rewritten to work with the new paging interface. * data-request.c (_pager_seqnos_memory_object_data_request): Likewise. * data-unlock.c (_pager_seqnos_memory_object_data_unlock): Likewise. * clean.c (_pager_clean): Use the new call backs in P->ops. * dropweak.c (_pager_real_dropweak): Likewise. * lock-completed.c (_pager_seqnos_memory_object_lock_completed): Handle page offsets and not byte offsets. * lock-object.c (_pager_lock_object): Handle page offsets and not byte offsets. As per the new interface, do not lock P->interlock anymore. * mark-error.c (_pager_mark_next_request_error): Handle page offsets and not byte offsets. Use vm_page_size, not __vm_page_size. Doc fix. (_pager_mark_object_error): Likewise. (pager_get_error): Likewise. * pagemap.c (VMCOPY_BETTER_THAN_MEMCPY): New macro. (_pager_pagemap_resize): Handle page offsets and not byte offsets. Use vm_page_size, not __vm_page_size. Allocate the minimum number of pages. Check the result of mmap against MAP_FAILED, not -1. Use mempcy, not bcopy. Use vm_copy when appropriate. * object-init.c (_pager_seqnos_memory_object_init): Use vm_page_size, not __vm_page_size. Check the result of malloc. * pager-attr.c (pager_change_attributes): Correct a typo. Add an assert. * pager-create.c (pager_create): Comform to the new semantics as outlined in the pager.h changelog entry. * pager-flush.c (pager_flush): Use the new call backs in P->ops. Handle page offsets, not byte offsets. Call the corresponding _some function rather than copy the code. * pager-return.c (pager_return): Likewise. * pager-sync.c (pager_sync): Likewise. * pager-flush.c (pager_flush_some): Handle page offsets and not byte offsets. Lock P->interlock around _pager_lock_object as per the new semantics. * pager-return.c (pager_return_some): Likewise. * pager-sync.c (pager_sync_some: Likewise. * pager-memcpy.c (pager_memcpy): Pass the pager offset, not the byte offset to _pager_get_error. Change OFFSET to an off_t rather than a vm_address_t as per the new semantics. * Makefile (SRCS): Remove offer-pager.c. Add pager-data-read-error.c pager-data-unavailable.c pager-data-unlock.c pager-data-supply.c pager-data-unlock-error.c pager-data-write-error.c. * offer-page.c: Remove obsolete files. * pager-data-read-error.c: New file. * pager-data-supply.c: Likewise. * pager-data-unavailable.c: Likewise. * pager-data-unlock-error.c: Likewise. * pager-data-unlock.c: Likewise. * pager-data-write-error.c: Likewise.
2012-09-25Fix bugs and warnings in mach-defpager.Maksym Planeta
2012-05-23Fix bit shift validitySamuel Thibault
* ext2fs/balloc.c (ext2_new_block): When J & 31 is 31, replace 32bit right shift with 0;
2012-05-23Fix find_next_zero_bit when no bit is availableSamuel Thibault
* ext2fs/bitmap.c (find_next_zero_bit): Check whether TMP has a bit set before calling ffz.
2012-05-19Add /dev/netdde and /dev/eth* targetsSamuel Thibault
* sutils/MAKEDEV.sh (netdde, eth*): Add targets.
2012-05-13Fix link(directory,whatever) POSIX compliancySamuel Thibault
* libdiskfs/dir-link.c (diskfs_S_dir_link): When source node is a directory, fail with EPERM instead of EISDIR.
2012-04-27Add MSG_PEEK support to pflocalSamuel Thibault
* libpipe/pq.h (packet_peek): Declare new function. * libpipe/pq.c (packet_read): Move code to new `packet_fetch' function, call it with `remove' set to 1. (packet_fetch): New function with code from `packet_read', but do not remove data if `remove' is 0. (packet_peek): New function, calls `packet_fetch' with `remove' set to 0. * libpipe/dgram.c (dgram_read): When MSG_PEEK is in *flags, do not dequeue and only peek data. * libpipe/seqpack.c (seqpack_read): Likewise. * libpipe/stream.c (stream_read): Likewise. * pflocal/socket.c (S_socket_recv): Pass MSG_PEEK flag to libpipe.
2012-04-10dist: Remove redundant "./" for top-level $(DISTFILES)Ludovic Courtès
* Makeconf (dist.tar): When $(dir) is ".", avoid adding "./" to the resulting file name.
2012-04-10dist: Set the owner/group of $(DISTFILES) to UID/GID 0.Ludovic Courtès
* Makeconf (dist.tar): Invoke `tar' with `--owner=0 --group=0'.
2012-04-10Add `doc/version.texi' to the distribution.Ludovic Courtès
* doc/Makefile (targets): Add `version.texi'.
2012-04-08Replace fragile manual »make dist« system with one based on »git archive«.Thomas Schwinge
* Makeconf (lndist): Remove target. (dist-hook, dist.tar): New targets. * Makefile (dist): Rewrite this target's as well as accompanying rules. (%-lndist, cp-linked-files, $(lf-inst)): Remove targets. (%.bz2, %.gz, %/dist-hook): New targets. (DISTFILES): Set. * doc/Makefile (DISTFILES): Set. * doc/Makefile (lndist, lndist-info-targets): Remove targets. * include/Makefile (lndist): Remove target. * libthreads/Makefile (lndist, lndist-i386-files, lndist-map-file): Remove targets. * pfinet/Makefile (lndist, lndist-linux-src-net-core-files) (lndist-linux-src-net-ethernet-files, lndist-linux-src-net-ipv4-files) (lndist-linux-src-net-ipv6-files, lndist-linux-src-asm-files) (lndist-linux-src-include-linux-files, lndist-linux-src-include-net-files) (lndist-linux-src-include-asm-files, lndist-glue-include-linux-files) (lndist-glue-include-asm-files): Remove targets. * auth/Makefile (LCLHDRS): Don't set. * boot/Makefile (LCLHDRS, DIST_FILES): Likewise. * bsdfsck/Makefile (LCLHDRS): Likewise. * config/Makefile (DIST_FILES): Likewise. * console-client/Makefile (LCLHDRS): Likewise. * console/Makefile (LCLHDRS, DIST_FILES): Likewise. * doc/Makefile (DIST_FILES): Likewise. * exec/Makefile (LCLHDRS, DIST_FILES): Likewise. * ext2fs/Makefile (LCLHDRS): Likewise. * fatfs/Makefile (LCLHDRS): Likewise. * ftpfs/Makefile (LCLHDRS): Likewise. * hostmux/Makefile (LCLHDRS): Likewise. * hurd/Makefile (DIST_FILES): Likewise. * include/Makefile (LCLHDRS): Likewise. * isofs/Makefile (LCLHDRS, DIST_FILES): Likewise. * libcons/Makefile (LCLHDRS): Likewise. * libdirmgt/Makefile (LCLHDRS): Likewise. * libdiskfs/Makefile (LCLHDRS): Likewise. * libfshelp/Makefile (LCLHDRS): Likewise. * libftpconn/Makefile (LCLHDRS): Likewise. * libihash/Makefile (LCLHDRS): Likewise. * libiohelp/Makefile (LCLHDRS): Likewise. * libnetfs/Makefile (LCLHDRS): Likewise. * libpager/Makefile (LCLHDRS): Likewise. * libpipe/Makefile (LCLHDRS): Likewise. * libports/Makefile (LCLHDRS): Likewise. * libps/Makefile (LCLHDRS): Likewise. * libshouldbeinlibc/Makefile (LCLHDRS): Likewise. * libstore/Makefile (LCLHDRS, DIST_FILES): Likewise. * libthreads/Makefile (LCLHDRS): Likewise. * libtreefs/Makefile (LCLHDRS): Likewise. * libtrivfs/Makefile (LCLHDRS): Likewise. * mach-defpager/Makefile (LCLHDRS): Likewise. * nfs/Makefile (LCLHDRS): Likewise. * nfsd/Makefile (LCLHDRS): Likewise. * pfinet/Makefile (LCLHDRS): Likewise. * pflocal/Makefile (LCLHDRS): Likewise. * proc/Makefile (LCLHDRS, DIST_FILES): Likewise. * release/Makefile (DIST_FILES): Likewise. * storeio/Makefile (LCLHDRS): Likewise. * sutils/Makefile (LCLHDRS): Likewise. * term/Makefile (LCLHDRS, DIST_FILES): Likewise. * tmpfs/Makefile (LCLHDRS): Likewise. * ufs-fsck/Makefile (LCLHDRS): Likewise. * ufs/Makefile (LCLHDRS): Likewise. * usermux/Makefile (LCLHDRS): Likewise. * utils/Makefile (LCLHDRS): Likewise.
2012-04-08Remove generated files.Thomas Schwinge
* configure: Remove file. * .gitignore: Update. * doc/version.texi: Remove file. * doc/.gitignore: Update.
2012-04-08Rules for build system targets.Thomas Schwinge
* Makefile (configure, config.status, config.make): New targets.
2012-04-08* Makefile (clean): Recurse into all subdirs.Thomas Schwinge
2012-04-08Automatically regenerate files that depend on $(hurd-version).Thomas Schwinge
Follow-up to 05f5cc229323a61799388fbb52da84ca8cb502c9 (»configure: Use modern `AC_INIT' invocation.«). * Makeconf (%: %.sh): Depend on config.make. * Makefile (version.h): Use a stamp file. (stamp-version): Depend on config.make. * doc/Makefile (stamp-version): Likewise. * Makeconf (make-deps): Take additional target-specific dependencies, $*-DEPS. * console-client/Makefile (driver-DEPS): Depend on config.make. * libstore/Makefile (module-DEPS): Likewise.
2012-04-08Remove hurd/install-headers.Thomas Schwinge
* hurd/configure: Remove file. * hurd/configure.ac: Likewise. * hurd/install-headers.in: Likewise.
2012-04-08Avoid recreating the include/* files needlessly.Thomas Schwinge
* Makeconf ($(INSTALLED_LOCAL_HEADERS)): Just depend on the Makefile. The include/ hierarchy does not depend on anything but the local Makefile; especially it does not depend on how the package has been configured, which is what config.make records.
2012-04-08* Makeconf: Add copyright/licensing header.Thomas Schwinge
2012-04-08.gitignore: New file.Thomas Schwinge
2012-04-08Update '..' link for directory when moving it.Maksym Planeta
* tmpfs/dir.c (struct dirstat): New field. (diskfs_lookup_hard): Record whether type is SPEC_DOTDOT in dotdot field of ds. (diskfs_dirrewrite_hard): If ds->dotdot is true, set dp->dn->u.dir.dotdot insteead of (ds->prevp)->dn.
2012-04-08Allocate pager's map on demand.Maksym Planeta
* mach-defpager/default_pager.c (pager_get_direct_map): New function. (pager_alloc): Initialize map field to NULL. (pager_allocated, pager_pages, pager_extend, pager_write_offset): Use pager_get_direct_map to access to pager's map.
2012-04-08Delete fragile hack.Maksym Planeta
* mach-defpager/default_pager.c (pager_truncate): Do not optimize by using partial kfree.
2012-04-08Fix bugs in truncation of memory map.Maksym Planeta
* mach-defpager/default_pager.c (pager_truncate): Use new_size instead of old_size in memcpy.
2012-04-08Prevent repeated freeing of pager's mapMaksym Planeta
* mach-defpager/default_pager.c (pager_truncate): Do not set old_size to PAGEMAP_ENTRIES, to avoid freeing again just below.