lkml.org 
[lkml]   [2008]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: no way to swapoff a deleted swap file?
On Thu, 16 Oct 2008, Peter Zijlstra wrote:
> On Wed, 2008-10-15 at 17:21 -0300, Peter Cordes wrote:
> > I unlinked a swapfile without realizing I was still swapping on it.
> > Now my /proc/swaps looks like this:
> > Filename Type Size Used Priority
> > /var/tmp/EXP/cache/swap/1\040(deleted) file 1288644 1448 -1
> > /var/tmp/EXP/cache/swap/2\040(deleted) file 1433368 0 -2
> >
> > AFAICT, there's nothing I can pass to swapoff(2) that will make the
> > kernel let go of them. If that's the case, please consider this a
> > feature request for a way to do this. Now I'm going to have to reboot
> > before I can mkfs that partition.
> >
> > If kswapd0 had a fd open on the swap files, swapoff /proc/$PID/fd/3
> > could possibly work. But it looks like the files are open but with no
> > user-space accessable file descriptors to them. Which makes sense,
> > except for this case.
>
> Right, except that kswapd is per node, so we'd either have to add it to
> all kswapd instances or a random one. Also, kthreads don't seem to have
> a files table afaict.
>
> But yes, I see your problem and it makes sense to look for a nice
> solution.

No immediate answer springs to my mind.

It's not something I'd want to add a new system call for.
I guess we could put a magic file for each swap area
somewhere down in /sys, and allow swapoff to act upon that.

If there were other good reasons to add such files, that
could make sense. But although I'll willingly admit it's a
lacuna, I don't think it's one worth bloating the kernel for.

(I would suggest that Peter keep a second link to his swapfiles
somewhere safer; but that's then open to the converse complaint,
that when he unlinks intentionally but forgets the safe link,
the disk space remains mysteriously in use.)

Sorry for being unhelpful!
Hugh


\
 
 \ /
  Last update: 2008-10-17 00:41    [W:0.048 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site