diff mbox

btrfs-progs: fix symlink creation multiple times

Message ID 1455848074-47741-1-git-send-email-hongxu.jia@windriver.com (mailing list archive)
State Accepted
Headers show

Commit Message

Hongxu Jia Feb. 19, 2016, 2:14 a.m. UTC
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
...

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 Makefile.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

David Sterba Feb. 23, 2016, 6:13 p.m. UTC | #1
On Thu, Feb 18, 2016 at 09:14:34PM -0500, Hongxu Jia wrote:
> 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
> ...
> 
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>

Applied, thanks.
--
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
diff mbox

Patch

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