All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Greene <dan-greene@wi.rr.com>
To: linux-btrfs@vger.kernel.org
Subject: Seed device + small device = Oops
Date: Mon, 21 Oct 2013 22:22:37 -0500	[thread overview]
Message-ID: <20131022032237.GA19562@debian> (raw)

[-- 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

                 reply	other threads:[~2013-10-22  3:22 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131022032237.GA19562@debian \
    --to=dan-greene@wi.rr.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.