summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2017-02-27 11:02:16 +0200
committerTimo Teräs <timo.teras@iki.fi>2017-02-27 11:05:01 +0200
commitc0f2d88f342f4d185f3991f98b79ab61a03896e4 (patch)
tree95735071ae451f49d6701cc9421dda7e1bc7a801
parent704694bd1daf6d58ddf831f0c1a895a84fd95c1e (diff)
db: allow caching packages on tmpfs
fixes #5616 The original intention was not use unnecessary space on tmpfs e.g. if the cache directory is a mount point, but accidentally left unmounted. But there are valid cases when packages are intentionally wanted to be cached on tmpfs. If caching is not desired, the user can just remove the cache directory.
-rw-r--r--src/database.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/database.c b/src/database.c
index 7a0bb5d..c505dba 100644
--- a/src/database.c
+++ b/src/database.c
@@ -1593,7 +1593,7 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
/* figure out where to have the cache */
fd = openat(db->root_fd, apk_linked_cache_dir, O_RDONLY | O_CLOEXEC);
- if (fd >= 0 && fstatfs(fd, &stfs) == 0 && stfs.f_type != TMPFS_MAGIC) {
+ if (fd >= 0) {
db->cache_dir = apk_linked_cache_dir;
db->cache_fd = fd;
db->cache_remount_flags = map_statfs_flags(stfs.f_flags);
@@ -1612,8 +1612,6 @@ int apk_db_open(struct apk_database *db, struct apk_db_options *dbopts)
}
}
} else {
- if (fd >= 0)
- close(fd);
db->cache_dir = apk_static_cache_dir;
db->cache_fd = openat(db->root_fd, db->cache_dir, O_RDONLY | O_CLOEXEC);
}