summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 20:08:16 -0800
committerLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 20:08:16 -0800
commit6c4b34bf750efec94cdb1b5b4851d46ea21dfffc (patch)
treebf3ebaff7d7f4064a2fc82e39a7b8fc1789832d5 /include
parentdfc05323cf886ed7faca146cbee5cdad1a62157f (diff)
v2.4.7.7 -> v2.4.7.8
- Jeff Hartmann: serverworks AGP gart unload memory leak fix - Marcelo Tosatti: make zone_inactive_shortage() return how big the shortage is. - Hugh Dickins: tidy up age_page_down() - Al Viro: super block handling cleanups
Diffstat (limited to 'include')
-rw-r--r--include/asm-ppc/processor.h6
-rw-r--r--include/linux/fs.h9
-rw-r--r--include/linux/mount.h1
-rw-r--r--include/linux/pagemap.h4
-rw-r--r--include/linux/swap.h3
5 files changed, 12 insertions, 11 deletions
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
index 4c18e818c3a3..03603fa82351 100644
--- a/include/asm-ppc/processor.h
+++ b/include/asm-ppc/processor.h
@@ -631,7 +631,7 @@ struct thread_struct {
#define INIT_THREAD { \
INIT_SP, /* ksp */ \
0, /* wchan */ \
- (struct pt_regs *)INIT_SP - 1, /* regs */ \
+ 0, /* regs */ \
KERNEL_DS, /*fs*/ \
swapper_pg_dir, /* pgdir */ \
0, /* last_syscall */ \
@@ -659,8 +659,8 @@ static inline unsigned long thread_saved_pc(struct thread_struct *t)
unsigned long get_wchan(struct task_struct *p);
-#define KSTK_EIP(tsk) ((tsk)->thread.regs->nip)
-#define KSTK_ESP(tsk) ((tsk)->thread.regs->gpr[1])
+#define KSTK_EIP(tsk) ((tsk)->thread.regs? (tsk)->thread.regs->nip: 0)
+#define KSTK_ESP(tsk) ((tsk)->thread.regs? (tsk)->thread.regs->gpr[1]: 0)
/*
* NOTE! The task struct and the stack go together
diff --git a/include/linux/fs.h b/include/linux/fs.h
index a2d4abe3daf6..2512dbe7393b 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -61,7 +61,6 @@ struct inodes_stat_t {
};
extern struct inodes_stat_t inodes_stat;
-extern int max_super_blocks, nr_super_blocks;
extern int leases_enable, dir_notify_enable, lease_break_time;
#define NR_FILE 8192 /* this can well be larger on a larger system */
@@ -663,6 +662,7 @@ struct quota_mount_options
#include <linux/cramfs_fs_sb.h>
extern struct list_head super_blocks;
+extern spinlock_t sb_lock;
#define sb_entry(list) list_entry((list), struct super_block, s_list)
struct super_block {
@@ -680,13 +680,14 @@ struct super_block {
struct dentry *s_root;
struct rw_semaphore s_umount;
struct semaphore s_lock;
+ int s_count;
+ atomic_t s_active;
struct list_head s_dirty; /* dirty inodes */
struct list_head s_locked_inodes;/* inodes being synced */
struct list_head s_files;
struct block_device *s_bdev;
- struct list_head s_mounts; /* vfsmount(s) of this one */
struct quota_mount_options s_dquot; /* Diskquota specific options */
union {
@@ -1161,6 +1162,7 @@ extern void write_inode_now(struct inode *, int);
extern void sync_dev(kdev_t);
extern int fsync_dev(kdev_t);
extern int fsync_super(struct super_block *);
+extern int fsync_no_super(kdev_t);
extern void sync_inodes_sb(struct super_block *);
extern int fsync_inode_buffers(struct inode *);
extern int osync_inode_buffers(struct inode *);
@@ -1358,11 +1360,12 @@ extern int dcache_readdir(struct file *, void *, filldir_t);
extern struct file_system_type *get_fs_type(const char *name);
extern struct super_block *get_super(kdev_t);
+extern void drop_super(struct super_block *sb);
static inline int is_mounted(kdev_t dev)
{
struct super_block *sb = get_super(dev);
if (sb) {
- /* drop_super(sb); will go here */
+ drop_super(sb);
return 1;
}
return 0;
diff --git a/include/linux/mount.h b/include/linux/mount.h
index 6d36acbc4c95..2fee6724727a 100644
--- a/include/linux/mount.h
+++ b/include/linux/mount.h
@@ -18,7 +18,6 @@ struct vfsmount
struct vfsmount *mnt_parent; /* fs we are mounted on */
struct dentry *mnt_mountpoint; /* dentry of mountpoint */
struct dentry *mnt_root; /* root of the mounted tree */
- struct list_head mnt_instances; /* other vfsmounts of the same fs */
struct super_block *mnt_sb; /* pointer to superblock */
struct list_head mnt_mounts; /* list of children, anchored here */
struct list_head mnt_child; /* and going through their mnt_child */
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 47845c644dba..aaa89db79be4 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -72,7 +72,9 @@ static inline unsigned long _page_hashfn(struct address_space * mapping, unsigne
#define page_hash(mapping,index) (page_hash_table+_page_hashfn(mapping,index))
extern struct page * __find_get_page(struct address_space *mapping,
- unsigned long offset, struct page **hash);
+ unsigned long index, struct page **hash);
+#define find_get_page(mapping, index) \
+ __find_get_page(mapping, index, page_hash(mapping, index))
extern struct page * __find_lock_page (struct address_space * mapping,
unsigned long index, struct page **hash);
extern void lock_page(struct page *page);
diff --git a/include/linux/swap.h b/include/linux/swap.h
index 60e43d5519b0..1d4b0a07d285 100644
--- a/include/linux/swap.h
+++ b/include/linux/swap.h
@@ -100,9 +100,6 @@ struct zone_t;
/* linux/mm/swap.c */
extern int memory_pressure;
-extern void age_page_down(struct page *);
-extern void age_page_down_nolock(struct page *);
-extern void age_page_down_ageonly(struct page *);
extern void deactivate_page(struct page *);
extern void deactivate_page_nolock(struct page *);
extern void activate_page(struct page *);