btrfs-tools: fix symlink creation multiple times

The rule to create symlink in Makefile caused parallel issue:
$ make -j 40 DESTDIR=/image install BUILD_VERBOSE=1
...
  1     [LN]     libbtrfs.so.0
  2     [LN]     libbtrfs.so
  3 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0
  4 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0
  5 ln -s -f libbtrfs.so.0.1 libbtrfs.so
  6 ln -s -f libbtrfs.so.0.1 libbtrfs.so
...

It failed occasionally:
...
|symlinkat: couldn't stat 'git/libbtrfs.so' even though symlink
creation succeeded (No such file or directory).
|ln: failed to create symbolic link 'libbtrfs.so': No such file or directory
...

(From OE-Core rev: 9409c7e7202fe96b55f44a133ba68690bb192da2)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Hongxu Jia
2016-02-19 00:54:43 -05:00
committed by Richard Purdie
parent 9af773f1c6
commit 033db243ae
2 changed files with 47 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
From 05ab78e9183575e38f342e05a056cb7bcd1e52e1 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 18 Feb 2016 20:41:28 -0500
Subject: [PATCH] btrfs-progs: fix symlink creation multiple times
The rule to create symlink in Makefile caused parallel issue:
$ make -j 40 DESTDIR=/image install BUILD_VERBOSE=1
...
1 [LN] libbtrfs.so.0
2 [LN] libbtrfs.so
3 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0
4 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0
5 ln -s -f libbtrfs.so.0.1 libbtrfs.so
6 ln -s -f libbtrfs.so.0.1 libbtrfs.so
...
It failed occasionally:
...
|symlinkat: couldn't stat 'git/libbtrfs.so' even though symlink
creation succeeded (No such file or directory).
|ln: failed to create symbolic link 'libbtrfs.so': No such file or directory
...
Upstream-Status: Submitted [linux-btrfs@vger.kernel.org]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
Makefile.in | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 1f4002e..16eeaf9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -236,8 +236,7 @@ $(libs_static): $(libbtrfs_objects)
$(lib_links):
@echo " [LN] $@"
- $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so.0
- $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so
+ $(Q)$(LN_S) -f libbtrfs.so.0.1 $@
# keep intermediate files from the below implicit rules around
.PRECIOUS: $(addsuffix .o,$(progs))
--
1.9.1

View File

@@ -15,6 +15,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl"
SRCREV = "21258fab2caeade405a15ba932d373b364aa6e8c"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://fix-parallel.patch \
file://fix-symlink-creation-multiple-times.patch \
"
inherit autotools-brokensep pkgconfig