Commit graph

115 commits

Author SHA1 Message Date
nvt-se
957ae56b13 broke out the essence of the search algorithm to a separate function. 2009-02-19 21:35:38 +00:00
nvt-se
07c50cc200 corrected file cache status checks in previous commit. 2009-02-17 18:50:29 +00:00
nvt-se
d029dd8240 cleaned up mostly the GC code.
made EOF hints optional.

default build is now ~500 bytes smaller.
2009-02-17 16:56:32 +00:00
nvt-se
883d10e136 GC fix: isolated pages must always be allocated.
page allocation: increased utilization because the algorithm failed to
count all space before.

style: renamed and simplified some code and names.
2009-02-14 19:09:17 +00:00
nvt-se
b8f3dca765 fixed merge_log bug and space allocation error with isolated pages. 2009-02-12 11:24:22 +00:00
nvt-se
98f7f9a06a sizeof on coffee_fd_set is no longer suitable since it has become a
pointer.
2009-02-09 12:02:10 +00:00
fros4943
4f7f3c97b5 * added coffee_files to the protected memory needed during cfs-based checkpointing operations
* renamed cfs_coffee_get_fd_set() to cfs_coffee_get_protected_memory() to highlight that not only fd_set is protected
2009-02-09 10:08:26 +00:00
nvt-se
d0a546b049 A long refactoring session yielded the following.
Technical changes:

* Factored out file specific information from the file descriptor
  structure into a new file structure.

  - Useful file metadata can be stored after the file is closed.
  - File descriptors become much smaller.
  - Significantly reduces the need to scan for the file end.

* Use correct types in all function signatures.
* Removed the directory cache.

Results:

* Enormous speed increase when opening cached files (10x-20x.)
* Multiple fd:s pointing to the same file have the correct semantics.
* About 100 bytes smaller ROM size.
* Slightly smaller static RAM size.
2009-02-08 17:08:13 +00:00
nvt-se
fda75c4c08 Use the right type for pages in the directory cache. This makes the
cache much smaller on most platforms.
2009-02-03 16:21:53 +00:00
fros4943
8f462b9a52 zeroed debug flag 2009-01-23 17:28:09 +00:00
fros4943
7e5047012b added function for getting coffee's fd_set address and size 2009-01-23 16:27:49 +00:00
nvt-se
9d7e9fe297 reduced code size by removing some unnecessary statements. 2008-12-18 15:49:43 +00:00
nvt-se
f041a2eada fixed compilation error when debug flag was set. 2008-12-12 10:23:49 +00:00
nvt-se
532ebc1e9a reduced the code size by 200 bytes.
fixed an EOF hint bug that occured when files where extended.
2008-12-09 16:01:18 +00:00
nvt-se
15e8675ab9 Added file removal function to the CFS API. Only cfs-coffee and cfs-posix
implements this, whereas the others just return -1.
2008-11-24 10:56:55 +00:00
nvt-se
a59cbaf19f removed redundant code. 2008-11-19 14:39:08 +00:00
nvt-se
5fe2c34038 - important bug fix regarding writing after a merge log operation: parameters
must be restored.

