Thread (15 messages) 15 messages, 2 authors, 2014-06-27

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

On Thu, Jun 12, 2014 at 02:32:13PM +0800, Li Zefan wrote:
quoted hunk ↗ jump to hunk
@@ -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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help