1 |
|
2005-08-22 Ognyan Kulev <ogi@fmi.uni-sofia.bg> |
2 |
|
|
3 |
|
* ext2fs.h: <hurd/store.h> and <hurd/ihash.h> are included. |
4 |
|
(DISK_CACHE_BLOCKS): New macro. |
5 |
|
disk_image is renamed to disk_cache. |
6 |
|
New extern variables disk_cache_size and disk_cache_blocks. |
7 |
|
(DC_INCORE, DC_UNTOUCHED, DC_FIXED, DC_DONT_REUSE, DC_NO_BLOCK): |
8 |
|
New macros. |
9 |
|
(DISK_CACHE_LAST_READ_XOR) [NDEBUG]: New macro. |
10 |
|
(struct disk_cache_info): New struct. |
11 |
|
New extern variables disk_cache_bptr, disk_cache_info, |
12 |
|
disk_cache_lock, and disk_cache_reassociation. |
13 |
|
Prototypes for new functions buffer_lookup, buffer_ref, |
14 |
|
buffer_put, and buffer_is_ref. |
15 |
|
Variables sblock and sblock_dirty are made extern. |
16 |
|
Prototype for function map_hypermetadata. |
17 |
|
(trunc_block, round_block, boffs): Added type casting to off_t. |
18 |
|
(bptr_index): New macro. |
19 |
|
(boffs_ptr, bptr_offs): New inline functions that replace macros. |
20 |
|
(dino): Renamed to... |
21 |
|
(dino_lookup): ...this name. The new block cache functions are |
22 |
|
used. |
23 |
|
(dino_put): New inline function. |
24 |
|
(record_global_poke, sync_global_ptr, record_indir_poke): The new |
25 |
|
block cache functions are used. |
26 |
|
(sync_global): Added debug code. |
27 |
|
|
28 |
|
* ext2fs.c (parse_opt): memset is used instead of bzero. |
29 |
|
(main): disk_cache is referred instead of disk_image. |
30 |
|
map_hypermetadata is called instead of get_hypermetadata. |
31 |
|
(diskfs_reload_global_state): map_hypermetadata is called after |
32 |
|
get_hypermetadata. |
33 |
|
|
34 |
|
* hyper.c (get_hypermetadata): Superblock is read with |
35 |
|
store_read. |
36 |
|
(map_hypermetadata): New function. |
37 |
|
(diskfs_set_hypermetadata): The new block cache functions are |
38 |
|
used. |
39 |
|
(diskfs_readonly_changed): disk_cache is referred instead of |
40 |
|
disk_image. |
41 |
|
|
42 |
|
* inode.c: The new block cache functions are used. |
43 |
|
memcpy is used instead of bcopy. |
44 |
|
(rwlock_init): disk_cache is used instead of disk_image. |
45 |
|
(read_node): Added missing call to diskfs_end_catch_exception(). |
46 |
|
round_block is used instead of inline calculations. |
47 |
|
|
48 |
|
* ialloc.c: The new block cache functions are used. |
49 |
|
(diskfs_free_node): %Lu instead of %u is used for inode numbers. |
50 |
|
|
51 |
|
* truncate.c: The new block cache functions are used. |
52 |
|
(trunc_indirect): Proper mapping from buffer to pager offset. |
53 |
|
|
54 |
|
* getblk.c: The new block cache functions are used. |
55 |
|
(ext2_alloc_block): memset is used instead of bzero. |
56 |
|
|
57 |
|
* balloc.c: The new block cache functions are used. |
58 |
|
|
59 |
|
* pokel.c: Proper decrementing of reference counts of buffers. |
60 |
|
|
61 |
|
* pager.c: The new block cache functions are used. |
62 |
|
memcpy/memset are used instead of bcopy/bzero. |
63 |
|
%Lu instead of %u or %lu is used for block numbers. |
64 |
|
<unistd.h> and "../libpager/priv.h" are included. |
65 |
|
(file_pager_read_page, pending_blocks_write): Added type casting |
66 |
|
to store_offset_t. |
67 |
|
(disk_pager_read_page, disk_pager_write_page): Buffers in disk |
68 |
|
cache are properly mapped to block numbers. |
69 |
|
(disk_pager_notify_evict): New function. |
70 |
|
New global variables disk_cache, disk_cache_size, |
71 |
|
disk_cache_blocks, disk_cache_bptr, disk_cache_info, |
72 |
|
disk_cache_hint, disk_cache_lock, disk_cache_reassociation. |
73 |
|
(disk_cache_init, disk_cache_return_unused) |
74 |
|
(buffer_lookup, buffer_ref, buffer_put, buffer_is_ref): New |
75 |
|
functions. |
76 |
|
(create_disk_pager): Added initialization of disk cache. |
77 |
|
(diskfs_get_filemap): Added zero notify_on_evict argument to |
78 |
|
pager_create. |
79 |
|
|
80 |
2005-07-12 Marcus Brinkmann <marcus@gnu.org> |
2005-07-12 Marcus Brinkmann <marcus@gnu.org> |
81 |
|
|
82 |
* pager.c (diskfs_get_filemap): Initialize upi->max_prot to PROT. |
* pager.c (diskfs_get_filemap): Initialize upi->max_prot to PROT. |