[v2,1/3] depmod: prevent module dependency files missing during depmod invocation.
diff mbox series

Message ID f5e0db0362047877b07b69ee4bbf8021338eeebc.1544476531.git.msuchanek@suse.de
State New
Headers show
Series
  • Fix dependency file corruption with parallel depmod invocation
Related show

Commit Message

Michal Suchanek Dec. 10, 2018, 9:29 p.m. UTC
Depmod deletes the module dependency files before moving the temporary
files in their place. This results in user seeing no dependency files
while they are updated. Remove the unlink call. The rename call should
suffice to move the new file in place and unlink the old one. It should
also do both atomically so there is no window when no dependency file
exists.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
 tools/depmod.c | 1 -
 1 file changed, 1 deletion(-)

Patch
diff mbox series

diff --git a/tools/depmod.c b/tools/depmod.c
index 989d9077926c..18c0d61b2db3 100644
--- a/tools/depmod.c
+++ b/tools/depmod.c
@@ -2451,7 +2451,6 @@  static int depmod_output(struct depmod *depmod, FILE *out)
 			break;
 		}
 
-		unlinkat(dfd, itr->name, 0);
 		if (renameat(dfd, tmp, dfd, itr->name) != 0) {
 			err = -errno;
 			CRIT("renameat(%s, %s, %s, %s): %m\n",