Re: [PATCH 1/4] inotify: Add infrastructure to account inotify limits per-namespace
From: Nikolay Borisov <hidden>
Date: 2016-06-06 09:26:26
Also in:
lkml
On 06/06/2016 11:05 AM, Cyrill Gorcunov wrote:
On Wed, Jun 01, 2016 at 10:52:57AM +0300, Nikolay Borisov wrote:quoted
This patch adds the necessary members to user_struct. The idea behind the solution is really simple - user the userns pointers as keys into a hash table which holds the inotify instances/watches counts. This allows to account the limits per userns rather than per real user, which makes certain scenarios such as a single mapped user in a container deplete the inotify resources for all other users, which map to the exact same real user. Signed-off-by: Nikolay Borisov <redacted>...quoted
+static inline unsigned long inotify_dec_return_dev(struct user_struct *user, + void *key) +{ + struct inotify_state *state; + unsigned long ret; + + spin_lock(&user->inotify_lock); + state = __find_inotify_state(user, key); + ret = --state->inotify_devs; + spin_unlock(&user->inotify_lock); + + return ret; +}Hi Nikolay! Could you please explain why this new function is not used anywhere in other patches or I miss something obvious?
Hi Cyrill, It seems this is a left-over from an earlier, internal version of this patchset. You can disregard it. Also, given the direction that the discussion with Eric took I think I will be redesigning the solution entirely. Thanks for taking the time to read the code! Nikolay