On Sat, 2009-08-15 at 09:55 -0400, Sebastien Roy wrote:
> If dls_devnet_rename() is the only remaining consumer of this exclusive
> flag, then perhaps we need to rethink this.  If dls_devnet_close() is
> being called, then certainly there is a reference on the dls_devnet_t
> that was held on open, and dls_devnet_rename() will return EBUSY and
> won't get to set the exclusive flag.  So I think if rename is the only
> consumer, then dls_devnet_close() _can_ assert that
> mac_perim_enter_by_macname() won't return EBUSY.
> 
> The problem is then, do we want dls_devnet_rename() to be the only
> consumer of this exclusive interface in the future to ensure that this
> fragile bit of code keeps working?  Or do we need a more complex
> mechanism to allow dls_devnet_close() to work in the face of any
> possible future consumer of mac_mark_exclusive()?

And if mac_perim_enter_by_macname() can fail for any other reason in
this context, then certainly there is more thinking to be done on how
dls_devnet_close() can be made to reliably work altogether.

-Seb



Reply via email to