Skip to contentSkip to conversation

curious writes on mounted, not used btrfs filesystem

DISCUSSION Tomasz Chmielewski 3 participants 5 messages May 21, 2011 – May 22, 2011 Btrfs file system

lore
Share & tools
lore
#0 lore raw

I have a btrfs filesystem (2.6.39) which is mounted, but otherwise, not used:

# lsof -n|grep /mnt/btrfs
#

I noticed that whenever I do "sync", btrfs will write for around 6.5s and write 13 MB (see below).

If I do a "while true; do sync; done", there will be constant writes to btrfs filesystem (again - with no userspace program accessing btrfs).

When it happens, "btrfs-submit-0" is in "D" state.

What are these writes? I didn't notice anything like this with other filesystems.

$ iostat -t -k 1 sdb4|grep sdb4
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdb4            320.00         0.00      1660.00          0       1660
sdb4            419.00         0.00      1720.00          0       1720
sdb4            291.00         0.00      1224.00          0       1224
sdb4            417.00         0.00      1736.00          0       1736
sdb4            609.00         0.00      2628.00          0       2628
sdb4            350.00         0.00      1452.00          0       1452
sdb4            606.00         0.00      2620.00          0       2620
sdb4            281.00         0.00      1516.00          0       1516
sdb4            352.00         0.00      1472.00          0       1472
sdb4            384.00         0.00      1584.00          0       1584
sdb4            533.00         0.00      2232.00          0       2232
sdb4            640.00         0.00      2660.00          0       2660

When btrfs is mounted with "compress" flag, there will be also reads when doing a similar operation.

See MB_wrtn before/after the sync:

$ iostat -t -m  sdb4
Linux 2.6.39-020639-generic (dom) 	05/21/2011 	_x86_64_	(8 CPU)

05/21/2011 02:45:46 PM
avg-cpu: %user %nice %system %iowait %steal %idle

           2.47    0.01    1.25    8.01    0.00   88.26

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdb4 127.39 0.92 1.94 94207 199343

$ time sync

real 0m6.808s
user 0m0.000s
sys 0m0.110s

$ iostat -t -m  sdb4
Linux 2.6.39-020639-generic (dom) 	05/21/2011 	_x86_64_	(8 CPU)

05/21/2011 02:46:02 PM
avg-cpu: %user %nice %system %iowait %steal %idle

           2.47    0.01    1.25    8.01    0.00   88.26

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdb4 127.40 0.92 1.94 94207 199356

$ time sync

real 0m6.628s
user 0m0.000s
sys 0m0.110s

$ iostat -t -m  sdb4
Linux 2.6.39-020639-generic (dom) 	05/21/2011 	_x86_64_	(8 CPU)

05/21/2011 02:46:55 PM
avg-cpu: %user %nice %system %iowait %steal %idle

           2.47    0.01    1.25    8.01    0.00   88.27

Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sdb4 127.37 0.92 1.94 94207 199369

Signature · 2 lines
Tomasz Chmielewski
http://wpkg.org
#1 lore raw
2011-05-21 14:58:21 +0200, Tomasz Chmielewski:
Quoted 3 lines

I have a btrfs filesystem (2.6.39) which is mounted, but otherwise, not used:

# lsof -n|grep /mnt/btrfs

processes with open fds are one thing. You could also have loop devices setup on it for instance.

Quoted 4 lines

#

I noticed that whenever I do "sync", btrfs will write for around 6.5s and write 13 MB (see below).

[...]

You could try and play with /proc/sys/vm/block_dump to see what is being written (remember to disable logging of kernel messages by syslog).

Signature · 1 line
Stephane
#2 lore raw
Quoted 7 lines · Stephane Chazelas
2011-05-21 14:58:21 +0200, Tomasz Chmielewski:
Quoted 3 lines

I have a btrfs filesystem (2.6.39) which is mounted, but otherwise, not used:

# lsof -n|grep /mnt/btrfs

processes with open fds are one thing. You could also have loop devices setup on it for instance.

I know.
It's _not_ used by anything.

Quoted 9 lines
Quoted 4 lines

#

I noticed that whenever I do "sync", btrfs will write for around 6.5s and write 13 MB (see below).

[...]

You could try and play with /proc/sys/vm/block_dump to see what is being written (remember to disable logging of kernel messages by syslog).

It doesn't give me any hints, really.

Can you try running these commands yourself:

iostat -k 1 </your/btrfs/device>

And in a second terminal:

while true; do sync ; done

To see if your btrfs makes writes on sync each time?

Signature · 2 lines
Tomasz Chmielewski
http://wpkg.org
#3 lore raw
2011-05-22 11:52:37 +0200, Tomasz Chmielewski:

[...]

Quoted 11 lines

Can you try running these commands yourself:

iostat -k 1 </your/btrfs/device>

And in a second terminal:

while true; do sync ; done

To see if your btrfs makes writes on sync each time?

[...]

Yes it does. And I see:

