Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 1 | From 05ab78e9183575e38f342e05a056cb7bcd1e52e1 Mon Sep 17 00:00:00 2001 |
| 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
| 3 | Date: Thu, 18 Feb 2016 20:41:28 -0500 |
| 4 | Subject: [PATCH] btrfs-progs: fix symlink creation multiple times |
| 5 | |
| 6 | The rule to create symlink in Makefile caused parallel issue: |
| 7 | $ make -j 40 DESTDIR=/image install BUILD_VERBOSE=1 |
| 8 | ... |
| 9 | 1 [LN] libbtrfs.so.0 |
| 10 | 2 [LN] libbtrfs.so |
| 11 | 3 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0 |
| 12 | 4 ln -s -f libbtrfs.so.0.1 libbtrfs.so.0 |
| 13 | 5 ln -s -f libbtrfs.so.0.1 libbtrfs.so |
| 14 | 6 ln -s -f libbtrfs.so.0.1 libbtrfs.so |
| 15 | ... |
| 16 | |
| 17 | It failed occasionally: |
| 18 | ... |
| 19 | |symlinkat: couldn't stat 'git/libbtrfs.so' even though symlink |
| 20 | creation succeeded (No such file or directory). |
| 21 | |ln: failed to create symbolic link 'libbtrfs.so': No such file or directory |
| 22 | ... |
| 23 | |
| 24 | Upstream-Status: Submitted [linux-btrfs@vger.kernel.org] |
| 25 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
| 26 | --- |
| 27 | Makefile.in | 3 +-- |
| 28 | 1 file changed, 1 insertion(+), 2 deletions(-) |
| 29 | |
| 30 | diff --git a/Makefile.in b/Makefile.in |
| 31 | index 1f4002e..16eeaf9 100644 |
| 32 | --- a/Makefile.in |
| 33 | +++ b/Makefile.in |
| 34 | @@ -236,8 +236,7 @@ $(libs_static): $(libbtrfs_objects) |
| 35 | |
| 36 | $(lib_links): |
| 37 | @echo " [LN] $@" |
| 38 | - $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so.0 |
| 39 | - $(Q)$(LN_S) -f libbtrfs.so.0.1 libbtrfs.so |
| 40 | + $(Q)$(LN_S) -f libbtrfs.so.0.1 $@ |
| 41 | |
| 42 | # keep intermediate files from the below implicit rules around |
| 43 | .PRECIOUS: $(addsuffix .o,$(progs)) |
| 44 | -- |
| 45 | 1.9.1 |
| 46 | |