[PATCH 07/21] libtests/block06: Use rtems_blkdev_create()
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Aug 6 07:14:39 UTC 2018
Update #3358.
---
testsuites/libtests/block06/block06.scn | 820 ++++++++++++++++----------------
testsuites/libtests/block06/init.c | 234 ++++-----
2 files changed, 499 insertions(+), 555 deletions(-)
diff --git a/testsuites/libtests/block06/block06.scn b/testsuites/libtests/block06/block06.scn
index c18724e30e..9606dd5b64 100644
--- a/testsuites/libtests/block06/block06.scn
+++ b/testsuites/libtests/block06/block06.scn
@@ -1,512 +1,516 @@
-*** TEST BLOCK 6 ***
-lower priority to 31: successful completion
-register disk driver
-disk io init: successful completion
+*** BEGIN OF TEST BLOCK 6 ***
+*** TEST VERSION: 5.0.0.0875607358b38443acf395ad675a4f07794d5f95
+*** TEST STATE: EXPECTED-PASS
+*** TEST BUILD: RTEMS_NETWORKING RTEMS_POSIX_API RTEMS_SMP
+*** TEST TOOLS: 7.3.0 20180125 (RTEMS 5, RSB 6d9c77c77d271d1fc2dfe8493d6713930b52a6dd, Newlib 3.0.0)
+register disks
disk init: /dev/bddisk0
-disk lock: successful completion
+disk lock: RTEMS_SUCCESSFUL
disk init: /dev/bddisk1
-disk lock: successful completion
-creating task: bdt0: priority: 30: successful completion
-starting task: bdt0: successful completion
-creating task: bdt1: priority: 29: successful completion
-starting task: bdt1: successful completion
-creating task: bdt2: priority: 28: successful completion
-starting task: bdt2: successful completion
+disk lock: RTEMS_SUCCESSFUL
+lower priority to 31: RTEMS_SUCCESSFUL
+creating task: bdt0: priority: 30: RTEMS_SUCCESSFUL
+starting task: bdt0: RTEMS_SUCCESSFUL
+creating task: bdt1: priority: 29: RTEMS_SUCCESSFUL
+starting task: bdt1: RTEMS_SUCCESSFUL
+creating task: bdt2: priority: 28: RTEMS_SUCCESSFUL
+starting task: bdt2: RTEMS_SUCCESSFUL
test 1: Task 0 get buffer 0 from pool 0
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_get[0]: successful completion
-bdt0: rtems_bdbuf_release[0]: successful completion
-bdt0: rtems_bdbuf_get[0]: successful completion
-bdt0: rtems_bdbuf_release[0]: successful completion
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_get[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_get[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release[0]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
test 1: passed
test 2: Task 0 get buffer 0 -> 4 from pool 0, task 2 and 1 block getting
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_get[0]: successful completion
-bdt0: rtems_bdbuf_get[1]: successful completion
-bdt0: rtems_bdbuf_get[2]: successful completion
-bdt0: rtems_bdbuf_get[3]: successful completion
-bdt0: rtems_bdbuf_get[4]: successful completion
-bdt0: wake master: 0a010001: successful completion
-master: wake task 1: 0a010004: successful completion
-master: wake task 2: 0a010005: successful completion
-master: wake task 0: 0a010003: successful completion
-bdt2: rtems_bdbuf_get[0]: blocking ...
-bdt1: rtems_bdbuf_get[0]: blocking ...
-bdt0: rtems_bdbuf_release[0]: unblocks task 1
-bdt2: rtems_bdbuf_get[0]: successful completion
-bdt2: rtems_bdbuf_release[0]: successful completion
-bdt2: wake master: 0a010001: successful completion
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_get[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_get[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_get[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_get[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_get[4]: RTEMS_SUCCESSFUL
+bdt0: wake master: 0a010001: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+master: wake task 1: 0a010004: bdt1: rtems_bdbuf_get[0]: blocking ...
+RTEMS_SUCCESSFUL
+master: wake task 2: 0a010005: bdt2: rtems_bdbuf_get[0]: blocking ...
+RTEMS_SUCCESSFUL
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_release[0]: unblocks task 1
+bdt2: rtems_bdbuf_get[0]: RTEMS_SUCCESSFUL
+bdt2: rtems_bdbuf_release[0]: RTEMS_SUCCESSFUL
+bdt2: wake master: 0a010001: RTEMS_SUCCESSFUL
bdt2: rtems_bdbuf_get[1]: blocking ...
-bdt1: rtems_bdbuf_get[0]: successful completion
-bdt1: rtems_bdbuf_release[0]: successful completion
+bdt1: rtems_bdbuf_get[0]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[0]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[1]: blocking ...
-bdt0: rtems_bdbuf_release[0]: successful completion
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_release[1]: unblocks task 1
-bdt2: rtems_bdbuf_get[1]: successful completion
-bdt2: rtems_bdbuf_release[1]: successful completion
-bdt2: wake master: 0a010001: successful completion
+bdt0: rtems_bdbuf_release[0]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_release[1]: unblocks task 1
+bdt2: rtems_bdbuf_get[1]: RTEMS_SUCCESSFUL
+bdt2: rtems_bdbuf_release[1]: RTEMS_SUCCESSFUL
+bdt2: wake master: 0a010001: RTEMS_SUCCESSFUL
bdt2: rtems_bdbuf_get[2]: blocking ...
-bdt1: rtems_bdbuf_get[1]: successful completion
-bdt1: rtems_bdbuf_release[1]: successful completion
+bdt1: rtems_bdbuf_get[1]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[1]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[2]: blocking ...
-bdt0: rtems_bdbuf_release[1]: successful completion
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_release[2]: unblocks task 1
-bdt2: rtems_bdbuf_get[2]: successful completion
-bdt2: rtems_bdbuf_release[2]: successful completion
-bdt2: wake master: 0a010001: successful completion
+bdt0: rtems_bdbuf_release[1]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_release[2]: unblocks task 1
+bdt2: rtems_bdbuf_get[2]: RTEMS_SUCCESSFUL
+bdt2: rtems_bdbuf_release[2]: RTEMS_SUCCESSFUL
+bdt2: wake master: 0a010001: RTEMS_SUCCESSFUL
bdt2: rtems_bdbuf_get[3]: blocking ...
-bdt1: rtems_bdbuf_get[2]: successful completion
-bdt1: rtems_bdbuf_release[2]: successful completion
+bdt1: rtems_bdbuf_get[2]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[2]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[3]: blocking ...
-bdt0: rtems_bdbuf_release[2]: successful completion
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_release[3]: unblocks task 1
-bdt2: rtems_bdbuf_get[3]: successful completion
-bdt2: rtems_bdbuf_release[3]: successful completion
-bdt2: wake master: 0a010001: successful completion
+bdt0: rtems_bdbuf_release[2]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_release[3]: unblocks task 1
+bdt2: rtems_bdbuf_get[3]: RTEMS_SUCCESSFUL
+bdt2: rtems_bdbuf_release[3]: RTEMS_SUCCESSFUL
+bdt2: wake master: 0a010001: RTEMS_SUCCESSFUL
bdt2: rtems_bdbuf_get[4]: blocking ...
-bdt1: rtems_bdbuf_get[3]: successful completion
-bdt1: rtems_bdbuf_release[3]: successful completion
+bdt1: rtems_bdbuf_get[3]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[3]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[4]: blocking ...
-bdt0: rtems_bdbuf_release[3]: successful completion
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_release[4]: unblocks task 1
-bdt2: rtems_bdbuf_get[4]: successful completion
-bdt2: rtems_bdbuf_release[4]: successful completion
-bdt2: wake master: 0a010001: successful completion
-bdt1: rtems_bdbuf_get[4]: successful completion
-bdt1: rtems_bdbuf_release[4]: successful completion
-bdt0: rtems_bdbuf_release[4]: successful completion
+bdt0: rtems_bdbuf_release[3]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_release[4]: unblocks task 1
+bdt2: rtems_bdbuf_get[4]: RTEMS_SUCCESSFUL
+bdt2: rtems_bdbuf_release[4]: RTEMS_SUCCESSFUL
+bdt2: wake master: 0a010001: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_get[4]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release[4]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
test 2: passed
test 3: Task 0 read buffer 5, modify and release modified
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_read[5]: successful completion
-bdt0: rtems_bdbuf_release_modified[5]: successful completion
-bdt0: rtems_bdbuf_read[5]: successful completion
-bdt0: rtems_bdbuf_release[5]: successful completion
-bdt0: disk ioctl: wake watcher: 0a010003: successful completion
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_read[5]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[5]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[5]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release[5]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+bdt0: disk ioctl: wake watcher: 0a010003: RTEMS_SUCCESSFUL
test 3: passed
test 4: Task 0 read all buffers, task 1 blocks waiting for acessed buffer
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_read[0]: successful completion
-bdt0: rtems_bdbuf_read[1]: successful completion
-bdt0: rtems_bdbuf_read[2]: successful completion
-bdt0: rtems_bdbuf_read[3]: successful completion
-bdt0: rtems_bdbuf_read[4]: successful completion
-bdt0: rtems_bdbuf_read[5]: successful completion
-bdt0: rtems_bdbuf_read[6]: successful completion
-bdt0: rtems_bdbuf_read[7]: successful completion
-bdt0: rtems_bdbuf_read[8]: successful completion
-bdt0: rtems_bdbuf_read[9]: successful completion
-bdt0: rtems_bdbuf_read[10]: successful completion
-bdt0: rtems_bdbuf_read[11]: successful completion
-bdt0: rtems_bdbuf_read[12]: successful completion
-bdt0: rtems_bdbuf_read[13]: successful completion
-bdt0: rtems_bdbuf_read[14]: successful completion
-bdt0: rtems_bdbuf_read[15]: successful completion
-bdt0: rtems_bdbuf_read[16]: successful completion
-bdt0: rtems_bdbuf_read[17]: successful completion
-bdt0: rtems_bdbuf_read[18]: successful completion
-bdt0: rtems_bdbuf_read[19]: successful completion
-bdt0: rtems_bdbuf_read[20]: successful completion
-bdt0: rtems_bdbuf_read[21]: successful completion
-bdt0: rtems_bdbuf_read[22]: successful completion
-bdt0: rtems_bdbuf_read[23]: successful completion
-bdt0: rtems_bdbuf_read[24]: successful completion
-bdt0: rtems_bdbuf_read[25]: successful completion
-bdt0: rtems_bdbuf_read[26]: successful completion
-bdt0: rtems_bdbuf_read[27]: successful completion
-bdt0: rtems_bdbuf_read[28]: successful completion
-bdt0: rtems_bdbuf_read[29]: successful completion
-bdt0: rtems_bdbuf_read[30]: successful completion
-bdt0: rtems_bdbuf_read[31]: successful completion
-bdt0: rtems_bdbuf_read[32]: successful completion
-bdt0: rtems_bdbuf_read[33]: successful completion
-bdt0: rtems_bdbuf_read[34]: successful completion
-bdt0: rtems_bdbuf_read[35]: successful completion
-bdt0: rtems_bdbuf_read[36]: successful completion
-bdt0: rtems_bdbuf_read[37]: successful completion
-bdt0: rtems_bdbuf_read[38]: successful completion
-bdt0: rtems_bdbuf_read[39]: successful completion
-bdt0: rtems_bdbuf_read[40]: successful completion
-bdt0: rtems_bdbuf_read[41]: successful completion
-bdt0: rtems_bdbuf_read[42]: successful completion
-bdt0: rtems_bdbuf_read[43]: successful completion
-bdt0: rtems_bdbuf_read[44]: successful completion
-bdt0: rtems_bdbuf_read[45]: successful completion
-bdt0: rtems_bdbuf_read[46]: successful completion
-bdt0: rtems_bdbuf_read[47]: successful completion
-bdt0: rtems_bdbuf_read[48]: successful completion
-bdt0: rtems_bdbuf_read[49]: successful completion
-bdt0: rtems_bdbuf_read[50]: successful completion
-bdt0: rtems_bdbuf_read[51]: successful completion
-bdt0: rtems_bdbuf_read[52]: successful completion
-bdt0: rtems_bdbuf_read[53]: successful completion
-bdt0: rtems_bdbuf_read[54]: successful completion
-bdt0: rtems_bdbuf_read[55]: successful completion
-bdt0: rtems_bdbuf_read[56]: successful completion
-bdt0: rtems_bdbuf_read[57]: successful completion
-bdt0: rtems_bdbuf_read[58]: successful completion
-bdt0: rtems_bdbuf_read[59]: successful completion
-bdt0: rtems_bdbuf_read[60]: successful completion
-bdt0: rtems_bdbuf_read[61]: successful completion
-bdt0: rtems_bdbuf_read[62]: successful completion
-bdt0: rtems_bdbuf_read[63]: successful completion
-bdt0: wake master: 0a010001: successful completion
-master: wake task 1: 0a010004: successful completion
-bdt1: rtems_bdbuf_get[0]: blocking ...
-master: wake task 0: 0a010003: successful completion
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_read[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[5]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[6]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[7]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[8]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[9]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[10]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[11]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[12]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[13]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[14]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[15]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[16]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[17]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[18]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[19]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[20]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[21]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[22]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[23]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[24]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[25]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[26]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[27]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[28]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[29]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[30]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[31]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[32]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[33]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[34]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[35]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[36]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[37]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[38]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[39]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[40]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[41]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[42]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[43]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[44]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[45]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[46]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[47]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[48]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[49]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[50]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[51]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[52]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[53]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[54]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[55]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[56]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[57]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[58]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[59]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[60]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[61]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[62]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[63]: RTEMS_SUCCESSFUL
+bdt0: wake master: 0a010001: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+master: wake task 1: 0a010004: bdt1: rtems_bdbuf_get[0]: blocking ...
+RTEMS_SUCCESSFUL
+master: wake task 0: 0a010003: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[0]: unblocks task 1
-bdt1: rtems_bdbuf_get[0]: successful completion
-bdt1: rtems_bdbuf_release[0]: successful completion
+bdt1: rtems_bdbuf_get[0]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[0]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[1]: blocking ...
-bdt0: rtems_bdbuf_release_modified[0]: successful completion
+bdt0: rtems_bdbuf_release_modified[0]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[1]: unblocks task 1
-bdt1: rtems_bdbuf_get[1]: successful completion
-bdt1: rtems_bdbuf_release[1]: successful completion
+bdt1: rtems_bdbuf_get[1]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[1]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[2]: blocking ...
-bdt0: rtems_bdbuf_release_modified[1]: successful completion
+bdt0: rtems_bdbuf_release_modified[1]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[2]: unblocks task 1
-bdt1: rtems_bdbuf_get[2]: successful completion
-bdt1: rtems_bdbuf_release[2]: successful completion
+bdt1: rtems_bdbuf_get[2]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[2]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[3]: blocking ...
-bdt0: rtems_bdbuf_release_modified[2]: successful completion
+bdt0: rtems_bdbuf_release_modified[2]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[3]: unblocks task 1
-bdt1: rtems_bdbuf_get[3]: successful completion
-bdt1: rtems_bdbuf_release[3]: successful completion
+bdt1: rtems_bdbuf_get[3]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[3]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[4]: blocking ...
-bdt0: rtems_bdbuf_release_modified[3]: successful completion
+bdt0: rtems_bdbuf_release_modified[3]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[4]: unblocks task 1
-bdt1: rtems_bdbuf_get[4]: successful completion
-bdt1: rtems_bdbuf_release[4]: successful completion
+bdt1: rtems_bdbuf_get[4]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[4]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[5]: blocking ...
-bdt0: rtems_bdbuf_release_modified[4]: successful completion
+bdt0: rtems_bdbuf_release_modified[4]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[5]: unblocks task 1
-bdt1: rtems_bdbuf_get[5]: successful completion
-bdt1: rtems_bdbuf_release[5]: successful completion
+bdt1: rtems_bdbuf_get[5]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[5]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[6]: blocking ...
-bdt0: rtems_bdbuf_release_modified[5]: successful completion
+bdt0: rtems_bdbuf_release_modified[5]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[6]: unblocks task 1
-bdt1: rtems_bdbuf_get[6]: successful completion
-bdt1: rtems_bdbuf_release[6]: successful completion
+bdt1: rtems_bdbuf_get[6]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[6]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[7]: blocking ...
-bdt0: rtems_bdbuf_release_modified[6]: successful completion
+bdt0: rtems_bdbuf_release_modified[6]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[7]: unblocks task 1
-bdt1: rtems_bdbuf_get[7]: successful completion
-bdt1: rtems_bdbuf_release[7]: successful completion
+bdt1: rtems_bdbuf_get[7]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[7]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[8]: blocking ...
-bdt0: rtems_bdbuf_release_modified[7]: successful completion
+bdt0: rtems_bdbuf_release_modified[7]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[8]: unblocks task 1
-bdt1: rtems_bdbuf_get[8]: successful completion
-bdt1: rtems_bdbuf_release[8]: successful completion
-bdt0: rtems_bdbuf_release_modified[8]: successful completion
+bdt1: rtems_bdbuf_get[8]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[8]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[8]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[9]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[9]: successful completion
+bdt0: rtems_bdbuf_release_modified[9]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[10]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[10]: successful completion
+bdt0: rtems_bdbuf_release_modified[10]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[11]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[11]: successful completion
+bdt0: rtems_bdbuf_release_modified[11]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[12]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[12]: successful completion
+bdt0: rtems_bdbuf_release_modified[12]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[13]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[13]: successful completion
+bdt0: rtems_bdbuf_release_modified[13]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[14]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[14]: successful completion
+bdt0: rtems_bdbuf_release_modified[14]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[15]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[15]: successful completion
+bdt0: rtems_bdbuf_release_modified[15]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[16]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[16]: successful completion
+bdt0: rtems_bdbuf_release_modified[16]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[17]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[17]: successful completion
+bdt0: rtems_bdbuf_release_modified[17]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[18]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[18]: successful completion
+bdt0: rtems_bdbuf_release_modified[18]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[19]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[19]: successful completion
+bdt0: rtems_bdbuf_release_modified[19]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[20]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[20]: successful completion
+bdt0: rtems_bdbuf_release_modified[20]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[21]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[21]: successful completion
+bdt0: rtems_bdbuf_release_modified[21]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[22]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[22]: successful completion
+bdt0: rtems_bdbuf_release_modified[22]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[23]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[23]: successful completion
+bdt0: rtems_bdbuf_release_modified[23]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[24]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[24]: successful completion
+bdt0: rtems_bdbuf_release_modified[24]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[25]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[25]: successful completion
+bdt0: rtems_bdbuf_release_modified[25]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[26]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[26]: successful completion
+bdt0: rtems_bdbuf_release_modified[26]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[27]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[27]: successful completion
+bdt0: rtems_bdbuf_release_modified[27]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[28]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[28]: successful completion
+bdt0: rtems_bdbuf_release_modified[28]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[29]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[29]: successful completion
+bdt0: rtems_bdbuf_release_modified[29]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[30]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[30]: successful completion
+bdt0: rtems_bdbuf_release_modified[30]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[31]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[31]: successful completion
-bdt0: disk ioctl: wake watcher: 0a010003: successful completion
-bdt0: rtems_bdbuf_release_modified[32]: successful completion
-bdt0: rtems_bdbuf_release_modified[33]: successful completion
-bdt0: rtems_bdbuf_release_modified[34]: successful completion
-bdt0: rtems_bdbuf_release_modified[35]: successful completion
-bdt0: rtems_bdbuf_release_modified[36]: successful completion
-bdt0: rtems_bdbuf_release_modified[37]: successful completion
-bdt0: rtems_bdbuf_release_modified[38]: successful completion
-bdt0: rtems_bdbuf_release_modified[39]: successful completion
-bdt0: rtems_bdbuf_release_modified[40]: successful completion
-bdt0: rtems_bdbuf_release_modified[41]: successful completion
-bdt0: rtems_bdbuf_release_modified[42]: successful completion
-bdt0: rtems_bdbuf_release_modified[43]: successful completion
-bdt0: rtems_bdbuf_release_modified[44]: successful completion
-bdt0: rtems_bdbuf_release_modified[45]: successful completion
-bdt0: rtems_bdbuf_release_modified[46]: successful completion
-bdt0: rtems_bdbuf_release_modified[47]: successful completion
-bdt0: rtems_bdbuf_release_modified[48]: successful completion
-bdt0: rtems_bdbuf_release_modified[49]: successful completion
-bdt0: rtems_bdbuf_release_modified[50]: successful completion
-bdt0: rtems_bdbuf_release_modified[51]: successful completion
-bdt0: rtems_bdbuf_release_modified[52]: successful completion
-bdt0: rtems_bdbuf_release_modified[53]: successful completion
-bdt0: rtems_bdbuf_release_modified[54]: successful completion
-bdt0: rtems_bdbuf_release_modified[55]: successful completion
-bdt0: rtems_bdbuf_release_modified[56]: successful completion
-bdt0: rtems_bdbuf_release_modified[57]: successful completion
-bdt0: rtems_bdbuf_release_modified[58]: successful completion
-bdt0: rtems_bdbuf_release_modified[59]: successful completion
-bdt0: rtems_bdbuf_release_modified[60]: successful completion
-bdt0: rtems_bdbuf_release_modified[61]: successful completion
-bdt0: rtems_bdbuf_release_modified[62]: successful completion
-bdt0: rtems_bdbuf_release_modified[63]: successful completion
-bdt0: disk ioctl: wake watcher: 0a010003: successful completion
+bdt0: rtems_bdbuf_release_modified[31]: RTEMS_SUCCESSFUL
+bdt0: disk ioctl: wake watcher: 0a010003: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[32]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[33]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[34]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[35]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[36]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[37]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[38]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[39]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[40]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[41]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[42]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[43]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[44]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[45]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[46]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[47]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[48]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[49]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[50]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[51]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[52]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[53]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[54]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[55]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[56]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[57]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[58]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[59]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[60]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[61]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[62]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[63]: RTEMS_SUCCESSFUL
+bdt0: disk ioctl: wake watcher: 0a010003: RTEMS_SUCCESSFUL
test 4: passed
test 5: Task 0 read all buffers, task 1 blocks waiting for new buffer
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_read[0]: successful completion
-bdt0: rtems_bdbuf_read[1]: successful completion
-bdt0: rtems_bdbuf_read[2]: successful completion
-bdt0: rtems_bdbuf_read[3]: successful completion
-bdt0: rtems_bdbuf_read[4]: successful completion
-bdt0: rtems_bdbuf_read[5]: successful completion
-bdt0: rtems_bdbuf_read[6]: successful completion
-bdt0: rtems_bdbuf_read[7]: successful completion
-bdt0: rtems_bdbuf_read[8]: successful completion
-bdt0: rtems_bdbuf_read[9]: successful completion
-bdt0: rtems_bdbuf_read[10]: successful completion
-bdt0: rtems_bdbuf_read[11]: successful completion
-bdt0: rtems_bdbuf_read[12]: successful completion
-bdt0: rtems_bdbuf_read[13]: successful completion
-bdt0: rtems_bdbuf_read[14]: successful completion
-bdt0: rtems_bdbuf_read[15]: successful completion
-bdt0: rtems_bdbuf_read[16]: successful completion
-bdt0: rtems_bdbuf_read[17]: successful completion
-bdt0: rtems_bdbuf_read[18]: successful completion
-bdt0: rtems_bdbuf_read[19]: successful completion
-bdt0: rtems_bdbuf_read[20]: successful completion
-bdt0: rtems_bdbuf_read[21]: successful completion
-bdt0: rtems_bdbuf_read[22]: successful completion
-bdt0: rtems_bdbuf_read[23]: successful completion
-bdt0: rtems_bdbuf_read[24]: successful completion
-bdt0: rtems_bdbuf_read[25]: successful completion
-bdt0: rtems_bdbuf_read[26]: successful completion
-bdt0: rtems_bdbuf_read[27]: successful completion
-bdt0: rtems_bdbuf_read[28]: successful completion
-bdt0: rtems_bdbuf_read[29]: successful completion
-bdt0: rtems_bdbuf_read[30]: successful completion
-bdt0: rtems_bdbuf_read[31]: successful completion
-bdt0: rtems_bdbuf_read[32]: successful completion
-bdt0: rtems_bdbuf_read[33]: successful completion
-bdt0: rtems_bdbuf_read[34]: successful completion
-bdt0: rtems_bdbuf_read[35]: successful completion
-bdt0: rtems_bdbuf_read[36]: successful completion
-bdt0: rtems_bdbuf_read[37]: successful completion
-bdt0: rtems_bdbuf_read[38]: successful completion
-bdt0: rtems_bdbuf_read[39]: successful completion
-bdt0: rtems_bdbuf_read[40]: successful completion
-bdt0: rtems_bdbuf_read[41]: successful completion
-bdt0: rtems_bdbuf_read[42]: successful completion
-bdt0: rtems_bdbuf_read[43]: successful completion
-bdt0: rtems_bdbuf_read[44]: successful completion
-bdt0: rtems_bdbuf_read[45]: successful completion
-bdt0: rtems_bdbuf_read[46]: successful completion
-bdt0: rtems_bdbuf_read[47]: successful completion
-bdt0: rtems_bdbuf_read[48]: successful completion
-bdt0: rtems_bdbuf_read[49]: successful completion
-bdt0: rtems_bdbuf_read[50]: successful completion
-bdt0: rtems_bdbuf_read[51]: successful completion
-bdt0: rtems_bdbuf_read[52]: successful completion
-bdt0: rtems_bdbuf_read[53]: successful completion
-bdt0: rtems_bdbuf_read[54]: successful completion
-bdt0: rtems_bdbuf_read[55]: successful completion
-bdt0: rtems_bdbuf_read[56]: successful completion
-bdt0: rtems_bdbuf_read[57]: successful completion
-bdt0: rtems_bdbuf_read[58]: successful completion
-bdt0: rtems_bdbuf_read[59]: successful completion
-bdt0: rtems_bdbuf_read[60]: successful completion
-bdt0: rtems_bdbuf_read[61]: successful completion
-bdt0: rtems_bdbuf_read[62]: successful completion
-bdt0: rtems_bdbuf_read[63]: successful completion
-bdt0: wake master: 0a010001: successful completion
-master: wake task 1: 0a010004: successful completion
-bdt1: rtems_bdbuf_get[20]: blocking ...
-master: wake task 0: 0a010003: successful completion
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_read[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[5]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[6]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[7]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[8]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[9]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[10]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[11]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[12]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[13]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[14]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[15]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[16]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[17]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[18]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[19]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[20]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[21]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[22]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[23]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[24]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[25]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[26]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[27]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[28]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[29]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[30]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[31]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[32]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[33]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[34]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[35]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[36]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[37]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[38]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[39]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[40]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[41]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[42]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[43]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[44]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[45]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[46]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[47]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[48]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[49]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[50]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[51]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[52]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[53]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[54]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[55]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[56]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[57]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[58]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[59]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[60]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[61]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[62]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[63]: RTEMS_SUCCESSFUL
+bdt0: wake master: 0a010001: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
+master: wake task 1: 0a010004: bdt1: rtems_bdbuf_get[20]: blocking ...
+RTEMS_SUCCESSFUL
+master: wake task 0: 0a010003: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[0]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[0]: successful completion
+bdt0: rtems_bdbuf_release_modified[0]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[1]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[1]: successful completion
+bdt0: rtems_bdbuf_release_modified[1]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[2]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[2]: successful completion
+bdt0: rtems_bdbuf_release_modified[2]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[3]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[3]: successful completion
+bdt0: rtems_bdbuf_release_modified[3]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[4]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[4]: successful completion
+bdt0: rtems_bdbuf_release_modified[4]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[5]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[5]: successful completion
+bdt0: rtems_bdbuf_release_modified[5]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[6]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[6]: successful completion
+bdt0: rtems_bdbuf_release_modified[6]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[7]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[7]: successful completion
+bdt0: rtems_bdbuf_release_modified[7]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[8]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[8]: successful completion
+bdt0: rtems_bdbuf_release_modified[8]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[9]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[9]: successful completion
+bdt0: rtems_bdbuf_release_modified[9]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[10]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[10]: successful completion
+bdt0: rtems_bdbuf_release_modified[10]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[11]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[11]: successful completion
+bdt0: rtems_bdbuf_release_modified[11]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[12]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[12]: successful completion
+bdt0: rtems_bdbuf_release_modified[12]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[13]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[13]: successful completion
+bdt0: rtems_bdbuf_release_modified[13]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[14]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[14]: successful completion
+bdt0: rtems_bdbuf_release_modified[14]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[15]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[15]: successful completion
+bdt0: rtems_bdbuf_release_modified[15]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[16]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[16]: successful completion
+bdt0: rtems_bdbuf_release_modified[16]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[17]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[17]: successful completion
+bdt0: rtems_bdbuf_release_modified[17]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[18]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[18]: successful completion
+bdt0: rtems_bdbuf_release_modified[18]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[19]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[19]: successful completion
+bdt0: rtems_bdbuf_release_modified[19]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[20]: unblocks task 1
-bdt1: rtems_bdbuf_get[20]: successful completion
-bdt1: rtems_bdbuf_release[20]: successful completion
+bdt1: rtems_bdbuf_get[20]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[20]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[21]: blocking ...
-bdt0: rtems_bdbuf_release_modified[20]: successful completion
+bdt0: rtems_bdbuf_release_modified[20]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[21]: unblocks task 1
-bdt1: rtems_bdbuf_get[21]: successful completion
-bdt1: rtems_bdbuf_release[21]: successful completion
+bdt1: rtems_bdbuf_get[21]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[21]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[22]: blocking ...
-bdt0: rtems_bdbuf_release_modified[21]: successful completion
+bdt0: rtems_bdbuf_release_modified[21]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[22]: unblocks task 1
-bdt1: rtems_bdbuf_get[22]: successful completion
-bdt1: rtems_bdbuf_release[22]: successful completion
+bdt1: rtems_bdbuf_get[22]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[22]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[23]: blocking ...
-bdt0: rtems_bdbuf_release_modified[22]: successful completion
+bdt0: rtems_bdbuf_release_modified[22]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[23]: unblocks task 1
-bdt1: rtems_bdbuf_get[23]: successful completion
-bdt1: rtems_bdbuf_release[23]: successful completion
+bdt1: rtems_bdbuf_get[23]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[23]: RTEMS_SUCCESSFUL
bdt1: rtems_bdbuf_get[24]: blocking ...
-bdt0: rtems_bdbuf_release_modified[23]: successful completion
+bdt0: rtems_bdbuf_release_modified[23]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[24]: unblocks task 1
-bdt1: rtems_bdbuf_get[24]: successful completion
-bdt1: rtems_bdbuf_release[24]: successful completion
-bdt0: rtems_bdbuf_release_modified[24]: successful completion
+bdt1: rtems_bdbuf_get[24]: RTEMS_SUCCESSFUL
+bdt1: rtems_bdbuf_release[24]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[24]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[25]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[25]: successful completion
+bdt0: rtems_bdbuf_release_modified[25]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[26]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[26]: successful completion
+bdt0: rtems_bdbuf_release_modified[26]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[27]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[27]: successful completion
+bdt0: rtems_bdbuf_release_modified[27]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[28]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[28]: successful completion
+bdt0: rtems_bdbuf_release_modified[28]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[29]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[29]: successful completion
+bdt0: rtems_bdbuf_release_modified[29]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[30]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[30]: successful completion
+bdt0: rtems_bdbuf_release_modified[30]: RTEMS_SUCCESSFUL
bdt0: rtems_bdbuf_release_modified[31]: unblocks task 1
-bdt0: rtems_bdbuf_release_modified[31]: successful completion
-bdt0: disk ioctl: wake watcher: 0a010003: successful completion
-bdt0: rtems_bdbuf_release_modified[32]: successful completion
-bdt0: rtems_bdbuf_release_modified[33]: successful completion
-bdt0: rtems_bdbuf_release_modified[34]: successful completion
-bdt0: rtems_bdbuf_release_modified[35]: successful completion
-bdt0: rtems_bdbuf_release_modified[36]: successful completion
-bdt0: rtems_bdbuf_release_modified[37]: successful completion
-bdt0: rtems_bdbuf_release_modified[38]: successful completion
-bdt0: rtems_bdbuf_release_modified[39]: successful completion
-bdt0: rtems_bdbuf_release_modified[40]: successful completion
-bdt0: rtems_bdbuf_release_modified[41]: successful completion
-bdt0: rtems_bdbuf_release_modified[42]: successful completion
-bdt0: rtems_bdbuf_release_modified[43]: successful completion
-bdt0: rtems_bdbuf_release_modified[44]: successful completion
-bdt0: rtems_bdbuf_release_modified[45]: successful completion
-bdt0: rtems_bdbuf_release_modified[46]: successful completion
-bdt0: rtems_bdbuf_release_modified[47]: successful completion
-bdt0: rtems_bdbuf_release_modified[48]: successful completion
-bdt0: rtems_bdbuf_release_modified[49]: successful completion
-bdt0: rtems_bdbuf_release_modified[50]: successful completion
-bdt0: rtems_bdbuf_release_modified[51]: successful completion
-bdt0: rtems_bdbuf_release_modified[52]: successful completion
-bdt0: rtems_bdbuf_release_modified[53]: successful completion
-bdt0: rtems_bdbuf_release_modified[54]: successful completion
-bdt0: rtems_bdbuf_release_modified[55]: successful completion
-bdt0: rtems_bdbuf_release_modified[56]: successful completion
-bdt0: rtems_bdbuf_release_modified[57]: successful completion
-bdt0: rtems_bdbuf_release_modified[58]: successful completion
-bdt0: rtems_bdbuf_release_modified[59]: successful completion
-bdt0: rtems_bdbuf_release_modified[60]: successful completion
-bdt0: rtems_bdbuf_release_modified[61]: successful completion
-bdt0: rtems_bdbuf_release_modified[62]: successful completion
-bdt0: rtems_bdbuf_release_modified[63]: successful completion
-bdt0: disk ioctl: wake watcher: 0a010003: successful completion
+bdt0: rtems_bdbuf_release_modified[31]: RTEMS_SUCCESSFUL
+bdt0: disk ioctl: wake watcher: 0a010003: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[32]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[33]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[34]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[35]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[36]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[37]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[38]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[39]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[40]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[41]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[42]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[43]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[44]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[45]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[46]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[47]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[48]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[49]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[50]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[51]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[52]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[53]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[54]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[55]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[56]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[57]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[58]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[59]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[60]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[61]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[62]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[63]: RTEMS_SUCCESSFUL
+bdt0: disk ioctl: wake watcher: 0a010003: RTEMS_SUCCESSFUL
test 5: passed
test 6: Task 0 release modified 4 buffers then syncs a 5th buffer
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_read[0]: successful completion
-bdt0: rtems_bdbuf_read[1]: successful completion
-bdt0: rtems_bdbuf_read[2]: successful completion
-bdt0: rtems_bdbuf_read[3]: successful completion
-bdt0: rtems_bdbuf_read[4]: successful completion
-bdt0: rtems_bdbuf_release_modified[0]: successful completion
-bdt0: rtems_bdbuf_release_modified[1]: successful completion
-bdt0: rtems_bdbuf_release_modified[2]: successful completion
-bdt0: rtems_bdbuf_release_modified[3]: successful completion
-bdt0: rtems_bdbuf_sync[4]: successful completion
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_read[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_sync[4]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
test 6: passed
test 7: Task 0 release modified 5 buffers then sync the device
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_read[0]: successful completion
-bdt0: rtems_bdbuf_read[1]: successful completion
-bdt0: rtems_bdbuf_read[2]: successful completion
-bdt0: rtems_bdbuf_read[3]: successful completion
-bdt0: rtems_bdbuf_read[4]: successful completion
-bdt0: rtems_bdbuf_release_modified[0]: successful completion
-bdt0: rtems_bdbuf_release_modified[1]: successful completion
-bdt0: rtems_bdbuf_release_modified[2]: successful completion
-bdt0: rtems_bdbuf_release_modified[3]: successful completion
-bdt0: rtems_bdbuf_release_modified[4]: successful completion
-bdt0: rtems_bdbuf_syncdev[5:2]: successful completion
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_read[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_syncdev[0: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
test 7: passed
test 8: Task 0 releases modified 5 buffers is out or order sequence and the driver checks the buffers are in order
-master: wake task 0: 0a010003: successful completion
-bdt0: rtems_bdbuf_read[0]: successful completion
-bdt0: rtems_bdbuf_read[1]: successful completion
-bdt0: rtems_bdbuf_read[2]: successful completion
-bdt0: rtems_bdbuf_read[3]: successful completion
-bdt0: rtems_bdbuf_read[4]: successful completion
-bdt0: rtems_bdbuf_release_modified[4]: successful completion
-bdt0: rtems_bdbuf_release_modified[3]: successful completion
-bdt0: rtems_bdbuf_release_modified[0]: successful completion
-bdt0: rtems_bdbuf_release_modified[1]: successful completion
-bdt0: rtems_bdbuf_release_modified[2]: successful completion
-bdt0: rtems_bdbuf_syncdev[3:2]: checking order
+master: wake task 0: 0a010003: bdt0: rtems_bdbuf_read[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_read[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[4]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[3]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[0]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[1]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_release_modified[2]: RTEMS_SUCCESSFUL
+bdt0: rtems_bdbuf_syncdev[0]: checking order
disk ioctl: multi-block order check: count = 5
-bdt0: rtems_bdbuf_syncdev[3:2]: successful completion
+bdt0: rtems_bdbuf_syncdev[0]: RTEMS_SUCCESSFUL
+RTEMS_SUCCESSFUL
test 8: passed
+
*** END OF TEST BLOCK 6 ***
diff --git a/testsuites/libtests/block06/init.c b/testsuites/libtests/block06/init.c
index bd04a15eed..7c6facf8d2 100644
--- a/testsuites/libtests/block06/init.c
+++ b/testsuites/libtests/block06/init.c
@@ -17,6 +17,7 @@
#endif
#include <errno.h>
+#include <fcntl.h>
#include <setjmp.h>
#include <stdio.h>
#include <stdlib.h>
@@ -24,6 +25,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <inttypes.h>
+#include <unistd.h>
#include <rtems.h>
#include <rtems/chain.h>
@@ -59,11 +61,6 @@ const rtems_bdbuf_config rtems_bdbuf_configuration =
#endif
/**
- * Let the IO system allocation the next available major number.
- */
-#define RTEMS_DRIVER_AUTO_MAJOR (0)
-
-/**
* The bdbuf disk driver base name.
*/
#define BDBUF_DISK_DEVICE_BASE_NAME "/dev/bddisk"
@@ -84,17 +81,19 @@ typedef enum bdbuf_disk_action
*/
typedef struct bdbuf_disk
{
- const char* name;
- rtems_id lock;
- uint32_t block_size;
- uint32_t block_count;
- bdbuf_disk_action driver_action;
- const char* watcher_name;
- rtems_id watcher;
- int watch_count;
- const char* waiting_name;
- rtems_id waiting;
- uint32_t driver_sleep;
+ const char* name;
+ uint32_t minor;
+ rtems_id lock;
+ uint32_t block_size;
+ uint32_t block_count;
+ bdbuf_disk_action driver_action;
+ const char* watcher_name;
+ rtems_id watcher;
+ int watch_count;
+ const char* waiting_name;
+ rtems_id waiting;
+ uint32_t driver_sleep;
+ rtems_disk_device* dd;
} bdbuf_disk;
/*
@@ -112,10 +111,8 @@ typedef struct bdbuf_task_control
rtems_id task;
rtems_id master;
int test;
- rtems_device_major_number major;
- rtems_device_minor_number minor;
+ bdbuf_disk *bdd;
bool passed;
- rtems_disk_device *dd;
} bdbuf_task_control;
#define BDBUF_TEST_TASKS (3)
@@ -255,11 +252,11 @@ bdbuf_set_disk_driver_watch (bdbuf_task_control* tc, int count)
/*
* Set up a disk watch and wait for the write to happen.
*/
- bdbuf_disk_lock (&bdbuf_disks[tc->minor]);
- bdbuf_disks[tc->minor].watcher_name = tc->name;
- bdbuf_disks[tc->minor].watcher = tc->task;
- bdbuf_disks[tc->minor].watch_count = count;
- bdbuf_disk_unlock (&bdbuf_disks[tc->minor]);
+ bdbuf_disk_lock (tc->bdd);
+ tc->bdd->watcher_name = tc->name;
+ tc->bdd->watcher = tc->task;
+ tc->bdd->watch_count = count;
+ bdbuf_disk_unlock (tc->bdd);
}
/**
@@ -271,11 +268,11 @@ bdbuf_clear_disk_driver_watch (bdbuf_task_control* tc)
/*
* Set up a disk watch and wait for the write to happen.
*/
- bdbuf_disk_lock (&bdbuf_disks[tc->minor]);
- bdbuf_disks[tc->minor].watcher_name = 0;
- bdbuf_disks[tc->minor].watcher = 0;
- bdbuf_disks[tc->minor].watch_count = 0;
- bdbuf_disk_unlock (&bdbuf_disks[tc->minor]);
+ bdbuf_disk_lock (tc->bdd);
+ tc->bdd->watcher_name = 0;
+ tc->bdd->watcher = 0;
+ tc->bdd->watch_count = 0;
+ bdbuf_disk_unlock (tc->bdd);
}
/**
@@ -304,9 +301,9 @@ bdbuf_set_disk_driver_action (bdbuf_task_control* tc, bdbuf_disk_action action)
/*
* Set up a disk action.
*/
- bdbuf_disk_lock (&bdbuf_disks[tc->minor]);
- bdbuf_disks[tc->minor].driver_action = action;
- bdbuf_disk_unlock (&bdbuf_disks[tc->minor]);
+ bdbuf_disk_lock (tc->bdd);
+ tc->bdd->driver_action = action;
+ bdbuf_disk_unlock (tc->bdd);
}
/**
@@ -332,9 +329,7 @@ bdbuf_sleep (unsigned long msecs)
static void
bdbuf_task_control_init (int task,
bdbuf_task_control* tc,
- rtems_id master,
- rtems_device_major_number major,
- rtems_disk_device *dd)
+ rtems_id master)
{
char name[6];
sprintf (name, "bdt%d", task);
@@ -344,10 +339,8 @@ bdbuf_task_control_init (int task,
tc->task = 0;
tc->master = master;
tc->test = 0;
- tc->major = major;
- tc->minor = 0;
+ tc->bdd = NULL;
tc->passed = false;
- tc->dd = dd;
}
static bool
@@ -521,7 +514,7 @@ bdbuf_disk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)
break;
default:
- errno = EINVAL;
+ rtems_blkdev_ioctl (dd, req, argp);
break;
}
@@ -532,35 +525,26 @@ bdbuf_disk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)
return errno == 0 ? 0 : -1;
}
-/**
- * BDBuf disk device driver initialization.
- *
- * @param major Disk major device number.
- * @param minor Minor device number, not applicable.
- * @param arg Initialization argument, not applicable.
- */
-static rtems_device_driver
-bdbuf_disk_initialize (rtems_device_major_number major,
- rtems_device_minor_number minor,
- void* arg)
+static rtems_status_code
+bdbuf_disk_initialize(void)
{
- rtems_status_code sc;
+ uint32_t minor;
- printf ("disk io init: ");
- sc = rtems_disk_io_initialize ();
- if (!bdbuf_test_print_sc (sc, true))
- return sc;
+ printf ("register disks\n");
for (minor = 0; minor < BDBUF_DISKS; minor++)
{
char name[sizeof (BDBUF_DISK_DEVICE_BASE_NAME) + 10];
bdbuf_disk* bdd = &bdbuf_disks[minor];
rtems_status_code sc;
+ int fd;
+ int rv;
snprintf (name, sizeof (name),
BDBUF_DISK_DEVICE_BASE_NAME "%" PRIu32, minor);
bdd->name = strdup (name);
+ bdd->minor = minor;
printf ("disk init: %s\n", bdd->name);
printf ("disk lock: ");
@@ -574,9 +558,8 @@ bdbuf_disk_initialize (rtems_device_major_number major,
bdd->block_size = 512 * (minor + 1);
bdd->block_count = BDBUF_SIZE * (minor + 1);
- sc = rtems_disk_create_phys(rtems_filesystem_make_dev_t (major, minor),
- bdd->block_size, bdd->block_count,
- bdbuf_disk_ioctl, bdd, name);
+ sc = rtems_blkdev_create(name, bdd->block_size, bdd->block_count,
+ bdbuf_disk_ioctl, bdd);
if (sc != RTEMS_SUCCESSFUL)
{
printf ("disk init: create phys failed: ");
@@ -584,49 +567,17 @@ bdbuf_disk_initialize (rtems_device_major_number major,
return sc;
}
- }
- return RTEMS_SUCCESSFUL;
-}
+ fd = open(name, O_RDWR);
+ rtems_test_assert(fd >= 0);
-/**
- * Create the RAM Disk Driver entry.
- */
-static rtems_driver_address_table bdbuf_disk_io_ops = {
- initialization_entry: bdbuf_disk_initialize,
- open_entry: rtems_blkdev_generic_open,
- close_entry: rtems_blkdev_generic_close,
- read_entry: rtems_blkdev_generic_read,
- write_entry: rtems_blkdev_generic_write,
- control_entry: rtems_blkdev_generic_ioctl
-};
-
-/**
- * Set up the disk.
- */
+ rv = rtems_disk_fd_get_disk_device(fd, &bdd->dd);
+ rtems_test_assert(rv == 0);
-static bool
-bdbuf_tests_setup_disk (rtems_device_major_number *major,
- rtems_disk_device **dd_ptr)
-{
- rtems_status_code sc;
- bool ok;
-
- /*
- * Register the disk driver.
- */
- printf ("register disk driver\n");
-
- sc = rtems_io_register_driver (RTEMS_DRIVER_AUTO_MAJOR,
- &bdbuf_disk_io_ops,
- major);
- ok = sc == RTEMS_SUCCESSFUL;
-
- if (ok) {
- *dd_ptr = rtems_disk_obtain (rtems_filesystem_make_dev_t (*major, 0));
- ok = *dd_ptr != NULL;
+ rv = close(fd);
+ rtems_test_assert(rv == 0);
}
- return ok;
+ return RTEMS_SUCCESSFUL;
}
static bool
@@ -678,7 +629,7 @@ bdbuf_tests_task_0_test_1 (bdbuf_task_control* tc)
for (i = 0; (i < 2) && passed; i++)
{
printf ("%s: rtems_bdbuf_get[0]: ", tc->name);
- sc = rtems_bdbuf_get (tc->dd, 0, &bd);
+ sc = rtems_bdbuf_get (tc->bdd->dd, 0, &bd);
if (!bdbuf_test_print_sc (sc, true))
{
passed = false;
@@ -726,7 +677,7 @@ bdbuf_tests_task_0_test_2 (bdbuf_task_control* tc)
for (i = 0; (i < 5) && passed; i++)
{
printf ("%s: rtems_bdbuf_get[%d]: ", tc->name, i);
- sc = rtems_bdbuf_get (tc->dd, i, &bd);
+ sc = rtems_bdbuf_get (tc->bdd->dd, i, &bd);
if (!bdbuf_test_print_sc (sc, true))
passed = false;
@@ -791,15 +742,15 @@ bdbuf_tests_task_0_test_3 (bdbuf_task_control* tc)
tc->passed = false;
passed = true;
- bdbuf_disk_lock (&bdbuf_disks[tc->minor]);
- bdbuf_disks[tc->minor].driver_action = BDBUF_DISK_NOOP;
- bdbuf_disk_unlock (&bdbuf_disks[tc->minor]);
+ bdbuf_disk_lock (tc->bdd);
+ tc->bdd->driver_action = BDBUF_DISK_NOOP;
+ bdbuf_disk_unlock (tc->bdd);
/*
* Read the buffer and then release it.
*/
printf ("%s: rtems_bdbuf_read[5]: ", tc->name);
- sc = rtems_bdbuf_read (tc->dd, 5, &bd);
+ sc = rtems_bdbuf_read (tc->bdd->dd, 5, &bd);
if ((passed = bdbuf_test_print_sc (sc, true)))
{
printf ("%s: rtems_bdbuf_release_modified[5]: ", tc->name);
@@ -812,7 +763,7 @@ bdbuf_tests_task_0_test_3 (bdbuf_task_control* tc)
* be maintained as modified.
*/
printf ("%s: rtems_bdbuf_read[5]: ", tc->name);
- sc = rtems_bdbuf_read (tc->dd, 5, &bd);
+ sc = rtems_bdbuf_read (tc->bdd->dd, 5, &bd);
if ((passed = bdbuf_test_print_sc (sc, true)))
{
printf ("%s: rtems_bdbuf_release[5]: ", tc->name);
@@ -870,7 +821,7 @@ bdbuf_tests_task_0_test_4 (bdbuf_task_control* tc)
for (i = 0; (i < num) && passed; i++)
{
printf ("%s: rtems_bdbuf_read[%zd]: ", tc->name, i);
- sc = rtems_bdbuf_read (tc->dd, i, &bd);
+ sc = rtems_bdbuf_read (tc->bdd->dd, i, &bd);
if (!bdbuf_test_print_sc (sc, true))
passed = false;
@@ -987,7 +938,7 @@ bdbuf_tests_task_0_test_6 (bdbuf_task_control* tc)
for (i = 0; (i < 5) && passed; i++)
{
printf ("%s: rtems_bdbuf_read[%d]: ", tc->name, i);
- sc = rtems_bdbuf_get (tc->dd, i, &bd);
+ sc = rtems_bdbuf_get (tc->bdd->dd, i, &bd);
if (!bdbuf_test_print_sc (sc, true))
passed = false;
@@ -1044,7 +995,7 @@ bdbuf_tests_task_0_test_7 (bdbuf_task_control* tc)
for (i = 0; (i < 5) && passed; i++)
{
printf ("%s: rtems_bdbuf_read[%d]: ", tc->name, i);
- sc = rtems_bdbuf_get (tc->dd, i, &bd);
+ sc = rtems_bdbuf_get (tc->bdd->dd, i, &bd);
if (!bdbuf_test_print_sc (sc, true))
passed = false;
@@ -1062,11 +1013,10 @@ bdbuf_tests_task_0_test_7 (bdbuf_task_control* tc)
if (passed)
{
- printf ("%s: rtems_bdbuf_syncdev[%" PRIuLEAST32 ":%" PRIuLEAST32 "]: ",
+ printf ("%s: rtems_bdbuf_syncdev[%" PRIu32 ": ",
tc->name,
- tc->major,
- tc->minor);
- passed = bdbuf_test_print_sc (rtems_bdbuf_syncdev (tc->dd), true);
+ tc->bdd->minor);
+ passed = bdbuf_test_print_sc (rtems_bdbuf_syncdev (tc->bdd->dd), true);
}
tc->passed = passed;
@@ -1104,7 +1054,7 @@ bdbuf_tests_task_0_test_8 (bdbuf_task_control* tc)
for (i = 0; (i < 5) && passed; i++)
{
printf ("%s: rtems_bdbuf_read[%d]: ", tc->name, i);
- sc = rtems_bdbuf_get (tc->dd, i, &bd);
+ sc = rtems_bdbuf_get (tc->bdd->dd, i, &bd);
if (!bdbuf_test_print_sc (sc, true))
passed = false;
@@ -1144,15 +1094,13 @@ bdbuf_tests_task_0_test_8 (bdbuf_task_control* tc)
*/
bdbuf_set_disk_driver_action (tc, BDBUF_DISK_BLOCKS_INORDER);
- printf ("%s: rtems_bdbuf_syncdev[%" PRIuLEAST32 ":%" PRIiLEAST32 "]: checking order\n",
+ printf ("%s: rtems_bdbuf_syncdev[%" PRIu32 "]: checking order\n",
tc->name,
- tc->major,
- tc->minor);
- sc = rtems_bdbuf_syncdev (tc->dd);
- printf ("%s: rtems_bdbuf_syncdev[%" PRIuLEAST32 ":%" PRIuLEAST32 "]: ",
+ tc->bdd->minor);
+ sc = rtems_bdbuf_syncdev (tc->bdd->dd);
+ printf ("%s: rtems_bdbuf_syncdev[%" PRIu32 "]: ",
tc->name,
- tc->major,
- tc->minor);
+ tc->bdd->minor);
passed = bdbuf_test_print_sc (sc, true);
}
@@ -1247,7 +1195,7 @@ bdbuf_tests_ranged_get_release (bdbuf_task_control* tc,
for (i = lower; (i < upper) && passed; i++)
{
printf ("%s: rtems_bdbuf_get[%d]: blocking ...\n", tc->name, i);
- sc = rtems_bdbuf_get (tc->dd, i, &bd);
+ sc = rtems_bdbuf_get (tc->bdd->dd, i, &bd);
printf ("%s: rtems_bdbuf_get[%d]: ", tc->name, i);
if (!bdbuf_test_print_sc (sc, true))
{
@@ -1436,7 +1384,7 @@ bdbuf_test_1 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
bdbuf_send_wait_event ("master", "wake task 0", tasks[0].task);
@@ -1462,9 +1410,9 @@ bdbuf_test_2 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
- tasks[1].minor = 0;
- tasks[2].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
+ tasks[1].bdd = &bdbuf_disks[0];
+ tasks[2].bdd = &bdbuf_disks[0];
/*
* Wake task 0 and wait for it to have all the buffers.
@@ -1517,7 +1465,7 @@ bdbuf_test_3 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
/*
* Wake task 0.
@@ -1542,8 +1490,8 @@ bdbuf_test_4 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
- tasks[1].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
+ tasks[1].bdd = &bdbuf_disks[0];
/*
* Wake task 0.
@@ -1588,8 +1536,8 @@ bdbuf_test_5 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
- tasks[1].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
+ tasks[1].bdd = &bdbuf_disks[0];
/*
* Wake task 0.
@@ -1632,7 +1580,7 @@ bdbuf_test_6 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
/*
* Wake task 0.
@@ -1655,7 +1603,7 @@ bdbuf_test_7 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
/*
* Wake task 0.
@@ -1678,7 +1626,7 @@ bdbuf_test_8 (bdbuf_task_control* tasks)
/*
* Use pool 0.
*/
- tasks[0].minor = 0;
+ tasks[0].bdd = &bdbuf_disks[0];
/*
* Wake task 0.
@@ -1750,12 +1698,14 @@ static bdbuf_test_ident bdbuf_tests[] =
static void
bdbuf_tester (void)
{
- rtems_device_major_number major;
bdbuf_task_control tasks[BDBUF_TEST_TASKS];
rtems_task_priority old_priority;
int t;
bool passed = true;
- rtems_disk_device *dd;
+ rtems_status_code sc;
+
+ sc = bdbuf_disk_initialize();
+ rtems_test_assert(sc == RTEMS_SUCCESSFUL);
/*
* Change priority to a lower one.
@@ -1767,15 +1717,6 @@ bdbuf_tester (void)
true);
/*
- * This sets up the buffer pools.
- */
- if (!bdbuf_tests_setup_disk (&major, &dd))
- {
- printf ("disk set up failed\n");
- return;
- }
-
- /*
* Make sure the swapout task has run. The user could block
* the swapout task from running until later. This is not
* tested.
@@ -1789,9 +1730,7 @@ bdbuf_tester (void)
for (t = 0; t < BDBUF_TEST_TASKS; t++)
{
bdbuf_task_control_init (t, &tasks[t],
- rtems_task_self (),
- major,
- dd);
+ rtems_task_self ());
if (!bdbuf_tests_create_task (&tasks[t],
BDBUF_TESTS_PRI_HIGH - t,
@@ -1832,10 +1771,11 @@ static rtems_task Init(rtems_task_argument argument)
#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
+#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4
+
#define CONFIGURE_BDBUF_TASK_STACK_SIZE BDBUF_TEST_STACK_SIZE
#define CONFIGURE_MAXIMUM_TASKS (1 + BDBUF_TEST_TASKS)
-#define CONFIGURE_MAXIMUM_DRIVERS 3
#define CONFIGURE_MAXIMUM_SEMAPHORES 2
#define CONFIGURE_EXTRA_TASK_STACKS \
--
2.13.7
More information about the devel
mailing list