[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] Hurd branch, mplaneta/gsoc12/prereview, created. hurd-release-0-2-
From: |
Maksym Planeta |
Subject: |
[SCM] Hurd branch, mplaneta/gsoc12/prereview, created. hurd-release-0-2-3383-g595d39a |
Date: |
Wed, 10 Oct 2012 08:38:27 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hurd".
The branch, mplaneta/gsoc12/prereview has been created
at 595d39aead012ea53e73dfdb0f1f1296a161dde0 (commit)
- Log -----------------------------------------------------------------
commit 595d39aead012ea53e73dfdb0f1f1296a161dde0
Author: Maksym Planeta <address@hidden>
Date: Sun Oct 7 21:24:57 2012 +0300
Add assertion to check if inode number is correct.
* ext2fs/getblk.c (inode_getblk): Function is changed.
commit 6a739822961318c0141c7c38bd573229da8745b2
Author: Maksym Planeta <address@hidden>
Date: Sun Oct 7 20:31:02 2012 +0300
Make sure that function read_node will not get bad data.
* ext2fs/ialloc.c (ext2_alloc_inode): Function is changed.
commit 6f02e041d7f5c7a24bf5a6263dbfd7bc97e80a80
Author: Maksym Planeta <address@hidden>
Date: Sun Oct 7 20:23:39 2012 +0300
Fix bug in case when a large file is met.
* ext2fs/inode.c (read_node): Function is changed.
commit fc85c9ee7226a29a3267fe98fc8675bbcb3f9675
Author: Maksym Planeta <address@hidden>
Date: Sun Oct 7 19:51:09 2012 +0300
Fix typo.
* ext2fs/truncate.c (force_delayed_copies): Fix typo.
commit b01792edffe744d1f3fb9efef8376ba904b95346
Author: Maksym Planeta <address@hidden>
Date: Sun Oct 7 15:46:05 2012 +0300
Make ext2fs work with partitions bigger than 2Gb.
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.
commit aa984dcaa231fa865281b869009b6269fc74746b
Author: Maksym Planeta <address@hidden>
Date: Sat Oct 6 20:18:30 2012 +0300
Cast type to off_t in macros where overflow is possible.
* ext2fs/ext2fs.h (trunc_block): Macro is changed.
(rount_block): Likewise.
(boffs): Likewise.
commit 2f3e85936cc392b448c018584dc92896b8b58849
Author: Maksym Planeta <address@hidden>
Date: Sat Oct 6 19:46:25 2012 +0300
Reset sblock when reload global state.
* ext2fs/ext2fs.c (diskfs_reload_global_state): Function changed.
commit e42a8397287e27f23cf9286e9e1976d77bd7625d
Author: Maksym Planeta <address@hidden>
Date: Sat Oct 6 19:25:07 2012 +0300
Replace deprecated functions bzero and bcopy for modern ones.
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.
commit 511174a00d4d174a221947eb6c361de551035178
Author: Maksym Planeta <address@hidden>
Date: Sat Oct 6 14:33:28 2012 +0300
Fix printf format in debugging macros.
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.
commit 87bb398fa2b73bd7ec0993d0d9646bf43bd82782
Author: Maksym Planeta <address@hidden>
Date: Fri Oct 5 20:08:50 2012 +0300
Fix bug with operators priority.
*ext2fs/balloc.c (ext2_new_block): Function changed.
commit 87a1e53090316d1826f9465f56d5acbdf2b7973d
Author: Maksym Planeta <address@hidden>
Date: Fri Oct 5 20:07:29 2012 +0300
Fix bugs with initialization of variables, created on stack.
* ext2fs/balloc.c (ext2_new_block): Function changed.
* ext2fs/ialloc.c (ext2_alloc_inode): Function changed.
commit 233f92d1d3c62240f2c6eda094ab6936e97a8778
Author: Maksym Planeta <address@hidden>
Date: Fri Oct 5 13:44:00 2012 +0300
Move storeio to new pager interface.
* 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.
commit 8ebff284d24bf2a201f9518c5b7b9e399228f1ca
Author: Maksym Planeta <address@hidden>
Date: Wed Oct 3 21:54:08 2012 +0300
Move console translator to new pager interface.
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.
commit 5b0b432533b56ad79e7352ba0349e64210e177be
Author: Maksym Planeta <address@hidden>
Date: Wed Oct 3 19:21:34 2012 +0300
Move isofs to new pager interface.
* 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.
commit 1daa51291fb5f20ac44007869ef87abd2af420db
Author: Maksym Planeta <address@hidden>
Date: Wed Oct 3 18:49:15 2012 +0300
Move fatfs to new pager interface.
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.
commit 17a27ad8454a1abca714819500c20a3eda427455
Author: Maksym Planeta <address@hidden>
Date: Wed Oct 3 18:22:26 2012 +0300
Move UFS to new pager interface.
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.
commit e69fd4bf4e3e130f66526f1df78e2c197c5ba100
Author: Maksym Planeta <address@hidden>
Date: Wed Oct 3 14:45:04 2012 +0300
Move tmpfs to new libpager interface.
* tmpfs/pager-stubs.c: Remove obsolete file.
* tmpfs/Makefile (SRCS): Update variable.
commit b5f9619f04f3881b9e28fe49b5b7020b8f96e5b7
Author: Maksym Planeta <address@hidden>
Date: Wed Oct 3 14:41:45 2012 +0300
Remove warnings regarding type casting.
* 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.
commit 24452e1420227ef63ce4a67f26d0ff2b520b08b7
Author: Maksym Planeta <address@hidden>
Date: Wed Oct 3 14:38:52 2012 +0300
Make mach-defpager process multipage requests in m_o_data_request.
* 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.
commit 145890cb53b35dbaafae1b6ce5afddb3cb10a8ea
Author: Maksym Planeta <address@hidden>
Date: Sun Sep 30 18:54:41 2012 +0300
Update documentation according to resent libpager changes.
* doc/hurd.texi: Update documentation.
commit eaf688785757c072fb3d6a3110625bf0639654b3
Author: Maksym Planeta <address@hidden>
Date: Sun Sep 30 17:47:19 2012 +0300
Update libdiskfs according to changes in libpager.
* 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.
commit 9983c0e74df5b5f8f8227eb763519bd094a5a8a4
Author: Maksym Planeta <address@hidden>
Date: Sun Sep 30 17:02:50 2012 +0300
Fix DEBUG macro.
* libpager/priv.h (DEBUG): Fix macro.
commit 32d4eb3d14fdb8f139675d3f8f779c42b49e3840
Author: Maksym Planeta <address@hidden>
Date: Sun Sep 30 16:56:07 2012 +0300
Add helper function pager_process_pages.
* libpager/pager.h (pager_process_pages): New function.
commit aa3331b4e79f005a8e0d1fb7b46a186eee75568f
Author: Maksym Planeta <address@hidden>
Date: Sun Sep 30 15:05:23 2012 +0300
Add notification interface to libpager.
* 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.
commit 2ca8719606eeca99c425b3282017a6412b49213a
Author: Neal H Walfield <address@hidden>
Date: Wed Apr 10 17:47:58 2002 -0400
Reworking libpager
* 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.
commit 62004794b01e9e712af4943e02d889157ea9163f
Author: Maksym Planeta <address@hidden>
Date: Tue Sep 25 00:43:48 2012 +0300
Fix bugs and warnings in mach-defpager.
-----------------------------------------------------------------------
hooks/post-receive
--
Hurd
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] Hurd branch, mplaneta/gsoc12/prereview, created. hurd-release-0-2-3383-g595d39a,
Maksym Planeta <=