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
