uint64_t tmpfs_bytes_max(struct tmpfs_mount *mp) { size_t freepages = tmpfs_mem_info(0); uint64_t avail_mem; if (freepages < TMPFS_PAGES_RESERVED) { freepages = 0; } else { freepages -= TMPFS_PAGES_RESERVED; } avail_mem = round_page(mp->tm_bytes_used) + (freepages << PAGE_SHIFT); return MIN(mp->tm_mem_limit, avail_mem); }
uint64_t tmpfs_bytes_max(struct tmpfs_mount *mp) { psize_t freepages = tmpfs_mem_info(false); uint64_t avail_mem; if (freepages < uvmexp.freetarg) { freepages = 0; } else { freepages -= uvmexp.freetarg; } avail_mem = round_page(mp->tm_bytes_used) + (freepages << PAGE_SHIFT); return MIN(mp->tm_mem_limit, avail_mem); }