refresh partition table
David Henderson
dhenderson at digital-pipe.com
Mon May 16 16:05:29 UTC 2011
On 05/16/2011 11:20 AM, David Henderson wrote:
> On 05/16/2011 11:09 AM, David Henderson wrote:
>> On 05/16/2011 10:52 AM, David Henderson wrote:
>>> On 05/15/2011 04:27 PM, Sergey Naumov wrote:
>>>> blockdev --rereadpt
>>>>
>>>> Sergey Naumov.
>>>
>>> I've run into an interesting problem by using the above syntax.
>>> Apparently when I issue that command "blockdev --rereadpt /dev/sde",
>>> it removes all the device's partition files (e.g. /dev/sde1) and
>>> leaves the one for the drive itself (e.g. /dev/sde). If I unplug
>>> the device and plug it back in, the correct device files populate
>>> again. So it appears that mdev is working right, but the blockdev
>>> is not. Any ideas why blockdev would be doing this?
>>>
>>> Dave
>>
>> Just to add a few more details. I have a card reader that occupies
>> /dev/sda through /dev/sdd. If I insert an SD card with 2 partitions
>> and wait for mdev to populate the device files, wait a few seconds,
>> then issue the blockdev command, it wipes out those partition files
>> too (e.g. /dev/sdb1). If I issue the blockdev command on the device
>> files for the card reader that don't have any inserted media, I get
>> the error message "blockdev: can't open '/dev/sda': No medium
>> found". This tells me that blockdev can actually see if a device is
>> present and that the devices files are populated correctly. I just
>> have no idea why it wouldn't be working correctly. I've also tried:
>>
>> # hdparm -z /dev/sde
>>
>> /dev/sde:
>>
>> So you can see that it's failing too. I think, however, hdparm isn't
>> the best choice to use for USB attached devices. Thoughts anyone?
>>
>> Dave
>
> Even more details - I wanted to see what dmesg was giving me, so I
> browsed the output, tried the blockdev command again and noticed that
> for every attempt at running it, I get the following entry appended to
> the dmesg output:
>
> sd 5:0:0:0: [sde] Assuming drive cache: write through
> sde: sde1
>
> So perhaps blockdev is working correctly, there just happens to be a
> problem getting the device files to populate. Are the device files
> created by blockdev itself as opposed to a helper of some type (e.g.
> mdev)?
>
> Dave
Ok, I thought I'd narrowed it down to a problem in the mdev processing
script. Since blockdev seemed like it was working correctly (per the
output of dmesg), I decided to take a shot and change the mdev rule from
using my script to just simply creating the device files on it's own
(e.g. >%1). Once I made that change and re-ran blockdev, the device
files were populated correctly. So... it appears as though there was a
problem with the custom mdev script when creating the devices. I have,
however, tested and tested this script (not to say it's 100% bug free)
so I decided to output the environment once again as a start to
troubleshooting. To my surprise I realized that the blockdev call is
triggering both the add and remove actions of mdev. This is why the
device files were being removed (as part of the file system cleanup upon
detaching devices). Is this a bug in the blockdev or mdev applets? I
can't imagine why the add and remove actions would be triggered upon
running a partition re-read via blockdev. Thoughts?
Dave
More information about the busybox
mailing list