Commit Graph

29 Commits

Author SHA1 Message Date
David Anderson 8cd8c8e7ee server software: handle 64-bit database IDs
The SETI@home result table is about to run out of 32-bit IDs,
so we need to move to 64-bit result IDs.
This will happen to the workunit table at some point too.

I changed the server C++ code to use the "long" type for all DB IDs
(and to use appropriate conversion codes like %lu).
"long" is 64 bit on 64-bit machines.
For uniformity I did this for all tables,
even ones (like app) that will never get big.

I chose NOT to change the DB schema for now.
The new code will work with 32-bit ID fields in the DB.
As projects approach the 32-bit limit on a table they can change
its ID field, and fields that reference this table, to BIGINT.
This is likely to happen only on the result and workunit tables.
I put functions in html/ops/db_update.php
to change the IDs of these tables.
2015-07-23 10:11:08 -07:00
Julien Nabet d75222ebf3 cppcheck: Prefer prefix ++/-- operators for non-primitive types 2015-01-14 21:18:29 +01:00
David Anderson 78f7610f6e remove dependency of boinc_api.h on str_replace.h (and hence config.h)
Any files that use strlcpy() or strlcat() must directly include str_replace.h
2013-06-06 17:31:46 -07:00
David Anderson b9f0733c06 server: replace strcpy() with strlcpy() various places 2013-06-03 22:42:53 -07:00
David Anderson 2a120631a4 - scheduler: build fixes for FreeBSD. From RustyBSD. 2013-03-04 15:23:38 +01:00
David Anderson acd1ad07ae - tweaks
svn path=/trunk/boinc/; revision=26146
2012-10-11 05:37:23 +00:00
David Anderson a9e78b6459 - volunteer storage: fix the way that hosts are classified as alive/dead
- add a config item vda_host_timeout.
        A host that hasn't done a scheduler RPC for this long
        is considered dead.
    - a host that's not running a version 7+ client is considered dead
    - host.cpu_efficiency (an otherwise unused field) is used
        as a flag for dead hosts
    - the scheduler clears the flag if the client is v7+
    - vdad sets the flag for hosts where last RPC is old
    - before choosing a host for chunk download,
        vdad checks its client version.


svn path=/trunk/boinc/; revision=26059
2012-08-24 19:06:41 +00:00
David Anderson 2ebc7de2cb - file_upload_handler: bug fix
- volunteer storage: buf fixes


svn path=/trunk/boinc/; revision=26056
2012-08-22 18:23:01 +00:00
David Anderson e79d3ea4c8 - client: change the way project disk share is computed.
- Allow projects to report "desired disk usage" (DDU).
        If the client learns that a project wants disk space,
        it can shrink the allocation to other projects.
    - Base share computation on DDU rather than disk usage.
    - Introduce the notion of "disk resource share".
        This is defined (somewhat arbitrarily) as resource share
        plus 1/10 of the largest resource share.
        This is intended to ensure that even zero-share projects
        get enough disk space to store app versions and data files;
        otherwise they wouldn't be able to compute.
- server: use host.d_boinc_max (which wasn't being used)
    to start d_project_share reported by client.
- volunteer storage: change the way hosts are allocated to chunks.
    Allow hosts to store several chunks of the same file, if needed


svn path=/trunk/boinc/; revision=26052
2012-08-22 04:02:52 +00:00
David Anderson 446bc4ca28 - client: take GPU exclusions into account when making
initial work request to a project
- client: put some casts to double in NVIDIA detect code.
    Shouldn't make any difference.
- volunteer storage: truncate file to right size after retrieval


svn path=/trunk/boinc/; revision=26051
2012-08-20 23:41:27 +00:00
David Anderson 52068b5f2d - client: print log msgs (enabled by task_debug) if the client
times out on quitting or aborting a task, and has to kill it.
- volunteer storage: bug fixes


svn path=/trunk/boinc/; revision=26050
2012-08-20 19:48:57 +00:00
David Anderson c0058ee5eb - volunteer storage: various
svn path=/trunk/boinc/; revision=26043
2012-08-17 23:27:44 +00:00
David Anderson b029e352c9 - scheduler: if sending GPU description to pre-7.0 client,
call it CUDA instead of NVIDIA


svn path=/trunk/boinc/; revision=26042
2012-08-17 06:10:25 +00:00
David Anderson 0d42a4aa5c - file upload handler: add an #ifdef for disabling locking of files
while writing to them.
    It's not clear to me that this locking is beneficial,
    and it may be causing filesystem problems at WCG
- volunteer storage stuff


svn path=/trunk/boinc/; revision=26021
2012-08-15 21:27:38 +00:00
David Anderson 8290ce1d11 - volunteer storage stuff
svn path=/trunk/boinc/; revision=26015
2012-08-13 23:15:50 +00:00
David Anderson b6234edc95 - db_purge: fix typo that cause bad DB query when using assignments
svn path=/trunk/boinc/; revision=26010
2012-08-12 06:54:20 +00:00
David Anderson 7335c036fc - server: volunteer storage bug fixes.
Note to self: jerasure's decoder program loops or crashs
        if there are no missing chunks.

svn path=/trunk/boinc/; revision=25995
2012-08-08 21:37:51 +00:00
David Anderson 2dd5276300 - client: parse <network_wifi_only> in prefs
- server: compile fix


svn path=/trunk/boinc/; revision=25991
2012-08-07 22:49:40 +00:00
David Anderson 1189951953 - volunteer storage. Seems to be working, at least in simulation
svn path=/trunk/boinc/; revision=25974
2012-08-03 16:41:00 +00:00
David Anderson 405f567c81 - code cleanup: in foo.cpp, include foo.h first
svn path=/trunk/boinc/; revision=25933
2012-08-01 20:04:05 +00:00
David Anderson ab120dea9e - web: after post to a thread, show thread in user's chosen order
instead of newest first.


svn path=/trunk/boinc/; revision=25931
2012-08-01 17:57:56 +00:00
David Anderson 6e816094bd - volunteer data storage: intermediate checkin
svn path=/trunk/boinc/; revision=25890
2012-07-25 21:41:32 +00:00
David Anderson ac20215eb8 - volunteer storage: implement "vda status" command
svn path=/trunk/boinc/; revision=25887
2012-07-23 21:53:09 +00:00
David Anderson ce52c9cf3e - storage stuff
svn path=/trunk/boinc/; revision=25341
2012-02-24 22:55:11 +00:00
David Anderson d0413886fa - storage stuff
svn path=/trunk/boinc/; revision=25340
2012-02-24 21:13:00 +00:00
David Anderson a8f883d2fa - server: split out the "antique file deletion" feature of
file_deleter.cpp into a separate program,
    since it blocks normal file deletion while it's running.
    From Bernd.
- storage stuff


svn path=/trunk/boinc/; revision=25321
2012-02-24 03:09:56 +00:00
David Anderson d03f697456 - storage stuff
svn path=/trunk/boinc/; revision=25307
2012-02-21 20:55:09 +00:00
David Anderson caf56b8b6b - lib: change get_mac_address() to avoid sprintf(buf, "%s...", buf);
use strcat instead
- client: don't use get_mac_address() to create host CPIDs
    (we have plenty of other info to make them unique)
- storage stuff


svn path=/trunk/boinc/; revision=25269
2012-02-16 00:08:40 +00:00
David Anderson a4cd8e5cdb - storage stuff
- client: message tweak


svn path=/trunk/boinc/; revision=25244
2012-02-13 08:41:48 +00:00