Re: Issue with "no space left on device"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 17-08-17 19:45, Eric Sandeen wrote:
On 8/17/17 12:15 PM, Sander van Schie wrote:

On 17-08-17 18:47, Brian Foster wrote:

...

With 2k sized inodes, the most likely cause is free space fragmentation.
What does 'xfs_db -c "freesp -s" <dev>' print for this fs?

Brian


The output of the command is as follows:

# xfs_db -c "freesp -s" /dev/vdc1
    from      to extents  blocks    pct
       1       1      28      28   0,00
       2       3      50     149   0,00
       4       7     907    3799   0,07
       8      15    1369   12990   0,25
      16      31  183206 5126962  99,34
      32      63     492   17197   0,33
total free extents 186052
total free blocks 5161125
average free extent size 27,7402

(not sure what I'm looking at myself)

It shows you where the freespace is in the filesystem, and how large the
various freespace extents are; i.e. you have 28 single blocks free,
and 50 free extents containing two to three free filesystem blocks,
etc.

We allocate inodes in contiguous chunks of 64; with 2k inodes and 4k blocks,
that means we allocate inodes in chunks of 32 blocks.

So you do have 492 extents with 32 free blocks or more, but allocation also
has alignment requirements - these allocated chunks must also be aligned,
in this case aligned to a 32-block boundary.  From the output above, we don't
know the alignment of that freespace

recent xfsprogs v4.12 has a new option to freesp, to specify alignment filters,
i.e.

     xfs_db> freesp -A 32
will show only 32-block aligned free extents.

You may not have that recent of xfsprogs, but you could check out the git
tree from git://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git, build
it, and run xfs_db from within the tree, i.e.

# db/xfs_db -c "freesp -A 32 -s" /dev/vdc1

Can you provide that output?

-Eric


Thank you for the explanation!

The output of the command is as follows:

# db/xfs_db -c "freesp -A 32 -s" /dev/vdc1
   from      to extents  blocks    pct
      1       1       1       1   0,00
      2       3       7      21   0,01
      4       7     235     970   0,24
      8      15     130    1313   0,33
     16      31   14214  397375  99,42
total free extents 14587
total free blocks 399680
average free extent size 27,3997

For what it's worth, practically all files (194024 out of 196385) on the filesystem are 80102 bytes in size.

- Sander
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux