diff options
author | mcsim <mcsim@web> | 2011-12-05 23:31:25 +0100 |
---|---|---|
committer | GNU Hurd web pages engine <web-hurd@gnu.org> | 2011-12-05 23:31:25 +0100 |
commit | 05e7070db686aa8cb196dec23204cfc66734fbca (patch) | |
tree | e10585043b00e19e2f5e4a14116c2edfd9a27a30 | |
parent | 91aa161a41acfdbbfdff883d07e10cf64a0cba8c (diff) |
-rw-r--r-- | user/Maksym_Planeta.mdwn | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/user/Maksym_Planeta.mdwn b/user/Maksym_Planeta.mdwn index 1c589ed8..59b562c9 100644 --- a/user/Maksym_Planeta.mdwn +++ b/user/Maksym_Planeta.mdwn @@ -47,6 +47,8 @@ Here are follow operations: When fsx tries to read data kernel calls pager with seqno_memory_object_data_request, and pager returns on step 4 zeros either with memory_object_data_provided or memory_object_data_unavailable. Before this, in default_pager_set_size memory_object_lock_request called to flush any kernel caches, that could hold data to be truncated. When I set offset to 0 and size to limit in memory_object_lock_request it appeared another error ([[see|http://www.bddebian.com:8888/~hurd-web/user/Maksym_Planeta/#fsx_fail2411]]). Both these behaviors appear to be quite strange for me. It is quite late now, so i put these notes to not forget this and went sleep. Continue tomorrow. +5.12.11 Here is a problem with writing by address, which was freed already. It happens in function dealloc_direct in macros invalidate_block. This function is called from pager_truncate in branch when condition "if (!INDIRECT_PAGEMAP(old_size))" is true. But I didn't find why reference to freed object is kept. As workaround we can reduce kalloc_max in hurd/mach-defpager/kalloc.c to 3 to make allocator use vm_allocate always. The drawback is that allocator will allocate only multiple of vm_page_size, but this is temporary tradeoff. Till now fsx reaches operation number 14277. + ### Write own pager 6.11.11 Reading/writing for files that fit in vm_page_size works |