Problem with mounting a device second time.

ali nasir supremenasir at yahoo.com
Thu Apr 19 06:10:46 UTC 2012


Hi,
I can now localize the problem. 
What we do is the following:
1. With the SD card inserted, we write a set of files (4 to 5 files) on the card. After all the fwrite(..) has returned, we call the ioctl for the RTEMS_BLKIO_SYNCDEV to ensure that the data is written to the card. 
2. We then unmount the card by calling the below set of functions:
unmount
rmdir
rtems_bdbuf_syncdev
rtems_disk_delete
rtems_bdbuf_purge_dev
rtems_io_unregister_driver

When we step in in the rtems_disk_delete function, the free_disk_device() is not called as the dd->uses equals 1.
3. After this, if we insert the second card, after removing the first, then the second card fails in the create_phys by returning 12

4. When we do not call the ioctl for the RTEMS_BLKIO_SYNCDEV, then we are succesfully able to unmount and also mount the second card.

Should we remove the call to the ioctl for the RTEMS_BLKIO_SYNCDEV? or is there some other solution to the problem?
Please guide.

Regards,
Ali
------------------------------
On Wed 18 Apr, 2012 5:15 PM IST Sebastian Huber wrote:

>On 04/18/2012 01:40 PM, ali nasir wrote:
>> Hi,
>>
>> yes. we call the rtems_bdpart_register_from_disk while mounting the sdcard. This, i guess, will create a logical disk.
>>
>> Should we then also call the bdpart_unregister while unmounting the card?
>>
>> Will try to debug as suggested and come back.
>
>The rtems_bdpart_register_from_disk() function was not intended to be used with 
>dynamic media.  The media manager was written for that.  You have to remember 
>all resources that are created during a media attach to clean them up later.
>
>-- 
>Sebastian Huber, embedded brains GmbH
>
>Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany
>Phone   : +49 89 18 90 80 79-6
>Fax     : +49 89 18 90 80 79-9
>E-Mail  : sebastian.huber at embedded-brains.de
>PGP     : Public key available on request.
>
>Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>_______________________________________________
>rtems-users mailing list
>rtems-users at rtems.org
>http://www.rtems.org/mailman/listinfo/rtems-users





More information about the users mailing list