xfs
[Top] [All Lists]

Re: BUG with inode allocating

To: Mike Montour <mmontour@xxxxxxxxxx>
Subject: Re: BUG with inode allocating
From: Nickolay <nickolay@xxxxxxxxx>
Date: Wed, 05 Jul 2006 00:31:20 +0400
Cc: xfs@xxxxxxxxxxx
In-reply-to: <44AAC864.3090507@xxxxxxxxxx>
References: <44AA54BB.7040608@xxxxxxxxx> <44AAB05D.8010106@xxxxxxxxxx> <44AAC10D.1040206@xxxxxxxxx> <44AAC864.3090507@xxxxxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.7 (X11/20050923)
Mike Montour wrote:

Nickolay wrote:
root@192_168_15_15:/usr/protei$ xfs_db -r -c freesp /dev/cciss/c0d0p2
can't seek in filesystem at bb 134217728
can't read btree block 0/16777216
can't seek in filesystem at bb 1744830464
I don't know what that's all about (although Google suggests it may be a
bug in old versions of the xfs_db command -
http://oss.sgi.com/archives/xfs/2003-02/msg00077.html ).
[...]
 from      to extents  blocks    pct
    1       1      32      32 100.00
This says that all of your free space is in single blocks, which would
explain why XFS can't allocate a new chunk of inodes. However the total
amount of free space here is much less than your previous 'df' showed
(and there were the other errors above) so this may not be accurate.

If you can temporarily move some large old files (ones written before
the filesystem became fragmented) off this partition you might free up
some larger extents. 'xfs_fsr' might also help if you are able to free
up enough temporary space for it to work, however I do not have any
direct experience using this tool.

Yeah, this is really xfs_db utility bug.
New version works fine, but with a warning(can't get sector size),
new mkfs.xfs warns too.

This is a new result:

--------------------------------------------
root@192_168_15_15:/usr/test$ xfs_db -r -c "freesp -s" /dev/cciss/c0d0p2
xfs_db: warning - cannot get sector size from block device /dev/cciss/c0d0p2: Invalid request code
  from      to extents  blocks    pct
     1       1    4097    4097  24.27
     2       3    5694   12771  75.66
     4       7       3      12   0.07
total free extents 9794
total free blocks 16880
average free extent size 1.7235
--------------------------------------------

And /bin/df show to us:
root@192_168_15_15:/usr/test$ /bin/df /dev/cciss/c0d0p2
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/cciss/c0d0p2      1953600   1886020     67580  97% /usr/test

Now, if we multiple total free block(from all extents), we get almost precisely
the same freespace, which show to us /bin/df:
16880 * 4096 / 1024 = 67520 Kb

Now, as I understand, the problem here because XFS can't finds free extent,
for allocating new chunk of inodes, and there is no way to tune the chunk size?

--
Nickolay Vinogradov
Protei Reseach and Development Center
St.Petersburg, 194044, Russia
Tel.: +7 812 449 47 27


<Prev in Thread] Current Thread [Next in Thread>