Blob Blame History Raw
From a269075724dda958bb66e19f0d4ec3f5e52d97ba Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Mon, 29 Aug 2016 11:03:35 -0400
Subject: [PATCH] commit: Don't delete tmp/cache dir

We hold a fd open on this, and it's basically now expected
to be immortal.  Confer that status.

This was showing up in flatpak crashers, because we'd get
an unexpected errno.

(I didn't test this fixes the crasher, but it's clearly right)

https://bugzilla.redhat.com/show_bug.cgi?id=1347293

Closes: #476
Approved by: alexlarsson
---
 src/libostree/ostree-repo-commit.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/libostree/ostree-repo-commit.c b/src/libostree/ostree-repo-commit.c
index 9a938dd..8dfe276 100644
--- a/src/libostree/ostree-repo-commit.c
+++ b/src/libostree/ostree-repo-commit.c
@@ -1219,6 +1219,12 @@ cleanup_tmpdir (OstreeRepo        *self,
       if (dent == NULL)
         break;
 
+      /* Special case this; we create it when opening, and don't want
+       * to blow it away.
+       */
+      if (strcmp (dent->d_name, "cache") == 0)
+        continue;
+
       if (TEMP_FAILURE_RETRY (fstatat (dfd_iter.fd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW)) < 0)
         {
           if (errno == ENOENT) /* Did another cleanup win? */
-- 
2.7.4