Re: [PATCH 3/5] cgroup: fix mount failure in a corner case
From: Tejun Heo <hidden>
Date: 2014-06-20 19:10:32
Also in:
lkml
From: Tejun Heo <hidden>
Date: 2014-06-20 19:10:32
Also in:
lkml
On Thu, Jun 12, 2014 at 02:32:13PM +0800, Li Zefan wrote:
@@ -1677,6 +1679,22 @@ static struct dentry *cgroup_mount(struct file_system_type *fs_type, goto out_unlock; } + /* + * If some subsystems have been bound to existing cgroup hierarchies, + * but those hierachies are being destroyed, let's wait a little bit + * and retry. + */ + for_each_subsys(ss, i) { + if (!(opts.subsys_mask & (1 << i))) + continue; + if (!percpu_ref_alive(&ss->root->cgrp.self.refcnt)) {
Can't we just do tryget_live() instead and then put before retrying? It's not exactly a hot path and the operations are dirt cheap anyway. Thanks. -- tejun