[Ocfs2-devel] [PATCH 4/4] ocfs2: limit the number of inodes in orphanscan
Joel Becker
jlbec at evilplan.org
Mon Aug 22 01:19:42 PDT 2011
On Mon, Aug 22, 2011 at 01:51:01PM +0800, Wengang Wang wrote:
> Hi Joel,
>
> On 11-08-21 21:47, Joel Becker wrote:
> > On Fri, Jul 29, 2011 at 06:06:23PM +0800, Wengang Wang wrote:
> > > During orphanscan, limit the scan number in a single loop to avoid OOM.
> >
> > How does this OOM? Please explain this in the patch and in the patch
> > description. Or, conversely, free the resources the orphan scan is done
> > using.
>
> Explaination why it OOM:
> In current code, when recoverying orphan dirs, we are doing it like this:
>
> lock orphandir
> read out all the inodes under the orphandir to a list
> unlock the orphandir
> #above see ocfs2_queue_orphans()
> and the iput all the inodes in the list to delete the on disk inode
> #above see ocfs2_recover_orphans()
>
> For normal case, there are no many files under orphandir, there is no problem.
> But for an extreme case, there are a huge number of files under orphandir,
> huge size of memory is needed to hold the inodes. It is possible to exhaust
> memory, then OOM occurs.
This makes sense. But you didn't describe this in the patch or
the patch description ;-)
> The fix in this patch depends on patch
> "ocfs2: ocfs2_dir_foreach returns the error turned by filldir"
> Since NAK for that patch, please ignore this too.
Why is that required?
Joel
--
"Practice random acts of kindness and senseless acts of beauty."
Oh, and don't forget where your towel is.
http://www.jlbec.org/
jlbec at evilplan.org
More information about the Ocfs2-devel
mailing list