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.
cute-signatures
Timo Teräs 2017-02-27 11:02:16 +02:00
parent 704694bd1d
commit c0f2d88f34
1 changed files with 1 additions and 3 deletions

View File

@ -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);
}