The rest of nodev filesystems switched.
owner: THIS_MODULE,
name: "capifs",
get_sb: capifs_get_sb,
+ kill_sb: kill_anon_super,
};
void capifs_new_ncci(char type, unsigned int num, kdev_t device)
owner: THIS_MODULE,
name: "usbdevfs",
get_sb: usb_get_sb,
+ kill_sb: kill_anon_super,
};
static struct file_system_type usb_fs_type = {
owner: THIS_MODULE,
name: "usbfs",
get_sb: usb_get_sb,
+ kill_sb: kill_anon_super,
};
/* --------------------------------------------------------------------- */
owner: THIS_MODULE,
name: "autofs",
get_sb: autofs_get_sb,
+ kill_sb: kill_anon_super,
};
static int __init init_autofs_fs(void)
owner: THIS_MODULE,
name: "autofs",
get_sb: autofs_get_sb,
+ kill_sb: kill_anon_super,
};
static int __init init_autofs4_fs(void)
static struct file_system_type bd_type = {
name: "bdev",
get_sb: bd_get_sb,
+ kill_sb: kill_anon_super,
fs_flags: FS_NOMOUNT,
};
owner: THIS_MODULE,
name: "coda",
get_sb: coda_get_sb,
+ kill_sb: kill_anon_super,
};
static struct file_system_type devfs_fs_type = {
name: DEVFS_NAME,
get_sb: devfs_get_sb,
+ kill_sb: kill_anon_super,
};
/* File operations for devfsd follow */
owner: THIS_MODULE,
name: "devpts",
get_sb: devpts_get_sb,
+ kill_sb: kill_anon_super,
};
void devpts_pty_new(int number, kdev_t device)
owner: THIS_MODULE,
name: "ncpfs",
get_sb: ncp_get_sb,
+ kill_sb: kill_anon_super,
};
static int __init init_ncp_fs(void)
owner: THIS_MODULE,
name: "nfs",
get_sb: nfs_get_sb,
+ kill_sb: kill_anon_super,
fs_flags: FS_ODD_RENAME,
};
owner: THIS_MODULE,
name: "openpromfs",
get_sb: openprom_get_sb,
+ kill_sb: kill_anon_super,
};
static int __init init_openprom_fs(void)
static struct file_system_type pipe_fs_type = {
name: "pipefs",
get_sb: pipefs_get_sb,
+ kill_sb: kill_anon_super,
fs_flags: FS_NOMOUNT,
};
static struct file_system_type proc_fs_type = {
name: "proc",
get_sb: proc_get_sb,
+ kill_sb: kill_anon_super,
};
extern int __init proc_init_inodecache(void);
owner: THIS_MODULE,
name: "smbfs",
get_sb: smb_get_sb,
+ kill_sb: kill_anon_super,
};
static int __init init_smb_fs(void)
get_filesystem(type);
}
-static void put_anon_dev(kdev_t dev);
-
/**
* remove_super - makes superblock unreachable
* @s: superblock in question
static void shutdown_super(struct super_block *sb)
{
struct file_system_type *fs = sb->s_type;
- kdev_t dev = sb->s_dev;
struct block_device *bdev = sb->s_bdev;
generic_shutdown_super(sb);
- if (bdev) {
- bd_release(bdev);
- blkdev_put(bdev, BDEV_FS);
- } else
- put_anon_dev(dev);
+ bd_release(bdev);
+ blkdev_put(bdev, BDEV_FS);
}
void kill_super(struct super_block *sb)
static unsigned long unnamed_dev_in_use[Max_anon/(8*sizeof(unsigned long))];
static spinlock_t unnamed_dev_lock = SPIN_LOCK_UNLOCKED;/* protects the above */
-/**
- * put_anon_dev - release anonymous device number.
- * @dev: device in question
- */
-static void put_anon_dev(kdev_t dev)
-{
- spin_lock(&unnamed_dev_lock);
- clear_bit(minor(dev), unnamed_dev_in_use);
- spin_unlock(&unnamed_dev_lock);
-}
-
/**
* get_anon_super - allocate a superblock for non-device fs
* @type: filesystem type
static struct file_system_type sock_fs_type = {
name: "sockfs",
get_sb: sockfs_get_sb,
+ kill_sb: kill_anon_super,
fs_flags: FS_NOMOUNT,
};
static int sockfs_delete_dentry(struct dentry *dentry)