Thread (8 messages) 8 messages, 4 authors, 2012-11-06

Re: btrfs defrag problem

From: cwillu <hidden>
Date: 2012-10-30 12:08:10

On Tue, Oct 30, 2012 at 5:47 AM, ching [off-list ref] wrote:
Hi all,

I try to defrag my btrfs root partition (run by root privilege)

find / -type f -o -type d -print0 | xargs --null --no-run-if-empty btrfs filesystem defragment -t $((32*1024*1024))


1. This kind of error messages is prompted:

    failed to open /bin/bash
    open:: Text file busy
    total 1 failures
    failed to open /lib64/ld-2.15.so
    open:: Text file busy
    total 1 failures
    failed to open /sbin/agetty
    open:: Text file busy
    failed to open /sbin/btrfs
    open:: Text file busy
    failed to open /sbin/dhclient
    open:: Text file busy
    failed to open /sbin/init
    open:: Text file busy
    failed to open /sbin/udevd

    It seems that locked files cannot be defragged, is it expected behaviour?
I can't reproduce that behaviour here, although maybe you're running
an older kernel with some bug that's since been fixed?
2. Btrfs Wiki mentions that defrag directory will defrag metadata, is symlink/hardlink considered as metadata?

    P.S. inline data is already disabled by "max_inline=0"
Well, that's a silly thing to do, causing every small file to take up
a separate 4kb block rather than its size * 2, and requiring extra
seeks to read/write them (i.e., if you have a million 10 byte files,
they'll now take up 4GB instead of 20MB).
3. Is any possible to online defrag a btrfs partition without hindered by mount point/polyinstantied directories?
If you're asking if you can defrag an unmounted btrfs, not at this
time.  It's possible in principle, nobody has cared enough to
implement it yet.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help