Thread (8 messages) 8 messages, 3 authors, 2016-06-06

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help