Fwd: Strange ZFS problem, filesystem claims to be full when clearly
not full
Torbjorn Kristoffersen
torbjoern at gmail.com
Thu Sep 30 17:08:56 UTC 2010
On Thu, Sep 30, 2010 at 5:47 PM, Andriy Gapon <avg at icyb.net.ua> wrote:
> on 30/09/2010 17:48 Jeremy Chadwick said the following:
>> On Thu, Sep 30, 2010 at 04:38:46PM +0200, Oliver Fromme wrote:
>>> Danny Carroll <fbsd at dannysplace.net> wrote:
>>> > [...]
>>> > It certainly smells like a process still writing to a file that is unlinked.
>>> > I wonder if it would show up with lsof.
>>>
>>> If it's a file that was unlinked that is still held open by
>>> a process, then lsof will definitely list it. The command
>>>
>>> # lsof +L1
>>>
>>> lists all open files with a link count of zero. You can
>>> restrict it to a certain file system like this:
>>>
>>> # lsof +aL1 /var
>>>
>>> Of course, lsof won't list the file name because the file
>>> doesn't have a name anymore. But it lists the process by
>>> name, PID and user, the file system and the file size.
>>
>> Can someone explain how use of lsof in this regard is different than use
>> of fstat(1) like I originally mentioned? Does lsof do something more
>> thorough or differently that what fstat does?
>
> I believe that there is no reason to prefer lsof except for those who spent more
> time with Linux than with FreeBSD.
>
I tried fstat earlier and now I tried lsof as suggested. Doing lsof
+L1 only gave me:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
mysqld 1030 mysql 4u VREG 0,99 0 0 800965 / (/dev/mirror/root)
mysqld 1030 mysql 5u VREG 0,99 0 0 800969 / (/dev/mirror/root)
mysqld 1030 mysql 6u VREG 0,99 0 0 800970 / (/dev/mirror/root)
....
Basically, it only gives me mysqld which runs outside the jails.
Nothing else was listed.
I noticed that the filesystem has stopped growing now though, so that
may also be the reason
why lsof does not show anything anymore. The "du -sh /jails/rb.org"
still gives a low usage value.
Also, this is the output from df -h (I've since resized the ZFS quota
to make the filesystem bigger for this jail):
tpool/rb.org 200G 111G 89G 56% /jails/rb.org
If the process causing this is gone, or is working correctly (seeing
that the fs is no longer growing, I hope),
can dead unlinked files still remain, is there a way to purge them?
More information about the freebsd-fs
mailing list