summaryrefslogtreecommitdiffstats
path: root/cpukit/libblock/src/diskdevs.c
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2009-08-05 00:00:54 +0000
committerChris Johns <chrisj@rtems.org>2009-08-05 00:00:54 +0000
commit0d15414ed6c144f7f7e4ce63476b3eb9b94acceb (patch)
treed403db6ba0eae020e8613bb81a0427ca1ab85867 /cpukit/libblock/src/diskdevs.c
parent2009-08-04 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-0d15414ed6c144f7f7e4ce63476b3eb9b94acceb.tar.bz2
009-08-05 Chris Johns <chrisj@rtems.org>
* libmisc/dummy/dummy-networking.c: New. * libmisc/dummy/dummy.c, libmisc/Makefile.am: Move trhe networking configuration into a separate file so configuration varations do not cause conflicts. * score/inline/rtems/score/object.inl, score/include/rtems/score/object.h: Remove warnings. * score/inline/rtems/score/object.inl: Add _Chain_First, _Chain_Last, _Chain_Mext, and _Chain_Previous. * sapi/inline/rtems/chain.inl: Add rtems_chain_first, rtems_chain_last, rtems_chain_mext, and rtems_chain_previous. * libblock/include/rtems/diskdevs.h: Remove the bdbuf pool id and block_size_log2. Add media_block_size. * libblock/src/diskdevs.c: Remove size restrictions on block size. Add media block size initialisation. Remove comment to clean up the bdbuf cache. * libblock/src/blkdev.c: Remove references to block_size_log2. Allow any block size. * libblock/include/rtems/bdbuf.h, libblock/src/bdbuf.c: Remove all references to pools and make the cache handle demand driver variable buffer size allocation. Added worker threads support the swapout task. * sapi/include/confdefs.h: Updated the bdbuf configutation.
Diffstat (limited to 'cpukit/libblock/src/diskdevs.c')
-rw-r--r--cpukit/libblock/src/diskdevs.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/cpukit/libblock/src/diskdevs.c b/cpukit/libblock/src/diskdevs.c
index 0f94615a0d..9d044bec69 100644
--- a/cpukit/libblock/src/diskdevs.c
+++ b/cpukit/libblock/src/diskdevs.c
@@ -226,34 +226,18 @@ rtems_status_code rtems_disk_create_phys(
const char *name
)
{
- int bs_log2;
- int i;
rtems_disk_device *dd;
rtems_status_code rc;
- rtems_bdpool_id pool;
rtems_device_major_number major;
rtems_device_minor_number minor;
rtems_filesystem_split_dev_t (dev, major, minor);
-
- for (bs_log2 = 0, i = block_size; (i & 1) == 0; i >>= 1, bs_log2++);
- if ((bs_log2 < 9) || (i != 1)) /* block size < 512 or not power of 2 */
- return RTEMS_INVALID_NUMBER;
-
rc = rtems_semaphore_obtain(diskdevs_mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT);
if (rc != RTEMS_SUCCESSFUL)
return rc;
diskdevs_protected = true;
- rc = rtems_bdbuf_find_pool(block_size, &pool);
- if (rc != RTEMS_SUCCESSFUL)
- {
- diskdevs_protected = false;
- rtems_semaphore_release(diskdevs_mutex);
- return rc;
- }
-
rc = create_disk(dev, name, &dd);
if (rc != RTEMS_SUCCESSFUL)
{
@@ -266,10 +250,8 @@ rtems_status_code rtems_disk_create_phys(
dd->uses = 0;
dd->start = 0;
dd->size = disk_size;
- dd->block_size = block_size;
- dd->block_size_log2 = bs_log2;
+ dd->block_size = dd->media_block_size = block_size;
dd->ioctl = handler;
- dd->pool = pool;
rc = rtems_io_register_name(name, major, minor);
@@ -333,7 +315,6 @@ rtems_status_code rtems_disk_create_log(
dd->start = start;
dd->size = size;
dd->block_size = pdd->block_size;
- dd->block_size_log2 = pdd->block_size_log2;
dd->ioctl = pdd->ioctl;
rc = rtems_io_register_name(name, major, minor);
@@ -555,7 +536,6 @@ rtems_disk_io_done(void)
rc = rtems_semaphore_delete(diskdevs_mutex);
- /* XXX bdbuf should be released too! */
disk_io_initialized = 0;
return rc;
}