diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2025-02-04 22:40:01 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2025-02-04 22:40:23 +0100 |
commit | 0933418a1625da62d7ba79d5ee33ee2c256999a5 (patch) | |
tree | a568a878d7816e23fd08faed03c4ccefb40e257e | |
parent | db700b4d6bd100636f1efc0209bebab29ea50bab (diff) | |
download | hurd-0933418a1625da62d7ba79d5ee33ee2c256999a5.tar.gz hurd-0933418a1625da62d7ba79d5ee33ee2c256999a5.tar.bz2 hurd-0933418a1625da62d7ba79d5ee33ee2c256999a5.zip |
mach-defpager: comment on improving on lost data
Instead of killing the whole object.
-rw-r--r-- | mach-defpager/default_pager.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mach-defpager/default_pager.c b/mach-defpager/default_pager.c index aef700d0..9a477615 100644 --- a/mach-defpager/default_pager.c +++ b/mach-defpager/default_pager.c @@ -2470,6 +2470,9 @@ ddprintf ("seqnos_memory_object_data_request <%p>: pager_port_unlock: <%p>[s:%d, pager_port_unlock(ds); if (errors) { + /* TODO: we could instead add an ERROR along NO_BLOCK + to singlify returned errors to the pages actually lost instead + of killing the whole object. */ static int warned = 0; if (!warned) { printf("(default pager): previous write error for object, killing it\n"); @@ -2588,6 +2591,7 @@ ddprintf ("seqnos_memory_object_data_initialize <%p>: pager_port_unlock: <%p>[s: printf("(default pager): data_initialize write error, losing data\n"); } dstruct_lock(ds); + /* TODO: mark page as lost instead. */ ds->errors++; dstruct_unlock(ds); } @@ -2675,6 +2679,7 @@ seqnos_memory_object_data_return(default_pager_t ds, warned = 1; } dstruct_lock(ds); + /* TODO: mark page as lost instead. */ ds->errors++; dstruct_unlock(ds); } |