On Mon, Mar 24, 2008 at 01:19:41AM -0700, Ram Pai wrote: > > * in do_change_type(), outside of vfsmount_lock, do invent_group_ids() > > If it fails - bugger off, if not - proceed as now. > > Has it to be done outside vfsmount_lock? AFAICT, invent_group_ids() > does not sleep, nor does change_mnt_propagation(). It does allocation. And no, GFP_ATOMIC is not appropriate for that. The same goes for mount IDs, BTW, and there we _also_ don't need vfsmount_lock - see my current tree, there we have clone_mnt() serialized by namespace_sem in all cases. > > * in attach_recursive_mnt() if IS_MNT_SHARED(dest_mnt) do > > invent_group_ids() on the dest_mnt immediately and if it fails do > > I think you meant, invent_group_ids() on the source_mnt. Yes > But again > applying invent_group_ids() on the source_mnt has to be done carefully, > because, source_mnt may have been shared to begin with. And? See the original posting - invent_group_ids() skips the vfsmounts with already set group ID. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html