On Tue, Nov 06, 2012 at 07:40:35AM -0500, Christoph Hellwig wrote: > On Tue, Nov 06, 2012 at 07:06:42AM -0500, J. Bruce Fields wrote: > > On Tue, Nov 06, 2012 at 02:14:50PM +0400, Stanislav Kinsbursky wrote: > > > 09.10.2012 23:35, J. Bruce Fields ??????????: > > > >Cc'ing Eric since I seem to recall he suggested doing it this way? > > > > > > > >Seems OK to me, but maybe that swap_root should be in common code? (Or > > > >maybe we could use set_fs_root()?) > > > > > > > > > > This patch is not good since, as Eric mentioned, all kernel threads > > > share same fs struct. > > > We can swap whole fs struct. Or we can unshare fs struct > > > (unshare_fs_struct() is exported) and swap root in this case. > > > But this approach is to close to set_fs_root() logic, which is not > > > exported and seems there are some valid reasons for it. > > > > What are those reasons? > > > > Googling found one previous thread: > > > > http://thread.gmane.org/gmane.linux.kernel/1259986/focus=47687 > > > > There Trond requests an ACK from Al or Cristoph for the export, but I > > don't see either an ACK or any objection. > > I really don't think messing with current->fs for workqueue worker > threads is a good idea, as the worker threads are shared by different > workqueues and thus this can easily cause havoc for entirely unrelated > subsystems. So you're worried that a bug in the nfs code could modify the root and then not restore it? --b. > > To do this properly you'll need to avoid current->fs references in the > sunrpc code. > > And just in case it wasn't clear: the hack in this iteration is even > worse than the original. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html