summaryrefslogtreecommitdiff
path: root/include/linux
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/linux
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/linux')
-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
4 files changed, 9 insertions, 8 deletions
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 *);