arch/sparc64/solaris/fs.c |   18 +++++++++++++++---
 fs/bfs/inode.c            |    2 +-
 2 files changed, 16 insertions(+), 4 deletions(-)

diff -puN arch/sparc64/solaris/fs.c~KD37-misc3-B5 arch/sparc64/solaris/fs.c
--- 25/arch/sparc64/solaris/fs.c~KD37-misc3-B5	2003-09-21 22:35:18.000000000 -0700
+++ 25-akpm/arch/sparc64/solaris/fs.c	2003-09-21 22:35:18.000000000 -0700
@@ -28,9 +28,21 @@
 
 #include "conv.h"
 
-#define R4_DEV(DEV) ((DEV & 0xff) | ((DEV & 0xff00) << 10))
-#define R4_MAJOR(DEV) (((DEV) >> 18) & 0x3fff)
-#define R4_MINOR(DEV) ((DEV) & 0x3ffff)
+static inline u32 R4_DEV(dev_t DEV)
+{
+	return MINOR(DEV) | (MAJOR(DEV) << 18);
+}
+
+static inline unsigned R4_MAJOR(u32 DEV)
+{
+	return (DEV >> 18) & 0x3fff;
+}
+
+static inline unsigned R4_MINOR(u32 DEV)
+{
+	return DEV & 0x3ffff;
+}
+
 #define R3_VERSION	1
 #define R4_VERSION	2
 
diff -puN fs/bfs/inode.c~KD37-misc3-B5 fs/bfs/inode.c
--- 25/fs/bfs/inode.c~KD37-misc3-B5	2003-09-21 22:35:18.000000000 -0700
+++ 25-akpm/fs/bfs/inode.c	2003-09-21 22:35:18.000000000 -0700
@@ -200,7 +200,7 @@ static int bfs_statfs(struct super_block
 	buf->f_bfree = buf->f_bavail = info->si_freeb;
 	buf->f_files = info->si_lasti + 1 - BFS_ROOT_INO;
 	buf->f_ffree = info->si_freei;
-	buf->f_fsid.val[0] = s->s_dev;
+	buf->f_fsid.val[0] = old_encode_dev(s->s_dev);
 	buf->f_namelen = BFS_NAMELEN;
 	return 0;
 }

_