summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2013-11-30 20:55:22 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2013-11-30 20:55:22 +0000
commit4acfbc6591ac8fb6418926e29cf1e30522e9a760 (patch)
tree9f4122f6e6b9013a209510017784b77d70ddd914 /sys-fs
parentPort to KDE_HANDBOOK wrt bug #492862. (diff)
downloadhistorical-4acfbc6591ac8fb6418926e29cf1e30522e9a760.tar.gz
historical-4acfbc6591ac8fb6418926e29cf1e30522e9a760.tar.bz2
historical-4acfbc6591ac8fb6418926e29cf1e30522e9a760.zip
Fix 'btrfs send' on funky subvol paths (bug #492776 by Thomas Scheiblauer).
Package-Manager: portage-2.2.7_p18/cvs/Linux x86_64 Manifest-Sign-Key: 0x611FF3AA
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/btrfs-progs/ChangeLog9
-rw-r--r--sys-fs/btrfs-progs/Manifest12
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-3.12-r1.ebuild58
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-9999.ebuild3
-rw-r--r--sys-fs/btrfs-progs/files/btrfs-progs-3.12-fix-send-subvol-492776.patch111
5 files changed, 186 insertions, 7 deletions
diff --git a/sys-fs/btrfs-progs/ChangeLog b/sys-fs/btrfs-progs/ChangeLog
index 6e4a8de59a0e..0b04b15607c6 100644
--- a/sys-fs/btrfs-progs/ChangeLog
+++ b/sys-fs/btrfs-progs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/btrfs-progs
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/btrfs-progs/ChangeLog,v 1.68 2013/11/30 08:40:40 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/btrfs-progs/ChangeLog,v 1.69 2013/11/30 20:55:15 slyfox Exp $
+
+*btrfs-progs-3.12-r1 (30 Nov 2013)
+
+ 30 Nov 2013; Sergei Trofimovich <slyfox@gentoo.org>
+ +btrfs-progs-3.12-r1.ebuild,
+ +files/btrfs-progs-3.12-fix-send-subvol-492776.patch, btrfs-progs-9999.ebuild:
+ Fix 'btrfs send' on funky subvol paths (bug #492776 by Thomas Scheiblauer).
30 Nov 2013; Sergei Trofimovich <slyfox@gentoo.org> btrfs-progs-3.12.ebuild,
btrfs-progs-9999.ebuild:
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index cc3b2b03f08c..b13ad329dc8b 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -4,6 +4,7 @@ Hash: SHA256
AUX btrfs-progs-0.19-convert-remove-used-space-update.patch 1005 SHA256 75759924f7d766705c5ea97d4cc2d70962b4c49e7f274465c3c2e9021d481f38 SHA512 ff51a89dfed6149d6e5938a661cd4a4f344706480195b219672ec950a8a1aaad7cdf416163191cccf84944d5b06bfc98d7e784d2ad659daebd3fd4b387174856 WHIRLPOOL e5c683640f5e0ed950fc69b6e8693e93826f1f5e011402d39272ba835f084194f3e5d5abfee2d0ed4b1aee9ad3d927113b01c813363b673c5b22fc5108b8ed92
AUX btrfs-progs-0.19-fix-underlinking.patch 579 SHA256 d79d53eb798c7f504a895e7bf461f801c86937df11d824eefe1ff8721ad88bf4 SHA512 8d6604d195f4757171a4ce5cf017b893a92fff4b90553bf24765278ccefc50bcc1fe9de410562b4451cd4ed9359cb6427c4a80087db2ac37aa1d195371675db2 WHIRLPOOL be41966ed844c05109aeea1e44871191153593343b57408c930ca5ffee1636b41d79669e6901dccdce57653875db7438f8e72c92a6361a21d893403b480091cd
AUX btrfs-progs-0.19-glibc212.patch 535 SHA256 c9a1479df01ba8b74b97ecf723d7f2a5e7c347dc0c92ae6676b9d1dc311a6bd1 SHA512 16f2a7e6fd813f4163c954860e47394d8123dd603c379ea4e2efc0a2dea17be925cf8d95c87306bb96395d09572156520cb0ae5af1d465f63752b58f09bce6db WHIRLPOOL f379a59e5e89cbb9dbed090893da939e2a52d4ddc9a9c9df36dfa90e388aa64e19a99c40e6e155a1ec54da50cecfc5233feb3c8bd2effab6621f317751b80fc5
+AUX btrfs-progs-3.12-fix-send-subvol-492776.patch 3099 SHA256 7a149637da9a35c31089cc69e4ad5d3f4beae9fe8f8d44d7a55b75394a6ad27f SHA512 e5d32a084ef706911464cb49c35928ce4a9f3ebaa580502c73dcfb74fa2e0f022bcc05e3fb6e26aa953fff78d792594b044cff342a42fa56a774033e6d59d961 WHIRLPOOL 1026b33cc0f45ae4a8795a81bc54aad48b9550efbde01425d445ae9fbfbddbeff5449cb431581eb9235a0201534198591d244e96c807896adfae3fbfe1624814
DIST btrfs-progs-0.19-redhat.patch.bz2 21699 SHA256 36e581ce32aad7119195a0f5c47d3007d38b3520b92ba3c825baf22f35f17723 SHA512 a3a9809548b61fcd25336789952d83d53a9ad1d221447907b85acd43a68518e3a746de3469bb917f51a49024b99bec1b9e1a46014b460ed8000b3919e3d444a1 WHIRLPOOL 3c33b0a2283cf55d3399609ebeb407567cb3daa60fcf01476b5acd22dd9fb1af7fa228a66d9ef24086543c9383a107811846c741feff503169561de6ef2b06d2
DIST btrfs-progs-0.19.11.tar.bz2 171425 SHA256 b4b510c4106a5b6159f2e51ac685ca700d53693140137e45f67e3767db18b662 SHA512 3704f240f7128bff8c5fc1ce7fd44b4eb985c1cddd7139fa96da0536849bdbbe9b08bbd928c3a20e91c5a0ccd07f60020f6dacb91a6887c2fc73de668477fa99 WHIRLPOOL 7fa6e7fb5566a17bb147ec847f6c1a3a55814a5676b1bf413f9b310de503c5cfef62b3e4b86a4ce28f7ae905416fad44fa802fc75c6cecd51265a9f69cc6175a
DIST btrfs-progs-0.19.tar.bz2 118119 SHA256 f8a3dd03e87a33506d16ccc1e5a77c4c38ff1fa84b9502ed4b88c0b39fab70fc SHA512 f0978432b524f307302d80e3a904684c21b6549f0b444f51a17f1d6f0a3dfebfc39ef185c3431a007fb354218aa7027e665ca6a3c58267bb8d0905ae34dc7b80 WHIRLPOOL c11134671eab375b51b190bba9583d7b064486563bdb4a19bd16d27ce7e1812a2b3ab4efc3cce0ce19a60b0d50d96f3110c39ce770cd9535bd839378b68e0be2
@@ -16,14 +17,15 @@ EBUILD btrfs-progs-0.19.11.ebuild 1687 SHA256 93e3661de2904fbc30d6a553b9bf580670
EBUILD btrfs-progs-0.20_rc1.ebuild 1572 SHA256 72aac33b871a604d5f668d2fabcc4e546535410e678d273c8f1ae1864c588bd0 SHA512 b24cb1f56c64fd6bd670ab513be418f8fb59e0d66b9ca74a1f952451a955ac2c83bcb625c12b892eab2b1ea517edd01a24f78c5fa95ea73f9118c052e050f0a8 WHIRLPOOL 2662118584242bc0a39587951946752447fe8f535fd33aa581bd894450a110e7b700009cf6e13360ec1611798845f722a7ab3d75126c274a4e87ecf6c9b94707
EBUILD btrfs-progs-0.20_rc1_p358.ebuild 1079 SHA256 d81f3a95ee67b4466f8e5a342484862a0c22a1d5e99fa95a0577368b5fc79e60 SHA512 94e1171073faf3a041413a38696d1c21344a59e3af7d453d56a70a919f3bdc60a625fd5a78532121ad4a03efc0d6bd9f43df300c6dbc918660c72bda3ae26dde WHIRLPOOL 71a9f7500192b9640d5a58b6bda1c21a729a5c10b605c55c2f602845cd0e1a86fd3ba8cffc79f65ff29b2ea970f1cca8247455ede92ea9d654a71b52af80ef0d
EBUILD btrfs-progs-0.20_rc1_p56.ebuild 1039 SHA256 494a3ed6440764f689beceaf5dee28fb071aec2a5f00e104a766aef427a40d8c SHA512 b4f9cda9e4e5cbedfeec3001d95c6356b964de7c3c530ab860104aa855093a59a497a5c69d2056eeb4e75f66b97c02de3f2cadd43205d9b4040a388dfa908282 WHIRLPOOL 157d1b2be6d8b8840117a028570a2e58c66f0ebab56ba465c1edb3109cde4b48ab5a07b9ca4f739b9cf732e26ef76db088e989f62ebafaa54c8e0e5e7aa5e867
+EBUILD btrfs-progs-3.12-r1.ebuild 1304 SHA256 3b3be0c8e38de85f68c8d40495f6540257d2e89452de24270f937aebd7651886 SHA512 f26377fa5e8127135cd8f9104375d5d24e64cb95b6f944729e6da6c9be02b5d344fc733d5c55e021f9231a46dc41acdb579fe0a743d05aec8eb5c7d5953adf53 WHIRLPOOL 4e1b90490f3bb473d20f60d1a685d069491a02d0c4f3397d4a8a9d305bb653a171490321173602cbeeb567a4760b1b8ffe7ce734250ddf6a88c3f8b82b9edc7b
EBUILD btrfs-progs-3.12.ebuild 1245 SHA256 8f801a7d5de7b9fffc6f312618a5beeec25d4475d3671faf0a288f757bc22086 SHA512 44ea5d9cd347badfddcbc06298634338c0a492a15083e2b36320de905f38a1c912fd30c37878ff3e3b8753f822a15f2b61b008e5759ca4e5b97cc1935146e978 WHIRLPOOL 7a441dba6b985cd41202256f2fd07d16952244c451bc381fa69a0ab117f3c6587685af755d1ae4958f627715ce5075b736d391631e6b17fc5a055401ab0f7502
-EBUILD btrfs-progs-9999.ebuild 1246 SHA256 90b35e6cb5a8edb6e67488ed99ca46f6f9f23fa2237b50317010aeafb8d9ef47 SHA512 96b1b004c20b0ad3e9e2a49d80ad9140e1b26b7f84e2657d89b38b547a7148c715618919d4706f1884edb87d6beacb24fec6fee6d18f2a0abf48ed2ade7cc678 WHIRLPOOL df409c0c01e0214431770552b720c2c67030555383ecec136cb442182809d3f36b673aad0c3265f72674ce0b01aa7021af3a7f9daf29f1b07291e2e5bf1c1a30
-MISC ChangeLog 10398 SHA256 2d7ebd3d9f40d2e545d1e0ca46f0d6b4d77df581e885575f523a3a5308e3dead SHA512 a2316960db47a695ad24890876b4a97691a67e995713c2443627e40e9c67cce5bc1c670fdf8b0c4883f0d38867bf3942d45a5a51b3957d660f0f171c578984fd WHIRLPOOL 987bb2d2449892eec334993585b33c7d9ca1a932e5c6e63ded6d14aa8222b7cfaed2ceaf7ed24a8da23ad9f5d3370b2b4d1792c5a39d22b3acbfc26fc04be8d3
+EBUILD btrfs-progs-9999.ebuild 1308 SHA256 4f6240f3ed09140fd31ebb57bab8d237099cbc13733aafc25ebbcc9391298d47 SHA512 8da91e8cdf28d5316974cef872cdb538c44d3cafefd646cfdc09caf9a2467ff7570cc6aa02bfa0edf917703e8ec836d95a61264b3a43a3e2018a501a5cc258e3 WHIRLPOOL 58ae395728220c26d9c404717e8fbf5690407a7f5b5540227a22d289993511be89d2607b79256452765da47dc3f5126353f78d83b4d58ccc0cc656fbe95fc87b
+MISC ChangeLog 10679 SHA256 212a4f68c91297b5cd0599a015d971659f2024d51b35c432c4461017fe4a8058 SHA512 9d1aeaadbb841ee5d458e04f95174f9162bc71b5a643e335d8c20989ccd00944e0f6b7274b1898b0c8cfd0f60029dc349604dc0fa9ecf36aa940a1a2e6801ef2 WHIRLPOOL 9b8870af23279fa26dd2f3612ec65dd5a49a8816b28d2668f8950dc41325d4fe8c996a4ca7e0dc0493a9ae0bca6fda68a0ffeb51424f069abfce32c1767569aa
MISC metadata.xml 432 SHA256 45049c27e84490ae5258d3beaa9c6defe80360aa7f03733da492fd38d026a5e0 SHA512 1dda7aa3a62062d6b42579efff9468c08fcca001b28e180c8257291332ac1874f749a19a4053daec072d7b878c13873557f05d82ad42428f105556c4cd304460 WHIRLPOOL 970b4a981f1afbe87ad4240fc2dd5ebfc4bb134a2e3c188519ecb6a87d230b196a902381de3e6346855e68c6e92f883c4d6b4aa01bcdb090e2de8f230e1cecff
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
-iEYEAREIAAYFAlKZo18ACgkQcaHudmEf86oXAwCfa4A92vHB/StiYqcTKfN/OBwO
-Dp0AnixE3ycnhBJY1p+apqtxe+0tkltW
-=qG04
+iEYEAREIAAYFAlKaT4kACgkQcaHudmEf86oOnACfU/ZNsOPOdcqrijQ4coFnZzpo
+nzwAniUfIJDI3CfWnu8praAzrmVFWG6/
+=pDzu
-----END PGP SIGNATURE-----
diff --git a/sys-fs/btrfs-progs/btrfs-progs-3.12-r1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-3.12-r1.ebuild
new file mode 100644
index 000000000000..2c2a9072aa3d
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-3.12-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/btrfs-progs/btrfs-progs-3.12-r1.ebuild,v 1.1 2013/11/30 20:55:15 slyfox Exp $
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs
+
+libbtrfs_soname=0
+
+if [[ ${PV} != 9999 ]]; then
+ MY_PV=v${PV}
+ KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+ SRC_URI="https://www.kernel.org/pub/linux/kernel/people/mason/${PN}/${PN}-${MY_PV}.tar.xz"
+ S="${WORKDIR}"/${PN}-${MY_PV}
+else
+ inherit git-2
+ EGIT_REPO_URI="git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
+ https://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git"
+fi
+
+DESCRIPTION="Btrfs filesystem utilities"
+HOMEPAGE="https://btrfs.wiki.kernel.org"
+
+LICENSE="GPL-2"
+SLOT="0/${libbtrfs_soname}"
+IUSE=""
+
+DEPEND="
+ dev-libs/lzo
+ sys-libs/zlib
+ sys-apps/acl
+ sys-fs/e2fsprogs
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-fix-send-subvol-492776.patch
+ epatch_user
+}
+
+src_compile() {
+ emake \
+ AR="$(tc-getAR)" \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ BUILD_VERBOSE=1
+}
+
+src_install() {
+ emake install \
+ DESTDIR="${D}" \
+ prefix=/usr \
+ bindir=/sbin \
+ libdir=/usr/$(get_libdir) \
+ mandir=/usr/share/man
+}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
index 1c898b835cfe..9b6c844193d9 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild,v 1.30 2013/11/30 08:40:40 slyfox Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild,v 1.31 2013/11/30 20:55:15 slyfox Exp $
EAPI=5
@@ -35,6 +35,7 @@ DEPEND="
RDEPEND="${DEPEND}"
src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.12-fix-send-subvol-492776.patch
epatch_user
}
diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-3.12-fix-send-subvol-492776.patch b/sys-fs/btrfs-progs/files/btrfs-progs-3.12-fix-send-subvol-492776.patch
new file mode 100644
index 000000000000..8a2cc7883a14
--- /dev/null
+++ b/sys-fs/btrfs-progs/files/btrfs-progs-3.12-fix-send-subvol-492776.patch
@@ -0,0 +1,111 @@
+Gentoo-bug: http://bugs.gentoo.org/492776
+
+From: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
+
+Steps to reproduce:
+ # mkfs.btrfs -f /dev/sda
+ # mount /dev/sda /mnt
+ # btrfs subvolume create /mnt/foo
+ # umount /mnt
+ # mount -o subvol=foo /dev/sda /mnt
+ # btrfs sub snapshot -r /mnt /mnt/snap
+ # btrfs send /mnt/snap > /dev/null
+
+We will fail to send '/mnt/snap',this is because btrfs send try to
+open '/mnt/snap' by btrfs internal subvolume path 'foo/snap' rather
+than relative path based on mounted point, this will return us 'no
+such file or directory',this is not right, fix it.
+
+Reported-by: Thomas Scheiblauer <tom@sharkbay.at>
+Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
+---
+v1->v2:
+ code cleanups(thanks to Stefan)
+---
+ cmds-send.c | 34 ++++++----------------------------
+ 1 file changed, 6 insertions(+), 28 deletions(-)
+
+diff --git a/cmds-send.c b/cmds-send.c
+index 53e9a53..6fdfd7f 100644
+--- a/cmds-send.c
++++ b/cmds-send.c
+@@ -282,31 +282,21 @@ out:
+ return ERR_PTR(ret);
+ }
+
+-static int do_send(struct btrfs_send *send, u64 root_id, u64 parent_root_id,
+- int is_first_subvol, int is_last_subvol)
++static int do_send(struct btrfs_send *send, u64 parent_root_id,
++ int is_first_subvol, int is_last_subvol, char *subvol)
+ {
+ int ret;
+ pthread_t t_read;
+ pthread_attr_t t_attr;
+ struct btrfs_ioctl_send_args io_send;
+- struct subvol_info *si;
+ void *t_err = NULL;
+ int subvol_fd = -1;
+ int pipefd[2] = {-1, -1};
+
+- si = subvol_uuid_search(&send->sus, root_id, NULL, 0, NULL,
+- subvol_search_by_root_id);
+- if (!si) {
+- ret = -ENOENT;
+- fprintf(stderr, "ERROR: could not find subvol info for %llu",
+- root_id);
+- goto out;
+- }
+-
+- subvol_fd = openat(send->mnt_fd, si->path, O_RDONLY | O_NOATIME);
++ subvol_fd = openat(send->mnt_fd, subvol, O_RDONLY | O_NOATIME);
+ if (subvol_fd < 0) {
+ ret = -errno;
+- fprintf(stderr, "ERROR: open %s failed. %s\n", si->path,
++ fprintf(stderr, "ERROR: open %s failed. %s\n", subvol,
+ strerror(-ret));
+ goto out;
+ }
+@@ -385,10 +375,6 @@ out:
+ close(pipefd[0]);
+ if (pipefd[1] != -1)
+ close(pipefd[1]);
+- if (si) {
+- free(si->path);
+- free(si);
+- }
+ return ret;
+ }
+
+@@ -664,14 +650,6 @@ int cmd_send(int argc, char **argv)
+ goto out;
+ }
+
+- ret = get_root_id(&send, get_subvol_name(send.root_path, subvol),
+- &root_id);
+- if (ret < 0) {
+- fprintf(stderr, "ERROR: could not resolve root_id "
+- "for %s\n", subvol);
+- goto out;
+- }
+-
+ if (!full_send && !parent_root_id) {
+ ret = find_good_parent(&send, root_id, &parent_root_id);
+ if (ret < 0) {
+@@ -700,8 +678,8 @@ int cmd_send(int argc, char **argv)
+ is_first_subvol = 1;
+ is_last_subvol = 1;
+ }
+- ret = do_send(&send, root_id, parent_root_id,
+- is_first_subvol, is_last_subvol);
++ ret = do_send(&send, parent_root_id, is_first_subvol,
++ is_last_subvol, subvol);
+ if (ret < 0)
+ goto out;
+
+--
+1.8.4
+
+--
+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