diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2019-06-04 14:49:30 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-06-26 20:14:13 -0400 |
commit | 1dfdfc94730bde781c87b25fd606f6dfaffe9097 (patch) | |
tree | d9bea48d5933b429b1ded67b9fc3f099d4c6c7ed /fs | |
parent | 3ae762a09cd72a08ef620c80fbb263693c3fb204 (diff) |
fs/adfs: add helper to get discrecord from map
Add a helper to get the disc record from the map, rather than open
coding this in adfs_fill_super().
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/adfs/adfs.h | 10 | ||||
-rw-r--r-- | fs/adfs/dir_f.c | 1 | ||||
-rw-r--r-- | fs/adfs/dir_fplus.c | 1 | ||||
-rw-r--r-- | fs/adfs/map.c | 1 | ||||
-rw-r--r-- | fs/adfs/super.c | 3 |
5 files changed, 9 insertions, 7 deletions
diff --git a/fs/adfs/adfs.h b/fs/adfs/adfs.h index 804c6a77c5db..5a72a0ea03bd 100644 --- a/fs/adfs/adfs.h +++ b/fs/adfs/adfs.h @@ -1,4 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0 */ +#include <linux/buffer_head.h> #include <linux/fs.h> #include <linux/adfs_fs.h> @@ -18,8 +19,6 @@ #include "dir_f.h" -struct buffer_head; - /* * adfs file system inode data in memory */ @@ -195,3 +194,10 @@ __adfs_block_map(struct super_block *sb, unsigned int object_id, return adfs_map_lookup(sb, object_id >> 8, block); } + +/* Return the disc record from the map */ +static inline +struct adfs_discrecord *adfs_map_discrecord(struct adfs_discmap *dm) +{ + return (void *)(dm[0].dm_bh->b_data + 4); +} diff --git a/fs/adfs/dir_f.c b/fs/adfs/dir_f.c index 693f69ed3de3..beedd275599f 100644 --- a/fs/adfs/dir_f.c +++ b/fs/adfs/dir_f.c @@ -9,7 +9,6 @@ * * E and F format directory handling */ -#include <linux/buffer_head.h> #include "adfs.h" #include "dir_f.h" diff --git a/fs/adfs/dir_fplus.c b/fs/adfs/dir_fplus.c index 97b9f28f459b..12ab34dad815 100644 --- a/fs/adfs/dir_fplus.c +++ b/fs/adfs/dir_fplus.c @@ -7,7 +7,6 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#include <linux/buffer_head.h> #include <linux/slab.h> #include "adfs.h" #include "dir_fplus.h" diff --git a/fs/adfs/map.c b/fs/adfs/map.c index 6935f05202ac..5f2d9d775305 100644 --- a/fs/adfs/map.c +++ b/fs/adfs/map.c @@ -7,7 +7,6 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ -#include <linux/buffer_head.h> #include <asm/unaligned.h> #include "adfs.h" diff --git a/fs/adfs/super.c b/fs/adfs/super.c index 2a83655c408f..533c9601a670 100644 --- a/fs/adfs/super.c +++ b/fs/adfs/super.c @@ -9,7 +9,6 @@ */ #include <linux/module.h> #include <linux/init.h> -#include <linux/buffer_head.h> #include <linux/parser.h> #include <linux/mount.h> #include <linux/seq_file.h> @@ -463,7 +462,7 @@ static int adfs_fill_super(struct super_block *sb, void *data, int silent) */ sb->s_op = &adfs_sops; - dr = (struct adfs_discrecord *)(asb->s_map[0].dm_bh->b_data + 4); + dr = adfs_map_discrecord(asb->s_map); root_obj.parent_id = root_obj.file_id = le32_to_cpu(dr->root); root_obj.name_len = 0; |