You're trying to make a second connection to the Block service, but you should be making a second connection to the File_system service. The Block service only provides a random-access chunk of memory, not access to files. On Jan 26, 2016 6:35 PM, "Bob Stewart" <robjsstewart@...196...> wrote:
Hi, I was doing some testing with the 3rd party FFAT file system which multiplexes clients accessing the file system. This was done in base-hw on release 15.11.
The first client connected to the file system as expected and two files were read and processed. When the second client attempted to make a connection to the Block service, a "could not open block connection" error was issued by the disk_initialize method in diskio_block.cc. (partial log below).
The Block service is provided by an sd_card driver (identical to the omap4 driver for the Panda board). Based on my limited understanding of the Genode architecture, I would think that is the correct behavior since the first client is still connected and that the a multiplexer for the service needs to be provided.
If that is correct, the FFAT file system effectively does not multiplex client connections in a useful manner, for this scenario. How would one go about doing that?
Bob Stewart
[init -> pruss_drv] void init_libc_ffat(): using the libc_ffat plugin [init -> pruss_drv] --- am33xx PRU driver --- [init -> pruss_drv] PRUSS quota super period 1000000 [init -> pruss_drv] PRUSS quota 199981 [init -> motor_ctl] --- Motor Control application starting --- [init -> Autopilot] void init_libc_ffat(): using the libc_ffat plugin [init -> Autopilot] --- Autopilot application starting --- [init -> sd_card_drv] CID: 0x1d414453 0x44202020 0x02b16703 0xea00d927 [init -> sd_card_drv] RCA: 0x59b4 Quota exceeded! amount=24576, size=12288, consumed=24576 [init -> sd_card_drv] Block::Omap3_driver::Omap3_driver(bool): SDCard driver getting m mc1 ready with dma 0 [init -> sd_card_drv] SD card detected [init -> sd_card_drv] capacity: 60303 MiB [init -> pruss_drv] Loaded PRU-0 program 123 words [init -> pruss_drv] Loaded PRU-1 program 337 words [init -> Autopilot] opening file /Autopilot/ap_config.xml [init -> Autopilot] could not open block connection [init -> Autopilot] No file system available [init] virtual void Genode::Child_policy::exit(int): child "Autopilot" exited with exi t value -1 [init -> motor_ctl] Config not set in time [init] virtual void Genode::Child_policy::exit(int): child "motor_ctl" exited with exi t value -2
------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hello,
On 27.01.2016 06:47, Nobody III wrote:
You're trying to make a second connection to the Block service, but you should be making a second connection to the File_system service. The Block service only provides a random-access chunk of memory, not access to files.
there are two ways of using the ffat file system: linking the ffat library (libports/src/lib/ffat), or starting the ffat server (libports/src/server/ffat_fs) and letting your client open a File_system session to the server. The latter can be done by configuring the VFS of your client as follows:
<vfs> <fs/> </vfs>
Apparently Bob has used the library, which requests a Block session directly. Using ffat_fs should do the trick.
Cheers Norman
Thank you, Norman.
I was indeed using the ffat library which was itself making the requests for a block connection. I'll change that to using the ffat filesystem server in libports when I get a few minutes.
Bob
Sent from my android device.
-----Original Message----- From: Norman Feske <norman.feske@...1...> To: genode-main@lists.sourceforge.net Sent: Wed, 27 Jan 2016 4:12 AM Subject: Re: sd_card driver Block service prevents FFAT file system use by multiple clients?
Hello,
On 27.01.2016 06:47, Nobody III wrote:
You're trying to make a second connection to the Block service, but you should be making a second connection to the File_system service. The Block service only provides a random-access chunk of memory, not access to files.
there are two ways of using the ffat file system: linking the ffat library (libports/src/lib/ffat), or starting the ffat server (libports/src/server/ffat_fs) and letting your client open a File_system session to the server. The latter can be done by configuring the VFS of your client as follows:
<vfs> <fs/> </vfs>
Apparently Bob has used the library, which requests a Block session directly. Using ffat_fs should do the trick.
Cheers Norman