From: Alexander Viro Date: Mon, 11 Mar 2002 06:22:06 +0000 (-0800) Subject: [PATCH] (3/4) ->kill_sb() switchover X-Git-Tag: v2.5.7-pre1~28^2~2 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=d18f45e6f9cdc9f27f9720ff65df13d5d3300b17;p=history.git [PATCH] (3/4) ->kill_sb() switchover The rest of nodev filesystems switched. --- diff --git a/drivers/isdn/avmb1/capifs.c b/drivers/isdn/avmb1/capifs.c index 1e7b287945bf..b2d4aedff998 100644 --- a/drivers/isdn/avmb1/capifs.c +++ b/drivers/isdn/avmb1/capifs.c @@ -387,6 +387,7 @@ static struct file_system_type capifs_fs_type = { 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) diff --git a/drivers/usb/inode.c b/drivers/usb/inode.c index d3d6582957d2..38fdc944219f 100644 --- a/drivers/usb/inode.c +++ b/drivers/usb/inode.c @@ -489,12 +489,14 @@ static struct file_system_type usbdevice_fs_type = { 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, }; /* --------------------------------------------------------------------- */ diff --git a/fs/autofs/init.c b/fs/autofs/init.c index b73fec09f7c2..2bfb80eab87b 100644 --- a/fs/autofs/init.c +++ b/fs/autofs/init.c @@ -24,6 +24,7 @@ static struct file_system_type autofs_fs_type = { owner: THIS_MODULE, name: "autofs", get_sb: autofs_get_sb, + kill_sb: kill_anon_super, }; static int __init init_autofs_fs(void) diff --git a/fs/autofs4/init.c b/fs/autofs4/init.c index fdce6b04367c..1576d28addd7 100644 --- a/fs/autofs4/init.c +++ b/fs/autofs4/init.c @@ -24,6 +24,7 @@ static struct file_system_type autofs_fs_type = { owner: THIS_MODULE, name: "autofs", get_sb: autofs_get_sb, + kill_sb: kill_anon_super, }; static int __init init_autofs4_fs(void) diff --git a/fs/block_dev.c b/fs/block_dev.c index 1d1bd867f862..30ec91b830d4 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -260,6 +260,7 @@ static struct super_block *bd_get_sb(struct file_system_type *fs_type, static struct file_system_type bd_type = { name: "bdev", get_sb: bd_get_sb, + kill_sb: kill_anon_super, fs_flags: FS_NOMOUNT, }; diff --git a/fs/coda/inode.c b/fs/coda/inode.c index 323920b06e69..c2c083b8e255 100644 --- a/fs/coda/inode.c +++ b/fs/coda/inode.c @@ -316,4 +316,5 @@ struct file_system_type coda_fs_type = { owner: THIS_MODULE, name: "coda", get_sb: coda_get_sb, + kill_sb: kill_anon_super, }; diff --git a/fs/devfs/base.c b/fs/devfs/base.c index 3fac42a6957c..d0d4763fdea2 100644 --- a/fs/devfs/base.c +++ b/fs/devfs/base.c @@ -3323,6 +3323,7 @@ static struct super_block *devfs_get_sb(struct file_system_type *fs_type, 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 */ diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c index 1816bd4137c7..4e69e33efc13 100644 --- a/fs/devpts/inode.c +++ b/fs/devpts/inode.c @@ -189,6 +189,7 @@ static struct file_system_type devpts_fs_type = { owner: THIS_MODULE, name: "devpts", get_sb: devpts_get_sb, + kill_sb: kill_anon_super, }; void devpts_pty_new(int number, kdev_t device) diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c index efe7c89286c6..8bdc5770fd91 100644 --- a/fs/ncpfs/inode.c +++ b/fs/ncpfs/inode.c @@ -744,6 +744,7 @@ static struct file_system_type ncp_fs_type = { owner: THIS_MODULE, name: "ncpfs", get_sb: ncp_get_sb, + kill_sb: kill_anon_super, }; static int __init init_ncp_fs(void) diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index e2821e8a9cbd..3aa6f9734f99 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -1155,6 +1155,7 @@ static struct file_system_type nfs_fs_type = { owner: THIS_MODULE, name: "nfs", get_sb: nfs_get_sb, + kill_sb: kill_anon_super, fs_flags: FS_ODD_RENAME, }; diff --git a/fs/openpromfs/inode.c b/fs/openpromfs/inode.c index b9272c96180f..f72d60006424 100644 --- a/fs/openpromfs/inode.c +++ b/fs/openpromfs/inode.c @@ -1043,6 +1043,7 @@ static struct file_system_type openprom_fs_type = { owner: THIS_MODULE, name: "openpromfs", get_sb: openprom_get_sb, + kill_sb: kill_anon_super, }; static int __init init_openprom_fs(void) diff --git a/fs/pipe.c b/fs/pipe.c index f2d9da0143c7..3fe3b3f9fe51 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -635,6 +635,7 @@ static struct super_block *pipefs_get_sb(struct file_system_type *fs_type, static struct file_system_type pipe_fs_type = { name: "pipefs", get_sb: pipefs_get_sb, + kill_sb: kill_anon_super, fs_flags: FS_NOMOUNT, }; diff --git a/fs/proc/root.c b/fs/proc/root.c index 49da1742c470..f905a8522f5b 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c @@ -33,6 +33,7 @@ static struct super_block *proc_get_sb(struct file_system_type *fs_type, 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); diff --git a/fs/smbfs/inode.c b/fs/smbfs/inode.c index da2f51439ce1..2f57be53425a 100644 --- a/fs/smbfs/inode.c +++ b/fs/smbfs/inode.c @@ -719,6 +719,7 @@ static struct file_system_type smb_fs_type = { owner: THIS_MODULE, name: "smbfs", get_sb: smb_get_sb, + kill_sb: kill_anon_super, }; static int __init init_smb_fs(void) diff --git a/fs/super.c b/fs/super.c index bc2ed690674d..97637f020512 100644 --- a/fs/super.c +++ b/fs/super.c @@ -376,8 +376,6 @@ static void insert_super(struct super_block *s, struct file_system_type *type) get_filesystem(type); } -static void put_anon_dev(kdev_t dev); - /** * remove_super - makes superblock unreachable * @s: superblock in question @@ -437,15 +435,11 @@ static void generic_shutdown_super(struct super_block *sb) 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) @@ -615,17 +609,6 @@ enum {Max_anon = 256}; 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 diff --git a/net/socket.c b/net/socket.c index 167c260d4a5a..1b6351a167f8 100644 --- a/net/socket.c +++ b/net/socket.c @@ -359,6 +359,7 @@ static struct vfsmount *sock_mnt; 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)