Re: [PATCH 3/5] cgroup: fix mount failure in a corner case

From: Li Zefan
Date: Mon Jun 23 2014 - 21:15:19 EST


On 2014/6/21 3:10, Tejun Heo wrote:
> 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.
>

No much difference, though would be a bit more code. I can do that.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/