Skip to content

Commit

Permalink
[PATCH] BLOCK: Move extern declarations out of fs/*.c into header fil…
Browse files Browse the repository at this point in the history
…es [try torvalds#6]

Create a new header file, fs/internal.h, for common definitions local to the
sources in the fs/ directory.

Move extern definitions that should be in header files from fs/*.c to
fs/internal.h or other main header files where they span directories.

Signed-Off-By: David Howells <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
dhowells authored and axboe committed Sep 30, 2006
1 parent 65e6f5b commit 07f3f05
Show file tree
Hide file tree
Showing 13 changed files with 52 additions and 19 deletions.
4 changes: 2 additions & 2 deletions arch/mips/kernel/signal_n32.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@

#include "signal-common.h"

extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat);

/*
* Including <asm/unistd.h> would give use the 64-bit syscall numbers ...
*/
Expand Down Expand Up @@ -81,8 +83,6 @@ struct rt_sigframe_n32 {
#endif
};

extern void sigset_from_compat (sigset_t *set, compat_sigset_t *compat);

save_static_function(sysn32_rt_sigsuspend);
__attribute_used__ noinline static int
_sysn32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
Expand Down
1 change: 0 additions & 1 deletion fs/binfmt_elf.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs);
static int load_elf_library(struct file *);
static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int);
extern int dump_fpu (struct pt_regs *, elf_fpregset_t *);

#ifndef elf_addr_t
#define elf_addr_t unsigned long
Expand Down
1 change: 1 addition & 0 deletions fs/block_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/uio.h>
#include <linux/namei.h>
#include <asm/uaccess.h>
#include "internal.h"

struct bdev_inode {
struct block_device bdev;
Expand Down
1 change: 1 addition & 0 deletions fs/char_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#ifdef CONFIG_KMOD
#include <linux/kmod.h>
#endif
#include "internal.h"

/*
* capabilities for /dev/mem, /dev/kmem and similar directly mappable character
Expand Down
10 changes: 3 additions & 7 deletions fs/compat.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,12 @@
#include <asm/uaccess.h>
#include <asm/mmu_context.h>
#include <asm/ioctls.h>

extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat);
#include "internal.h"

int compat_log = 1;

extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat);

int compat_printk(const char *fmt, ...)
{
va_list ap;
Expand Down Expand Up @@ -313,9 +314,6 @@ asmlinkage long compat_sys_fstatfs64(unsigned int fd, compat_size_t sz, struct c
#define IOCTL_HASHSIZE 256
static struct ioctl_trans *ioctl32_hash_table[IOCTL_HASHSIZE];

extern struct ioctl_trans ioctl_start[];
extern int ioctl_table_size;

static inline unsigned long ioctl32_hash(unsigned long cmd)
{
return (((cmd >> 6) ^ (cmd >> 4) ^ cmd)) % IOCTL_HASHSIZE;
Expand Down Expand Up @@ -838,8 +836,6 @@ static int do_nfs4_super_data_conv(void *raw_data)
return 0;
}

extern int copy_mount_options (const void __user *, unsigned long *);

#define SMBFS_NAME "smbfs"
#define NCPFS_NAME "ncpfs"
#define NFS4_NAME "nfs4"
Expand Down
2 changes: 0 additions & 2 deletions fs/compat_ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1279,8 +1279,6 @@ static int loop_status(unsigned int fd, unsigned int cmd, unsigned long arg)
return err;
}

extern int tty_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg);

#ifdef CONFIG_VT

static int vt_check(struct file *file)
Expand Down
4 changes: 1 addition & 3 deletions fs/dcache.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <linux/seqlock.h>
#include <linux/swap.h>
#include <linux/bootmem.h>
#include "internal.h"


int sysctl_vfs_cache_pressure __read_mostly = 100;
Expand Down Expand Up @@ -1877,9 +1878,6 @@ kmem_cache_t *filp_cachep __read_mostly;

EXPORT_SYMBOL(d_genocide);

extern void bdev_cache_init(void);
extern void chrdev_init(void);

void __init vfs_caches_init_early(void)
{
dcache_init_early();
Expand Down
3 changes: 1 addition & 2 deletions fs/fs-writeback.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
#include <linux/blkdev.h>
#include <linux/backing-dev.h>
#include <linux/buffer_head.h>

extern struct super_block *blockdev_superblock;
#include "internal.h"

/**
* __mark_inode_dirty - internal function
Expand Down
36 changes: 36 additions & 0 deletions fs/internal.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* fs/ internal definitions
*
* Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.
* Written by David Howells ([email protected])
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*/

#include <linux/ioctl32.h>

/*
* block_dev.c
*/
extern struct super_block *blockdev_superblock;
extern void __init bdev_cache_init(void);

/*
* char_dev.c
*/
extern void __init chrdev_init(void);

/*
* compat_ioctl.c
*/
#ifdef CONFIG_COMPAT
extern struct ioctl_trans ioctl_start[];
extern int ioctl_table_size;
#endif

/*
* namespace.c
*/
extern int copy_mount_options(const void __user *, unsigned long *);
3 changes: 1 addition & 2 deletions fs/namespace.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,11 @@
#include <linux/namei.h>
#include <linux/security.h>
#include <linux/mount.h>
#include <linux/ramfs.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
#include "pnode.h"

extern int __init init_rootfs(void);

/* spinlock for vfsmount related operations, inplace of dcache_lock */
__cacheline_aligned_in_smp DEFINE_SPINLOCK(vfsmount_lock);

Expand Down
1 change: 1 addition & 0 deletions include/linux/ramfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ extern int ramfs_nommu_mmap(struct file *file, struct vm_area_struct *vma);

extern const struct file_operations ramfs_file_operations;
extern struct vm_operations_struct generic_file_vm_ops;
extern int __init init_rootfs(void);

#endif
3 changes: 3 additions & 0 deletions include/linux/tty.h
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,9 @@ extern void tty_ldisc_put(int);
extern void tty_wakeup(struct tty_struct *tty);
extern void tty_ldisc_flush(struct tty_struct *tty);

extern int tty_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
unsigned long arg);

extern struct mutex tty_mutex;

/* n_tty.c */
Expand Down
2 changes: 2 additions & 0 deletions kernel/compat.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@

#include <asm/uaccess.h>

extern void sigset_from_compat(sigset_t *set, compat_sigset_t *compat);

int get_compat_timespec(struct timespec *ts, const struct compat_timespec __user *cts)
{
return (!access_ok(VERIFY_READ, cts, sizeof(*cts)) ||
Expand Down

0 comments on commit 07f3f05

Please sign in to comment.