summaryrefslogtreecommitdiffstats
path: root/cpukit/libblock (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* libblock: ramdisk documentationSebastian Huber2012-10-263-61/+41
|
* Remove CVS-Ids.Ralf Corsépius2012-07-192-4/+0
|
* libblock: Fix read-ahead task wake-upSebastian Huber2012-07-091-5/+10
| | | | | | | | | In case the read-ahead task is not configured we must not send a wake-up event. This would send the wake-up event to the executing task. We must send the wake-up event only in case the request list changes from empty to non-empty. Since otherwise we may send a false transfer event.
* libblock: Move read-ahead trigger checkSebastian Huber2012-07-031-1/+2
| | | | | | In case the read-ahead task has a higher priority than the reading task, this ensures that the read-ahead request is issued after the read miss is serviced.
* libblock: Fix read-ahead trigger and next updateSebastian Huber2012-07-021-1/+1
| | | | | The previous version was sub-optimal for read-ahead transfer counts of one.
* libblock: Fix read-ahead trigger and next updateSebastian Huber2012-07-021-2/+2
|
* libblock: Fix continuous blocks write requestSebastian Huber2012-07-021-13/+6
|
* libblock: Remove unused fieldSebastian Huber2012-07-021-1/+0
|
* libblock: Add block device statisticsSebastian Huber2012-06-128-0/+281
|
* libblock: Remove const qualifierSebastian Huber2012-06-122-18/+18
| | | | This allows addtion of per disk statistics for example.
* libblock: Rename structureSebastian Huber2012-06-041-3/+3
|
* libblock: Add read-ahead taskSebastian Huber2012-06-044-128/+284
| | | | | | | | | | | Read-ahead requests were previously executed in the context of the reading task. This blocks the reading task until the complete read with read-ahead transfer is finished. A read-ahead task is introduced to off-load the read-ahead transfer. This allows the reading task to work with the requested block more quickly. The read-ahead is triggered after two misses of ascending consecutive blocks or a read hit of a block read by the most-recent read-ahead transfer. The read-ahead feature is configurable and can be disabled.
* Fix C files which had two semi-colons at EOLJoel Sherrill2012-05-311-1/+1
|
* libblock: Move rtems_bdbuf_get_media_block() callSebastian Huber2012-05-311-75/+78
| | | | Move rtems_bdbuf_get_media_block() call inside the bdbuf lock.
* libblock: Simplify disk managementSebastian Huber2012-05-317-118/+229
| | | | | Add block_count and media_blocks_per_block to rtems_disk_device. Add and use rtems_disk_init_phys() and rtems_disk_init_log().
* libblock: Remove explicit bds_per_group parameterSebastian Huber2012-05-311-18/+13
|
* libblock: Remove const qualifier from bdbuf APISebastian Huber2012-05-318-27/+27
| | | | This allows addtion of per disk statistics for example.
* libblock: Add task stack size bdbuf configurationSebastian Huber2012-05-312-38/+51
| | | | | | The task stack size for the swap-out and worker tasks is now configurable. The bdbuf task resources are now included in the work space size estimate.
* libblock: Fix read request block count calculationSebastian Huber2012-05-241-1/+1
|
* libblock: Fix state descriptionsSebastian Huber2012-05-241-1/+1
|
* Filesystem: PR1255: Move offset update to handlersSebastian Huber2012-05-151-0/+2
| | | | | | | It is now the responsibility of the read() and write() handler to update the offset field of the IO descriptor (rtems_libio_t). This change makes it possible to protect the IO descriptor from concurrent access by per file locks.
* libblock: Fix purge device tree traversalSebastian Huber2012-05-141-1/+2
|
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-1117-38/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* libblock: Add RTEMS_BLKIO_PURGEDEVSebastian Huber2012-05-112-0/+10
|
* Filesystem: PR1398: Fix lseek() mechanicSebastian Huber2012-05-111-1/+1
| | | | | | | | | | | | According to POSIX the lseek() function shall not, by itself, extend the size of a file. Remove the size field of rtems_libio_t. A file has only one size but may have multiple open file descriptors. Thus a file size field in the file descriptor may lead to inconsistencies. New default handlers rtems_filesystem_default_lseek_file() and rtems_filesystem_default_lseek_directory().
* Revert: Remove CVS IdsJoel Sherrill2012-05-071-0/+4
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Remove CVS-Ids.Ralf Corsépius2012-05-041-4/+0
|
* libblock: PR2040: Fix recycle destination updateSebastian Huber2012-04-161-8/+7
| | | | | Check the availablity of a recycle destination segment only when it is necessary to avoid missing resycle source segment erasures.
* libblock: PR2040: Add starvation thresholdSebastian Huber2012-04-161-1/+15
| | | | | | Do not use the unavailable block count as the erased blocks starvation threshold. Use instead the block count of the largest segment. This improves the starvation resolution gain of available blocks.
* libblock: Add rtems_bdbuf_set_block_size()Sebastian Huber2012-04-126-85/+165
| | | | | | | | The new function rtems_bdbuf_set_block_size() must be used to set the block size of a disk device. It will check if the block size is valid and set the new fields block_to_media_block_shift and bds_per_group of the rtems_disk_device structure. This helps to avoid complex arithmetic operations in the block device buffer get and read path.
* libblock: Change error status to fatal errorSebastian Huber2012-04-122-24/+47
| | | | | Calling the bdbuf API functions in the not configured state is now a fatal error.
* libblock: Use unprotected chain operationsSebastian Huber2012-04-121-4/+4
| | | | The transfer chain is accessed by at most one thread at a time.
* libblock: Use unprotected chain operationsSebastian Huber2012-04-121-17/+17
| | | | The chains are protected by the bdbuf cache lock.
* Filesystem: Change type of ioctl_returnSebastian Huber2012-04-031-2/+2
| | | | | Change the ioctl_return type of rtems_libio_ioctl_args_t to match the ioctl() return value type.
* PR2040: libblock: Flash disk starvations statisticSebastian Huber2012-03-141-2/+10
|
* PR2040: libblock: Flash disk documentationSebastian Huber2012-03-142-106/+122
|
* PR2040: libblock: Fix return statusSebastian Huber2012-03-141-3/+3
|
* PR2040: libblock: Avoid erased blocks starvationSebastian Huber2012-03-141-115/+185
| | | | | | | | | | | | The compaction process needs erased blocks. It is only possible to erase an entire segment. Thus in order to make a progress we always need enough erased blocks to empty a used or available segment which can be erased in turn. A (possibly the worst case) lower bound of erased blocks is the block count of the largest segment. The number of unavailable blocks specified by the configuration will be used to determine the erase blocks starvation situation. The number of unavailable blocks must be greater than or equal to the number of blocks in the largest segment.
* PR2040: libblock: Track number of erased blocksSebastian Huber2012-03-141-1/+8
|
* PR2040: libblock: Use segment control as parameterSebastian Huber2012-03-141-100/+91
|
* libblock: Use new API for disk mediaSebastian Huber2012-03-131-57/+14
|
* libblock: Add generic IMFS block device nodesSebastian Huber2012-03-133-0/+431
| | | | | | | | New functions o rtems_blkdev_create(), and o rtems_blkdev_create_partition(). New test libtests/block11.
* libblock: Split file and simplifySebastian Huber2012-03-133-77/+83
|
* libblock: New support functionsSebastian Huber2012-03-131-0/+21
| | | | | | | Add o rtems_disk_get_block_size(), o rtems_disk_get_block_begin(), and o rtems_disk_get_block_count().
* libblock: Change bdbuf APISebastian Huber2012-03-139-235/+189
| | | | | | | | | | | | | | | | | | | | The functions o rtems_bdbuf_get(), o rtems_bdbuf_read(), o rtems_bdbuf_syncdev(), and o rtems_bdbuf_purge_dev(), use now the disk device instead of the device identifier. This makes bdbuf independent of rtems_disk_obtain() and rtems_disk_release(). It is the responsiblity of the file system to obtain the disk device. This also reduces the overhead to get a buffer. The key for the AVL tree uses now the disk device instead of the device identifier. The pointer is interpreted as an unsigned integer. This reduces the memory overhead and makes the comparison operation a bit faster. Removed function rtems_bdbuf_purge_major(). This function was too destructive and could have unpredictable side effects.
* libblock: DocumentationSebastian Huber2012-03-131-25/+41
|
* libblock: Remove superfluous volatile qualifierSebastian Huber2012-03-132-9/+9
| | | | All these variables are protected by the bdbuf cache mutex.
* libblock: Discard extended partitionsSebastian Huber2012-03-131-0/+2
| | | | | Discard the extended partitions after evaluation. This prevents logical disks that contain other logical disks.
* libblock: rtems_ide_part_table_initialize() APISebastian Huber2012-03-132-2/+2
|
* libblock: New block IO control support functionsSebastian Huber2012-03-131-0/+39
|