<7>[38554.244219] sync(3354): dirtied inode 1 (?) on dm-11
<7>[38554.244740] btrfs-submit-0(29134): WRITE block 301128 on dm-11 (56 sectors)
<7>[38554.244774] btrfs-submit-0(29134): WRITE block 741832 on dm-11 (56 sectors)
<7>[38554.249963] sync(3354): WRITE block 128 on dm-11 (8 sectors)
<7>[38554.250010] sync(3354): WRITE block 131072 on dm-11 (8 sectors)
<7>[38567.312908] sync(3356): dirtied inode 1 (?) on dm-11
<7>[38567.313330] btrfs-submit-0(29134): WRITE block 301256 on dm-11 (24 sectors)
<7>[38567.313350] btrfs-submit-0(29134): WRITE block 741960 on dm-11 (24 sectors)
<7>[38567.313358] btrfs-submit-0(29134): WRITE block 301288 on dm-11 (24 sectors)
<7>[38567.313366] btrfs-submit-0(29134): WRITE block 741992 on dm-11 (24 sectors)
<7>[38567.313393] btrfs-submit-0(29134): WRITE block 301312 on dm-11 (8 sectors)
<7>[38567.313403] btrfs-submit-0(29134): WRITE block 742016 on dm-11 (8 sectors)
<7>[38567.325194] sync(3356): WRITE block 128 on dm-11 (8 sectors)
<7>[38567.325244] sync(3356): WRITE block 131072 on dm-11 (8 sectors)
<7>[38570.374449] sync(3358): dirtied inode 1 (?) on dm-11
<7>[38570.374976] btrfs-submit-0(29134): WRITE block 301128 on dm-11 (56 sectors)
<7>[38570.375011] btrfs-submit-0(29134): WRITE block 741832 on dm-11 (56 sectors)
<7>[38570.379221] sync(3358): WRITE block 128 on dm-11 (8 sectors)
<7>[38570.379272] sync(3358): WRITE block 131072 on dm-11 (8 sectors)
<7>[38572.170816] sync(3359): dirtied inode 1 (?) on dm-11
<7>[38572.171289] btrfs-submit-0(29134): WRITE block 301256 on dm-11 (24 sectors)
<7>[38572.171300] btrfs-submit-0(29134): WRITE block 741960 on dm-11 (24 sectors)
<7>[38572.171304] btrfs-submit-0(29134): WRITE block 301288 on dm-11 (24 sectors)
<7>[38572.171308] btrfs-submit-0(29134): WRITE block 741992 on dm-11 (24 sectors)
<7>[38572.171320] btrfs-submit-0(29134): WRITE block 301312 on dm-11 (8 sectors)
<7>[38572.171325] btrfs-submit-0(29134): WRITE block 742016 on dm-11 (8 sectors)
<7>[38572.180338] sync(3359): WRITE block 128 on dm-11 (8 sectors)
<7>[38572.180386] sync(3359): WRITE block 131072 on dm-11 (8 sectors)
<7>[38574.186559] sync(3360): dirtied inode 1 (?) on dm-11
<7>[38574.187090] btrfs-submit-0(29134): WRITE block 301128 on dm-11 (56 sectors)
<7>[38574.187125] btrfs-submit-0(29134): WRITE block 741832 on dm-11 (56 sectors)
<7>[38574.191602] sync(3360): WRITE block 128 on dm-11 (8 sectors)
<7>[38574.191654] sync(3360): WRITE block 131072 on dm-11 (8 sectors)
<7>[38576.370003] sync(3361): dirtied inode 1 (?) on dm-11
<7>[38576.370452] btrfs-submit-0(29134): WRITE block 301256 on dm-11 (24 sectors)
<7>[38576.370470] btrfs-submit-0(29134): WRITE block 741960 on dm-11 (24 sectors)
<7>[38576.370478] btrfs-submit-0(29134): WRITE block 301288 on dm-11 (24 sectors)
<7>[38576.370485] btrfs-submit-0(29134): WRITE block 741992 on dm-11 (24 sectors)
<7>[38576.370513] btrfs-submit-0(29134): WRITE block 301312 on dm-11 (8 sectors)
<7>[38576.370523] btrfs-submit-0(29134): WRITE block 742016 on dm-11 (8 sectors)
<7>[38576.379718] sync(3361): WRITE block 128 on dm-11 (8 sectors)
<7>[38576.379766] sync(3361): WRITE block 131072 on dm-11 (8 sectors)

Every other sync the same.

Signature · 1 line
Stephane
#4 lore raw
In reply to Stephane Chazelas

Le dimanche 22 mai 2011 =C3=A0 10:34 +0100, Stephane Chazelas a =C3=A9c= rit :

Quoted 2 lines
Quoted 2 lines

=20
I noticed that whenever I do "sync", btrfs will write for around 6.=

5s and write 13 MB (see below).

Quoted 1 line

[...]

I had also noticed here, without really paying further attention, that external USB HDs with a BTRFS mounted, but without any open files (and no possibly open files, these disks being only used for files backups and no direct work, no libraries, no spools, no progs, etc...), show some activity (LED flashing) when executing a "sync" when I would expec= t
there's nothing to be synced on them...

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" = in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html