Blame SOURCES/0046-fs-ntfs3-Add-missing-headers-and-forward-declaration.patch

Kmods SIG d83023
From f239b3a95dd4f7daba26ea17f339a5b19a7d40a1 Mon Sep 17 00:00:00 2001
Kmods SIG d83023
From: Kari Argillander <kari.argillander@gmail.com>
Kmods SIG d83023
Date: Thu, 2 Sep 2021 19:15:23 +0300
Kmods SIG d83023
Subject: [Backport f239b3a95dd4] src: Add missing headers and forward
Kmods SIG d83023
 declarations to ntfs_fs.h
Kmods SIG d83023
Kmods SIG d83023
We do not have headers at all in this file. We should have them so that
Kmods SIG d83023
not every .c file needs to include all of the stuff which this file need
Kmods SIG d83023
for building. This way we can remove some headers from other files and
Kmods SIG d83023
get better picture what is needed. This can save some compilation time.
Kmods SIG d83023
And this can help if we sometimes want to separate this one big header.
Kmods SIG d83023
Kmods SIG d83023
Also use forward declarations for structs and enums when it not included
Kmods SIG d83023
straight with include and it is used in function declarations input.
Kmods SIG d83023
This will prevent possible compiler warning:
Kmods SIG d83023
  xxx declared inside parameter list will not be visible
Kmods SIG d83023
  outside of this definition or declaration
Kmods SIG d83023
Kmods SIG d83023
Here is list which I made when parsing this. There is not necessarily
Kmods SIG d83023
all example from this header file, but this just proofs we need it.
Kmods SIG d83023
Kmods SIG d83023
<linux/blkdev.h> SECTOR_SHIFT
Kmods SIG d83023
<linux/buffer_head.h> sb_bread(), put_bh
Kmods SIG d83023
<linux/cleancache.h> put_page()
Kmods SIG d83023
<linux/fs.h> struct inode (Just struct ntfs_inode need it)
Kmods SIG d83023
<linux/highmem.h> kunmap(), kmap()
Kmods SIG d83023
<linux/kernel.h> cpu_to_leXX() ALIGN
Kmods SIG d83023
<linux/mm.h> kvfree()
Kmods SIG d83023
<linux/mutex.h> struct mutex, mutex_(un/try)lock()
Kmods SIG d83023
<linux/page-flags.h> PageError()
Kmods SIG d83023
<linux/pagemap.h> read_mapping_page()
Kmods SIG d83023
<linux/rbtree.h> struct rb_root
Kmods SIG d83023
<linux/rwsem.h> struct rw_semaphore
Kmods SIG d83023
<linux/slab.h> krfree(), kzalloc()
Kmods SIG d83023
<linux/string.h> memset()
Kmods SIG d83023
<linux/time64.h> struct timespec64
Kmods SIG d83023
<linux/types.h> uXX, __leXX
Kmods SIG d83023
<linux/uidgid.h> kuid_t, kgid_t
Kmods SIG d83023
<asm/div64.h> do_div()
Kmods SIG d83023
<asm/page.h> PAGE_SIZE
Kmods SIG d83023
Kmods SIG d83023
"debug.h" ntfs_err() (Just one entry. Maybe we can drop this)
Kmods SIG d83023
"ntfs.h" Do you even ask?
Kmods SIG d83023
Kmods SIG d83023
Signed-off-by: Kari Argillander <kari.argillander@gmail.com>
Kmods SIG d83023
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Kmods SIG d83023
---
Kmods SIG d83023
 src/ntfs_fs.h | 31 +++++++++++++++++++++++++++++++
Kmods SIG d83023
 1 file changed, 31 insertions(+)
Kmods SIG d83023
Kmods SIG d83023
diff --git a/src/ntfs_fs.h b/src/ntfs_fs.h
Kmods SIG d83023
index 372cda697dd4c587a82ed6381a1dd512b700d5c1..dae6dd4ac6198fe735749b8e1405e110da4ddd62 100644
Kmods SIG d83023
--- a/src/ntfs_fs.h
Kmods SIG d83023
+++ b/src/ntfs_fs.h
Kmods SIG d83023
@@ -9,6 +9,37 @@
Kmods SIG d83023
 #ifndef _LINUX_NTFS3_NTFS_FS_H
Kmods SIG d83023
 #define _LINUX_NTFS3_NTFS_FS_H
Kmods SIG d83023
 
Kmods SIG d83023
+#include <linux/blkdev.h>
Kmods SIG d83023
+#include <linux/buffer_head.h>
Kmods SIG d83023
+#include <linux/cleancache.h>
Kmods SIG d83023
+#include <linux/fs.h>
Kmods SIG d83023
+#include <linux/highmem.h>
Kmods SIG d83023
+#include <linux/kernel.h>
Kmods SIG d83023
+#include <linux/mm.h>
Kmods SIG d83023
+#include <linux/mutex.h>
Kmods SIG d83023
+#include <linux/page-flags.h>
Kmods SIG d83023
+#include <linux/pagemap.h>
Kmods SIG d83023
+#include <linux/rbtree.h>
Kmods SIG d83023
+#include <linux/rwsem.h>
Kmods SIG d83023
+#include <linux/slab.h>
Kmods SIG d83023
+#include <linux/string.h>
Kmods SIG d83023
+#include <linux/time64.h>
Kmods SIG d83023
+#include <linux/types.h>
Kmods SIG d83023
+#include <linux/uidgid.h>
Kmods SIG d83023
+#include <asm/div64.h>
Kmods SIG d83023
+#include <asm/page.h>
Kmods SIG d83023
+
Kmods SIG d83023
+#include "debug.h"
Kmods SIG d83023
+#include "ntfs.h"
Kmods SIG d83023
+
Kmods SIG d83023
+struct dentry;
Kmods SIG d83023
+struct fiemap_extent_info;
Kmods SIG d83023
+struct user_namespace;
Kmods SIG d83023
+struct page;
Kmods SIG d83023
+struct writeback_control;
Kmods SIG d83023
+enum utf16_endian;
Kmods SIG d83023
+
Kmods SIG d83023
+
Kmods SIG d83023
 #define MINUS_ONE_T			((size_t)(-1))
Kmods SIG d83023
 /* Biggest MFT / smallest cluster */
Kmods SIG d83023
 #define MAXIMUM_BYTES_PER_MFT		4096
Kmods SIG d83023
-- 
Kmods SIG d83023
2.31.1
Kmods SIG d83023