* Seed device + small device = Oops
@ 2013-10-22 3:22 Dan Greene
0 siblings, 0 replies; only message in thread
From: Dan Greene @ 2013-10-22 3:22 UTC (permalink / raw)
To: linux-btrfs
[-- Attachment #1: Type: text/plain, Size: 658 bytes --]
If you create a seed device with btrfstune and then try to add a small (32MB)
device to it, the kernel will oops and the attempt to add the device will
fail.
I have attached a transcript of the shell session that demonstrates this.
(This was generated by piping UML to tee and then cleaning up the file. I
removed some control characters, but the backtrace is still intact.)
This bug os triggered by a 32MB device, but not a 64MB one.
This bug is still present with the rc6 kernel.
Note that, in earlier kernels, the attempt to remount read-write would
succeed, but process attempting to access the filesystem would hang forever,
resisting even SIGKILL.
[-- Attachment #2: log.txt --]
[-- Type: text/plain, Size: 4670 bytes --]
raid6: int32x1 695 MB/s
raid6: int32x2 678 MB/s
raid6: int32x4 689 MB/s
raid6: int32x8 413 MB/s
raid6: using algorithm int32x1 (695 MB/s)
raid6: using intx1 recovery algorithm
xor: measuring software checksum speed
8regs : 4674.000 MB/sec
8regs_prefetch: 4226.000 MB/sec
32regs : 2824.400 MB/sec
32regs_prefetch: 4100.800 MB/sec
xor: using function: 8regs (4674.000 MB/sec)
bio: create slab <bio-1> at 1
Btrfs loaded
btrfs: device fsid 05e9ab31-1ae3-4195-a5dd-7ce0943236db devid 1 transid 451 /dev/ubda
btrfs: disk space caching is enabled
root@(none):~# truncate st -s 64M
root@(none):~# mkfs.btrfs st
WARNING! - Btrfs v0.20-rc1 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
SMALL VOLUME: forcing mixed metadata/data groups
Created a data/metadata chunk of size 6684672
fs created label (null) on st
nodesize 4096 leafsize 4096 sectorsize 4096 size 64.00MB
Btrfs v0.20-rc1
root@(none):~# btrfs -S 1 st
root@(none):~# losetup -fv st
Loop device is /dev/loop0
root@(none):~# mount /dev/loop0 /mnt
EXT4-fs (loop0): VFS: Can't find ext4 filesystem
EXT4-fs (loop0): VFS: Can't find ext4 filesystem
EXT4-fs (loop0): VFS: Can't find ext4 filesystem
btrfs: device fsid 63184a6c-3df9-47b4-bf7a-5f68ebb24761 devid 1 transid 5 /dev/loop0
mount: block device /dev/loop0 is write-protected, mounting read-only
EXT4-fs (loop0): VFS: Can't find ext4 filesystem
EXT4-fs (loop0): VFS: Can't find ext4 filesystem
EXT4-fs (loop0): VFS: Can't find ext4 filesystem
btrfs: device fsid 63184a6c-3df9-47b4-bf7a-5f68ebb24761 devid 1 transid 5 /dev/loop0
btrfs: disk space caching is enabled
root@(none):~# truncate st0 -s 32M
root@(none):~# losetup-fv st0
Loop device is /dev/loop1
root@(none):~# btrfs device add /dev/loop1 /mnt
SMALL VOLUME: forcing mixed metadata/data groups
btrfs: relocating block group 0 flags 2
------------[ cut here ]------------
WARNING: CPU: 0 PID: 343 at fs/btrfs/volumes.c:2554 btrfs_init_new_device+0xc71/0xd4b [btrfs]()
Modules linked in: btrfs lzo_compress zlib_deflate xor raid6_pq libcrc32c
CPU: 0 PID: 343 Comm: btrfs Not tainted 3.12.0-rc5 #1
0ff57c14 08076736 082789fb 00000000 00000157 111e068a 000009fa 1119de3b
1119de3b 00000000 0ff48c00 003fffff 00000000 1049f738 1119de3b 00000009
00000000 00000100 00000000 000000e4 00000000 10505601 0ff82c00 00000001 0ff57c18: [<08076736>] warn_slowpath_common+0x78/0x99
0ff57c30: [<1119de3b>] btrfs_init_new_device+0xc71/0xd4b [btrfs]
0ff57c34: [<1119de3b>] btrfs_init_new_device+0xc71/0xd4b [btrfs]
0ff57c4c: [<1119de3b>] btrfs_init_new_device+0xc71/0xd4b [btrfs]
0ff57cec: [<111a43d6>] btrfs_ioctl+0x6cf/0x2a8c [btrfs]
0ff57d0c: [<08095294>] enqueue_task_fair+0xe3/0x195
0ff57d28: [<08073f2e>] os_set_thread_area+0x25/0x36
0ff57d3c: [<08073096>] do_set_thread_area+0x1a/0x3e
0ff57d54: [<080731aa>] arch_switch_tls+0x85/0xb2
0ff57d70: [<08071e52>] arch_switch_to+0xf/0x40
0ff57d78: [<080924fa>] finish_task_switch.isra.60+0x1b/0x54
0ff57db0: [<0822989c>] schedule+0x57/0x59
0ff57dbc: [<0822851f>] schedule_timeout+0x17/0xfd
0ff57ddc: [<08092325>] __wake_up+0x29/0x31
0ff57dec: [<111a3d07>] btrfs_ioctl+0x0/0x2a8c [btrfs]
0ff57dfc: [<080e8245>] vfs_ioctl+0x26/0x32
0ff57e00: [<0822942b>] wait_for_common+0xfc/0x106
0ff57e04: [<080e8245>] vfs_ioctl+0x26/0x32
0ff57e18: [<080e8dfb>] do_vfs_ioctl+0x526/0x603
0ff57e34: [<081ad651>] loop_switch.isra.22+0x7e/0x8f
0ff57e54: [<080ee72b>] iput+0x5d/0x113
0ff57e64: [<081adaaa>] lo_release+0x49/0x59
0ff57e74: [<0810222e>] __blkdev_put+0xfe/0x116
0ff57e88: [<080e8f21>] SyS_ioctl+0x49/0x68
0ff57eb4: [<08060c9a>] handle_syscall+0x6d/0x7f
0ff57ef4: [<08070a75>] userspace+0x3c9/0x49c
0ff57f88: [<08060e92>] do_op_one_page+0xfb/0x17f
0ff57f9c: [<08073f2e>] os_set_thread_area+0x25/0x36
0ff57fb0: [<08073096>] do_set_thread_area+0x1a/0x3e
0ff57fbc: [<08089500>] __task_pid_nr_ns+0x51/0x5b
0ff57fc8: [<080731aa>] arch_switch_tls+0x85/0xb2
0ff57ff0: [<0805e648>] fork_handler+0x61/0x65
---[ end trace 729c0d24bd03140c ]---
BTRFS error (device loop0) in btrfs_init_new_device:2124: errno=-28 No space left (Failed to relocate sys chunks after device initialization. This can be fixed using the "btrfs balance" command.)
BTRFS info (device loop0): forced readonly
ERROR: error adding the device '/dev/loop1' - Read-only file system
root@(none):~# mount -o remount,rw /mnt
btrfs: disk space caching is enabled
BTRFS error (device loop0): Remounting read-write after error is not allowed
mount: /mnt not mounted or bad option
root@(none):~# uname -a
Linux (none) 3.12.0-rc5 #1 Sun Oct 13 20:08:45 CDT 2013 i686 GNU/Linux
root@(none):~# btrfs version
Btrfs v0.20-rc1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-10-22 3:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-22 3:22 Seed device + small device = Oops Dan Greene
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).