Page MenuHomeFreeBSD

D61217.1794679771.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D61217.1794679771.diff

diff --git a/sys/compat/linuxkpi/common/include/linux/page-flags.h b/sys/compat/linuxkpi/common/include/linux/page-flags.h
--- a/sys/compat/linuxkpi/common/include/linux/page-flags.h
+++ b/sys/compat/linuxkpi/common/include/linux/page-flags.h
@@ -38,4 +38,12 @@
const struct page *: (const struct folio *)(p), \
struct page *: (struct folio *)(p)))
+static inline struct page *
+folio_page(struct folio *folio, int n)
+{
+ KASSERT(n == 0, ("%s: n = %d but only n = 0 supported\n", __func__, n));
+
+ return (&folio->page);
+}
+
#endif /* _LINUXKPI_LINUX_PAGEFLAGS_H_ */
diff --git a/sys/compat/linuxkpi/common/include/linux/pagemap.h b/sys/compat/linuxkpi/common/include/linux/pagemap.h
--- a/sys/compat/linuxkpi/common/include/linux/pagemap.h
+++ b/sys/compat/linuxkpi/common/include/linux/pagemap.h
@@ -35,12 +35,36 @@
struct folio_batch;
+static inline struct page *
+folio_file_page(struct folio *folio, pgoff_t index)
+{
+ return (folio_page(folio, index & (folio_nr_pages(folio) - 1)));
+}
+
#define invalidate_mapping_pages(...) \
linux_invalidate_mapping_pages(__VA_ARGS__)
unsigned long linux_invalidate_mapping_pages(vm_object_t obj, pgoff_t start,
pgoff_t end);
+/* Shmem page allocation may sleep and ignores the other flags. */
+static inline gfp_t
+mapping_gfp_mask(vm_object_t mapping)
+{
+ return (GFP_KERNEL);
+}
+
+static inline gfp_t
+mapping_gfp_constraint(vm_object_t mapping, gfp_t gfp_mask)
+{
+ return (mapping_gfp_mask(mapping) & gfp_mask);
+}
+
+static inline void
+mapping_set_unevictable(vm_object_t mapping)
+{
+}
+
static inline void
mapping_clear_unevictable(vm_object_t mapping)
{

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 14, 6:09 PM (11 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41713374
Default Alt Text
D61217.1794679771.diff (1 KB)

Event Timeline