Opened 7 years ago

Last modified 3 years ago

#9320 assigned bug

Virtual disk has no icon

Reported by: dsjonny Owned by: nobody
Priority: normal Milestone: R1
Component: Kits/Application Kit Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

If I create a virtual disk using diskimage, the disk has no icon in the mount menu or in the DriveSetup.

After I mount it, it has an icon in the Tracker, but in the mount menu there is still no icon.

I use the latest nightly image: 45092

Attachments (1)

0001-FileDevice-implement-icon-ioctls.patch (4.0 KB ) - added by pulkomandy 5 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 by anevilyak, 7 years ago

Component: - GeneralApplications/Tracker
Owner: changed from nobody to axeld

comment:2 by anevilyak, 7 years ago

Component: Applications/TrackerKits/Application Kit

Oops, didn't see the DriveSetup part. Most likely a problem in the mime database then.

comment:3 by dsjonny, 6 years ago

Using hrev46447 nightly anyboot still exists.

comment:4 by umccullough, 6 years ago

Please don't go through every bug you own and confirm that it's not fixed yet... unless you plan to provide additional details which help narrow down the issue, all it does is spams everyone with useless ticket updates.

in reply to:  4 ; comment:5 by korli, 6 years ago

Replying to umccullough:

Please don't go through every bug you own and confirm that it's not fixed yet... unless you plan to provide additional details which help narrow down the issue, all it does is spams everyone with useless ticket updates.

I find it can be helpful, especially for hardware related bugs and one time a year is fine btw :)

in reply to:  5 comment:6 by dsjonny, 6 years ago

Replying to korli:

Replying to umccullough:

Please don't go through every bug you own and confirm that it's not fixed yet... unless you plan to provide additional details which help narrow down the issue, all it does is spams everyone with useless ticket updates.

I find it can be helpful, especially for hardware related bugs and one time a year is fine btw :)

I'm sorry for that. I didn't want to spam, I just saw that, I have many old tickets without any update since months. Usually I check the most of my (bug) tickets with the latest nightly images because there are many commits to the source. So, I don't know if there is some related to these tickets (I don't understand many). And many times I see "Is this still exists?" questions in the tickets, so that's why I updated sometimes the tickets. Next time I will only update if there is some "really useful" info.

comment:7 by pulkomandy, 5 years ago

How is this supposed to work? For other devices the icon is retrieved using an ioctl and the drivers in add-ons/kernel/drivers/disk provide an implementation with their respective icon(s). However the disk image file driver seems to be implemented directly in the disk device manager and I see no provision for ioctls there?

comment:8 by axeld, 5 years ago

You may want to look at http://cgit.haiku-os.org/haiku/tree/src/system/kernel/device_manager/FileDevice.cpp#n248.

The disk device manager just uses devfs_publish_file_device() which gets served by this class.

comment:9 by pulkomandy, 5 years ago

I added B_GET_VECTOR_ICON there but it didn't work. Still no icon in DriveSetup nor Tracker mount menu. Attaching the patch if someone can spot what Idid wrong.

comment:10 by pulkomandy, 5 years ago

Has a Patch: set

comment:11 by axeld, 5 years ago

Does it work now, since you actually committed it already? In any case, I would check that the hooks are really called, otherwise, I couldn't spot anything wrong.

comment:12 by pulkomandy, 5 years ago

No, it doesn't work yet and I mixed up things in git again, I didn't mean to push these changes yet.

comment:13 by pulkomandy, 5 years ago

So, after further investigation:

  • Sending the B_GET_DEVICE_ICON ioctl works.
  • Getting the icon using get_device_icon also works.
  • When the volume is mounted, BVolume::GetIcon returns the standard "disk" icon for it. This is what is shown in Tracker as well. When the volume is not mounted, BVolumeRoster does not enumerate it.

I get the correct icon in DriveSetup now, but I get the standard "disk" icon in Tracker mount menu. I also see that DriveSetup "mounted on" and "file system" columns are not filled properly after initializing the volume. So there are more missing links here.

comment:14 by waddlesplash, 5 years ago

Has a Patch: unset

comment:15 by axeld, 3 years ago

Owner: changed from axeld to nobody
Status: newassigned
Note: See TracTickets for help on using tickets.