linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [bug] <subvol> doesn't belong to btrfs mount point
@ 2014-09-12 23:39 Chris Murphy
  2014-09-16  2:08 ` Chris Murphy
  0 siblings, 1 reply; 3+ messages in thread
From: Chris Murphy @ 2014-09-12 23:39 UTC (permalink / raw)
  To: Btrfs BTRFS

Summary: When a btrfs subvolume is mounted with -o subvol, and a nested ro subvol/snapshot is created, btrfs send returns with an error. If the top level (id 5) is mounted instead, the send command succeeds.

3.17.0-0.rc4.git0.1.fc22.i686
Btrfs v3.16

This may also be happening on x86_64, and this bug suggests the problem is commit de22c28ef31d9721606ba05965a093a8044be0de

https://bugzilla.kernel.org/show_bug.cgi?id=83741



[root@lati ~]# strace btrfs send /root/rpms.ro | btrfs receive /mnt/
execve("/usr/sbin/btrfs", ["btrfs", "send", "/root/rpms.ro"], [/* 26 vars */]) = 0
brk(0)                                  = 0x866a000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7767000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=84972, ...}) = 0
mmap2(NULL, 84972, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7752000
close(3)                                = 0
open("/lib/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\17\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=19100, ...}) = 0
mmap2(NULL, 20692, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb774c000
mmap2(0xb7750000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xb7750000
close(3)                                = 0
open("/lib/libblkid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320P\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=271276, ...}) = 0
mmap2(NULL, 271832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7709000
mmap2(0xb7748000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3e000) = 0xb7748000
mmap2(0xb774b000, 1496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb774b000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pF\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=357384, ...}) = 0
mmap2(NULL, 311456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76bc000
mmap2(0xb7707000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4b000) = 0xb7707000
close(3)                                = 0
open("/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\30\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=93444, ...}) = 0
mmap2(NULL, 94464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76a4000
mmap2(0xb76ba000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0xb76ba000
close(3)                                = 0
open("/lib/liblzo2.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@ \0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=145984, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76a3000
mmap2(NULL, 147584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb767e000
mmap2(0xb76a1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0xb76a1000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320O\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=142932, ...}) = 0
mmap2(NULL, 115404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7661000
mprotect(0xb7679000, 4096, PROT_NONE)   = 0
mmap2(0xb767a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xb767a000
mmap2(0xb767c000, 4812, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb767c000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\200\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=2166836, ...}) = 0
mmap2(NULL, 1933020, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7489000
mmap2(0xb765a000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d0000) = 0xb765a000
mmap2(0xb765f000, 7900, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb765f000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7488000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7487000
set_thread_area({entry_number:-1, base_addr:0xb7487800, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 (entry_number:6)
mprotect(0xb765a000, 12288, PROT_READ)  = 0
mprotect(0xb767a000, 4096, PROT_READ)   = 0
mprotect(0xb76a1000, 4096, PROT_READ)   = 0
mprotect(0xb76ba000, 4096, PROT_READ)   = 0
mprotect(0xb7707000, 4096, PROT_READ)   = 0
mprotect(0xb7750000, 4096, PROT_READ)   = 0
mprotect(0xb7748000, 8192, PROT_READ)   = 0
mprotect(0x80c8000, 8192, PROT_READ)    = 0
mprotect(0xb7790000, 4096, PROT_READ)   = 0
munmap(0xb7752000, 84972)               = 0
set_tid_address(0xb7487868)             = 3024
set_robust_list(0xb7487870, 12)         = 0
rt_sigaction(SIGRTMIN, {0xb7665a50, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb7665ad0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="lati.localdomain", ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0xbfdfdef8) = -1 ENOTTY (Inappropriate ioctl for device)
brk(0)                                  = 0x866a000
brk(0x868c000)                          = 0x868c000
brk(0)                                  = 0x868c000
lstat64("/root", {st_mode=S_IFDIR|0550, st_size=172, ...}) = 0
lstat64("/root/rpms.ro", {st_mode=S_IFDIR|0755, st_size=24834, ...}) = 0
open("/root/rpms.ro", O_RDONLY|O_LARGEFILE|O_NOATIME) = 3
close(3)                                = 0
open("/proc/self/mounts", O_RDONLY|O_CLOEXEC) = 3
futex(0xb765f114, FUTEX_WAKE_PRIVATE, 2147483647) = 0
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7766000
read(3, "rootfs / rootfs rw,seclabel 0 0\n"..., 1024) = 1024
read(3, "memory 0 0\ncgroup /sys/fs/cgroup"..., 1024) = 1024
read(3, "s /run/user/42 tmpfs rw,seclabel"..., 1024) = 405
read(3, "", 1024)                       = 0
close(3)                                = 0
munmap(0xb7766000, 4096)                = 0
write(2, "ERROR: /root/rpms.ro doesn't bel"..., 57ERROR: /root/rpms.ro doesn't belong to btrfs mount point
) = 57
close(0)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++


Chris Murphy


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [bug] <subvol> doesn't belong to btrfs mount point
  2014-09-12 23:39 [bug] <subvol> doesn't belong to btrfs mount point Chris Murphy
@ 2014-09-16  2:08 ` Chris Murphy
  2014-09-18  6:26   ` Qu Wenruo
  0 siblings, 1 reply; 3+ messages in thread
From: Chris Murphy @ 2014-09-16  2:08 UTC (permalink / raw)
  To: Btrfs BTRFS


On Sep 12, 2014, at 5:39 PM, Chris Murphy <lists@colorremedies.com> wrote:

> Summary: When a btrfs subvolume is mounted with -o subvol, and a nested ro subvol/snapshot is created, btrfs send returns with an error. If the top level (id 5) is mounted instead, the send command succeeds.

I'm not able to reproduce this, so at the moment I'm going to say it's user error until I can.


Chris Murphy

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [bug] <subvol> doesn't belong to btrfs mount point
  2014-09-16  2:08 ` Chris Murphy
@ 2014-09-18  6:26   ` Qu Wenruo
  0 siblings, 0 replies; 3+ messages in thread
From: Qu Wenruo @ 2014-09-18  6:26 UTC (permalink / raw)
  To: Chris Murphy, Btrfs BTRFS

I am very sorry that my commit caused the problem.

In fact some users have already find the problem and I sent the fix some 
time ago.

The patch is https://patchwork.kernel.org/patch/4842201/

Hopes this helps.

Thanks,
Qu
-------- Original Message --------
Subject: Re: [bug] <subvol> doesn't belong to btrfs mount point
From: Chris Murphy <lists@colorremedies.com>
To: Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Date: 2014年09月16日 10:08
> On Sep 12, 2014, at 5:39 PM, Chris Murphy <lists@colorremedies.com> wrote:
>
>> Summary: When a btrfs subvolume is mounted with -o subvol, and a nested ro subvol/snapshot is created, btrfs send returns with an error. If the top level (id 5) is mounted instead, the send command succeeds.
> I'm not able to reproduce this, so at the moment I'm going to say it's user error until I can.
>
>
> Chris Murphy--
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-09-18  6:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-12 23:39 [bug] <subvol> doesn't belong to btrfs mount point Chris Murphy
2014-09-16  2:08 ` Chris Murphy
2014-09-18  6:26   ` Qu Wenruo

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).