From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [Bugme-new] [Bug 12754] New: inotify doesn't free memory allocated to watches Date: Tue, 24 Feb 2009 13:05:23 -0800 Message-ID: <20090224130523.f6c4c450.akpm@linux-foundation.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: bugme-daemon@bugzilla.kernel.org, linux-fsdevel@vger.kernel.org, Al Viro , John McCutchan , Robert Love To: russell@rickstewart.com Return-path: Received: from smtp1.linux-foundation.org ([140.211.169.13]:33245 "EHLO smtp1.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753432AbZBXVFf (ORCPT ); Tue, 24 Feb 2009 16:05:35 -0500 In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: (switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface). On Sun, 22 Feb 2009 16:32:47 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=12754 > > Summary: inotify doesn't free memory allocated to watches > Product: File System > Version: 2.5 > KernelVersion: 2.6.28 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: Other > AssignedTo: fs_other@kernel-bugs.osdl.org > ReportedBy: russell@rickstewart.com > > > Latest working kernel version: none > Earliest failing kernel version: > Distribution: CentOS 5 > Hardware Environment: intel > Software Environment: > Problem Description: run out of watches > > Steps to reproduce: use enough watches > > We have webcams that take photos every 5 minutes. I run a daemon > that detects the creation of a new webcam photo then makes a thumbnail > of it. Eventually it stopped working. I figured out that I could > not create new watches: inotify_add_watch reported "No space left on device". > I create all the watches with the ONESHOT parameter so they are deleted > as soon as they are triggered. When I make it display the watch number > it's always 3. A new watch is added only when the old watch has been > triggered. inotify isn't recovering the memory from deleted watches. > So we have a serious leak. A few fixes have gone into inotify since 2.6.28. I don't immediately see any which would address this bug, but it would be worth testing 2.6.29-rc6 if poss, please. Hopefully those fixes also got fed back into 2.6.28.x, but that path is somewhat unreliable. If it isn't yet fixed then I'm not sure how to get it fixed, really - inotify development is a bit quiet.