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
parent
704694bd1d
commit
c0f2d88f34
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue