diff options
author | Miles Bader <miles@gnu.org> | 1996-07-17 21:44:34 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 1996-07-17 21:44:34 +0000 |
commit | f0d6fbcf3f34209f5c7ddaf177bba4ce45694dea (patch) | |
tree | 801fa210b0b6255cce85dd477c8412af6ef0e8df /ext2fs/pager.c | |
parent | cb3be61cb4017ff0b26386c1a73698a3b3e58f84 (diff) | |
download | hurd-f0d6fbcf3f34209f5c7ddaf177bba4ce45694dea.tar.gz hurd-f0d6fbcf3f34209f5c7ddaf177bba4ce45694dea.tar.bz2 hurd-f0d6fbcf3f34209f5c7ddaf177bba4ce45694dea.zip |
(pager_unlock_page, diskfs_grow, file_pager_read_page,
file_pager_write_page):
Record debugging info.
Diffstat (limited to 'ext2fs/pager.c')
-rw-r--r-- | ext2fs/pager.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ext2fs/pager.c b/ext2fs/pager.c index bab2e791..a1066223 100644 --- a/ext2fs/pager.c +++ b/ext2fs/pager.c @@ -114,6 +114,8 @@ file_pager_read_page (struct node *node, vm_offset_t page, return 0; } + *writelock = 0; + if (page >= node->allocsize) { err = EIO; @@ -130,6 +132,8 @@ file_pager_read_page (struct node *node, vm_offset_t page, if (err) break; + RECORD_LAST (&node->dn, LAST_READ, page); + if (block != pending_blocks + num_pending_blocks) { err = do_pending_reads (); @@ -280,6 +284,9 @@ file_pager_write_page (struct node *node, vm_offset_t offset, vm_address_t buf) err = find_block (node, offset, &block, &lock); if (err) break; + + RECORD_LAST (&node->dn, LAST_WRITE, offset); + assert (block); pending_blocks_add (&pb, block); offset += block_size; @@ -418,6 +425,8 @@ pager_unlock_page (struct user_pager_info *pager, vm_offset_t page) rwlock_writer_lock (&dn->alloc_lock); + RECORD_LAST (dn, LAST_UNLOCK, page); + partial_page = (page + vm_page_size > node->allocsize); err = diskfs_catch_exception (); @@ -491,6 +500,8 @@ diskfs_grow (struct node *node, off_t size, struct protid *cred) rwlock_writer_lock (&dn->alloc_lock); + RECORD_LAST (dn, LAST_GROW, size); + old_size = node->allocsize; new_size = round_block (size); |