- fixed watchdog problem in reserve
2008-11-19 13:42:07 +00:00
nvt-se
c4a5010c46 break out eof update functionality since its now needed at more than one
place.
2008-11-18 23:10:30 +00:00
nvt-se
3c0d67c14f simplified complex functions through abstractions.
switched base offset to coffee_offset_t type.
2008-11-17 14:37:23 +00:00
nvt-se
25a73a43dc loop parameter must be signed in case batch_size is 0. 2008-11-17 10:34:57 +00:00
nvt-se
5fc9534188 reuse merge_log to also do file extensions. 2008-11-17 09:09:17 +00:00
nvt-se
2ec836f1f9 function argument should be a pointer 2008-11-13 14:46:32 +00:00
nvt-se
4e2d39546b removed debug output. 2008-11-13 00:58:51 +00:00
nvt-se
a06ad707ee corrected EOF hint calculation. 2008-11-13 00:58:13 +00:00
nvt-se
28ed5e2a4a - Added passive directory cache filling.
- Improved variable naming.
- Cast unknown integer type parameters to format type for printf calls.
2008-11-10 23:07:53 +00:00
nvt-se
a1ea7cbe3e generalized log buffer adjustments into functions. simplified next_log_record
usage.
2008-11-04 23:30:47 +00:00
nvt-se
6ca91f1271 revoked accidental renaming om dir cache entries. 2008-11-04 23:12:44 +00:00
nvt-se
e6a7089942 refactored the code and reduced the ROM size a few dozen of bytes 2008-11-04 23:09:55 +00:00
nvt-se
ae8c93d0aa cut 500 bytes of ROM size. 2008-11-04 17:48:36 +00:00
nvt-se
1309cb474d removed redundant code 2008-11-04 17:23:59 +00:00
nvt-se
becfecfe1b reduced rom size by ~40 bytes 2008-11-04 16:58:52 +00:00
nvt-se
a6a17bc52c optimized the merge log operation and fixed a fd update bug. 2008-11-04 15:49:54 +00:00
nvt-se
71d01a44a1 adjust read chunk size according to log entry size 2008-11-03 20:21:43 +00:00
nvt-se
fff8b46110 fixed a buffer bug with the micro logs 2008-11-03 16:58:18 +00:00
nvt-se
a6afeb2de6 fixed bug with dislocated end of file search 2008-11-03 15:13:13 +00:00
nvt-se
afeedb1f2b fixed compiler warnings that were introduced with the new reserve function. 2008-10-29 15:36:21 +00:00
nvt-se
e15fbdbd40 allow duplicate reservations when flushing the log. 2008-10-28 14:47:50 +00:00
nvt-se
b591bb1b72 read as much as possible, even when reading log records. 2008-10-21 13:26:24 +00:00
nvt-se
7d07a7f65d prohibit 0-sized log entries. 2008-10-16 13:17:27 +00:00
nvt-se
8bb7e37baf - new log semantics: read the previous log entry only if the new one doesn't completely overshadow it.
- bug fix: prohibit file reservations with names that already exist.
2008-10-16 12:54:36 +00:00
nvt-se
77c72f4588 improved log write semantics on configured logs. 2008-10-16 09:58:57 +00:00
nvt-se
ccd492f687 sanity check on configure_log parameters 2008-10-15 13:57:30 +00:00
nvt-se
10639bc982 use abstract types for offsets and pages so that we can easily port it to
very large or small memories.
2008-10-03 19:27:28 +00:00
nvt-se
7f3e81f5d3 fixed file descriptor leakage and erroneous flag setting. 2008-09-21 16:07:26 +00:00
nvt-se
9e7add658b corrected assignments. 2008-09-21 15:30:51 +00:00
nvt-se
ac6ce4cbf1 increased sequential read performance by eliminating a header reading. 2008-09-21 15:01:48 +00:00
nvt-se
4b6abd4fb7 bug fixes:
- close all file descriptors after formatting.
- do not increase file size when flushing the log.
- make sure that the fd is positive in FD_VALID.
2008-09-21 12:49:08 +00:00
nvt-se
195062416e corrected parameter type 2008-08-28 14:32:53 +00:00
nvt-se
86bce2636d fixed bug with eof hint 2008-08-28 14:31:10 +00:00
nvt-se
f122654317 the isolated flag must have higher precedence than the obsolete flag 2008-08-28 12:50:09 +00:00
nvt-se
e483f335ce activated EOF hints and fixed a bug in the garbage collector. 2008-08-25 09:57:38 +00:00
nvt-se
8b7e743921 Enforce the number of pages in a sector to be a power of two. 2008-08-15 22:38:43 +00:00
nvt-se
c36a0a33fc Improved the performance of the garbage collector and the algorithm for
finding contiguous pages.

Adjusted the file header and added a validity indicator.

Removed some redundant code and fixes minor issues in the text.
2008-08-15 12:34:56 +00:00
nvt-se
2b68f88e77 moved platform independent definitions 2008-07-11 21:39:26 +00:00
nvt-se
e8a85b3726 moved platform independent code to the right place 2008-07-11 21:35:10 +00:00
nvt-se
671f5c6393 Major performance boost to directory listings and non-cached file openings. 2008-07-04 02:54:30 +00:00
nvt-se
45c6d92377 exclude log files from directory list 2008-07-03 23:50:54 +00:00
nvt-se
3fc9c96ac2 should be comparison, not assignment 2008-07-03 23:41:28 +00:00
nvt-se
8f64a71362 Simplified file finding code.
Renamed fd_set to coffee_fd_set in order to avoid name clash on the native
platform.
2008-07-03 23:29:58 +00:00
nvt-se
379b09d576 Fixed bug that occured after the node had been rebooted. 2008-07-03 22:59:10 +00:00
nvt-se
65ec55e68f call watchdog_periodic in potentially long-running loops 2008-07-02 15:18:43 +00:00
nvt-se
7e4bab3cc8 turned off debugging by default 2008-07-02 12:06:02 +00:00
nvt-se
26716fe7a1 added formatting function and made code style compliant 2008-07-02 11:11:13 +00:00
nvt-se
63a8390f51 no debugging printouts by default 2008-05-14 14:02:48 +00:00
nvt-se
92649bedce A flash file system for sensor nodes. 2008-04-28 10:33:14 +00:00