From 9d45bfb312778bfe0f3b02fc6d2bb6f87747d7a8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ozan=20=C3=87a=C4=9Flayan?= Date: Mon, 2 Jul 2012 17:22:11 +0300 Subject: [PATCH] compat: Backport shmem_read_mapping_page() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This backports: commit d9d90e5eb70e09903dadff42099b6c948f814050 Author: Hugh Dickins Date: Mon Jun 27 16:18:04 2011 -0700 tmpfs: add shmem_read_mapping_page_gfp shmem_read_mapping_page() is a wrapper around shmem_read_mapping_page_gfp(). Trying kernel 3.4.0-030400-generic [OK] Trying kernel 3.3.7-030307-generic [OK] Trying kernel 3.2.2-030202-generic [OK] Trying kernel 3.1.10-030110-generic [OK] Trying kernel 3.0.18-030018-generic [OK] Trying kernel 2.6.39-02063904-generic [OK] Trying kernel 2.6.38-02063808-generic [OK] Trying kernel 2.6.37-02063706-generic [OK] Trying kernel 2.6.36-02063604-generic [OK] Trying kernel 2.6.35-02063512-generic [OK] Trying kernel 2.6.34-02063410-generic [OK] Trying kernel 2.6.33-02063305-generic [OK] Trying kernel 2.6.32-02063255-generic [OK] Trying kernel 2.6.31-02063113-generic [OK] Trying kernel 2.6.30-02063010-generic [OK] Trying kernel 2.6.29-02062906-generic [OK] Trying kernel 2.6.28-02062810-generic [OK] Trying kernel 2.6.27-020627-generic [OK] Trying kernel 2.6.26-020626-generic [OK] Trying kernel 2.6.25-020625-generic [OK] Trying kernel 2.6.24-020624-generic [OK] Signed-off-by: Ozan Çağlayan Signed-off-by: Luis R. Rodriguez --- compat/compat-3.0.c | 23 +++++++++++++++++++++++ include/linux/compat-3.0.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/compat/compat-3.0.c b/compat/compat-3.0.c index 1da45ac12b9a..e84137301d4f 100644 --- a/compat/compat-3.0.c +++ b/compat/compat-3.0.c @@ -12,6 +12,29 @@ #include #include +/* This pulls-in a lot of non-exported symbol backports + * on kernels older than 2.6.32. There's no harm for not + * making this available on kernels < 2.6.32. */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) +#include + +/* This backports: + * + * commit d9d90e5eb70e09903dadff42099b6c948f814050 + * Author: Hugh Dickins + * Date: Mon Jun 27 16:18:04 2011 -0700 + * + * tmpfs: add shmem_read_mapping_page_gfp + */ + +struct page *shmem_read_mapping_page_gfp(struct address_space *mapping, + pgoff_t index, gfp_t gfp) +{ + return read_cache_page_gfp(mapping, index, gfp); +} +EXPORT_SYMBOL_GPL(shmem_read_mapping_page_gfp); +#endif + int mac_pton(const char *s, u8 *mac) { int i; diff --git a/include/linux/compat-3.0.h b/include/linux/compat-3.0.h index 22ab5399ad12..ba25846a6fd7 100644 --- a/include/linux/compat-3.0.h +++ b/include/linux/compat-3.0.h @@ -7,6 +7,35 @@ #include +/* This pulls-in a lot of non-exported symbol backports + * on kernels older than 2.6.32. There's no harm for not + * making this available on kernels < 2.6.32. */ +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) +#include + +/* This backports the 2nd part of: + * + * commit d9d90e5eb70e09903dadff42099b6c948f814050 + * Author: Hugh Dickins + * Date: Mon Jun 27 16:18:04 2011 -0700 + * + * tmpfs: add shmem_read_mapping_page_gfp + * + * First part is in compat-3.0.c. + */ +extern struct page *shmem_read_mapping_page_gfp(struct address_space *mapping, + pgoff_t index, gfp_t gfp); + + +static inline struct page *shmem_read_mapping_page( + struct address_space *mapping, pgoff_t index) +{ + return shmem_read_mapping_page_gfp(mapping, index, + mapping_gfp_mask(mapping)); +} +#endif + + /* * since commit 1c5cae815d19ffe02bdfda1260949ef2b1806171 * "net: call dev_alloc_name from register_netdevice" dev_alloc_name is -- 2.30.2