Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm: bdi: expose the BDI object in sysfs for NFS

Register NFS' backing_dev_info under sysfs with the name "nfs-MAJOR:MINOR"

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Miklos Szeredi and committed by
Linus Torvalds
fa799759 cf0ca9fe

+26
+26
fs/nfs/super.c
··· 1575 1575 return nfs_compare_mount_options(sb, server, mntflags); 1576 1576 } 1577 1577 1578 + static int nfs_bdi_register(struct nfs_server *server) 1579 + { 1580 + return bdi_register_dev(&server->backing_dev_info, server->s_dev); 1581 + } 1582 + 1578 1583 static int nfs_get_sb(struct file_system_type *fs_type, 1579 1584 int flags, const char *dev_name, void *raw_data, struct vfsmount *mnt) 1580 1585 { ··· 1622 1617 if (s->s_fs_info != server) { 1623 1618 nfs_free_server(server); 1624 1619 server = NULL; 1620 + } else { 1621 + error = nfs_bdi_register(server); 1622 + if (error) 1623 + goto error_splat_super; 1625 1624 } 1626 1625 1627 1626 if (!s->s_root) { ··· 1673 1664 { 1674 1665 struct nfs_server *server = NFS_SB(s); 1675 1666 1667 + bdi_unregister(&server->backing_dev_info); 1676 1668 kill_anon_super(s); 1677 1669 nfs_free_server(server); 1678 1670 } ··· 1718 1708 if (s->s_fs_info != server) { 1719 1709 nfs_free_server(server); 1720 1710 server = NULL; 1711 + } else { 1712 + error = nfs_bdi_register(server); 1713 + if (error) 1714 + goto error_splat_super; 1721 1715 } 1722 1716 1723 1717 if (!s->s_root) { ··· 1998 1984 if (s->s_fs_info != server) { 1999 1985 nfs_free_server(server); 2000 1986 server = NULL; 1987 + } else { 1988 + error = nfs_bdi_register(server); 1989 + if (error) 1990 + goto error_splat_super; 2001 1991 } 2002 1992 2003 1993 if (!s->s_root) { ··· 2088 2070 if (s->s_fs_info != server) { 2089 2071 nfs_free_server(server); 2090 2072 server = NULL; 2073 + } else { 2074 + error = nfs_bdi_register(server); 2075 + if (error) 2076 + goto error_splat_super; 2091 2077 } 2092 2078 2093 2079 if (!s->s_root) { ··· 2171 2149 if (s->s_fs_info != server) { 2172 2150 nfs_free_server(server); 2173 2151 server = NULL; 2152 + } else { 2153 + error = nfs_bdi_register(server); 2154 + if (error) 2155 + goto error_splat_super; 2174 2156 } 2175 2157 2176 2158 if (!s->s_root) {