Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Use Markdown for this comment
Set severity, which reflects how much the issue affects the use of the product
Change issue status back to 'Assigned'
Pending code changes (auto-populated)
The amount of effort required to complete the task. [ID: 1282207]
Remove item
Show all 13 items in the list
Maintained by go/gitwatcher - Please do not modify manually [ID: 1246691]
Maintained by go/gitwatcher - Please do not modify manually [ID: 1246569]
Used by rvos Flake Fetcher - Please do not modify [ID: 1215775]
This is a custom field created and used by go/roadmap. [ID: 1279605]
This is a custom field created and used by go/roadmap. [ID: 1279761]
This is a custom field created and used by go/roadmap. [ID: 1279836]
Set the version(s) of the product affected by this issue (comma-separated list)
Set the version(s) of the product in which the issue should be fixed (comma-separated list)
Set the version(s) of the product in which the issue fix was verified (comma-separated list)
Set if this issue occurs in production
Select items in the list
[ID: 1239839]
Show all 8 items in the list
Labels not explicitly mapped to hotlists, priority or type from Monorail [ID: 1241047]
Set Reporter
Set Type
Set priority, which reflects how soon the issue should be fixed
Set Status
Set Assignee
Set Verifier
View or edit staffing
View issue level access limits(Press Alt + Right arrow for more information)
Description
#1Today, the driverhost gets the channel from dev and serves it via DevfsVnode:
The DevfsVnode will multiplex the fuchsia.device.Controller FIDL and
do a TryDispatch for the underlying device FIDL:
This prevents drivers from having ownership over their channel.
It is the reason why DdkMessageable, DdkOpen, DdkClose, Instance drivers, and trampoline FIDL protocols exist.
------
The simplest solution to this would be to add a Connect FIDL to fuchsia.device.Controller.
All clients of /dev/ would have to call Connect in order to get the underlying device FIDL. (This is the hard part of the migration).
Once clients have to manually call Connect, we will no longer need to multiplex.
Drivers can be given control over their own channels. Also, once client behavior is Explicit rather than Implicit, it should be simpler to move to a different
solution in the future as well.