mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH][HACK] make romfs use private superblock
@ 2002-05-07 18:03 Christoph Hellwig
  0 siblings, 0 replies; only message in thread
From: Christoph Hellwig @ 2002-05-07 18:03 UTC (permalink / raw)
  To: linux-kernel

Or actually no sb at all :)

--- 1.18/fs/romfs/inode.c	Wed Apr 24 17:50:15 2002
+++ edited/fs/romfs/inode.c	Tue May  7 20:57:34 2002
@@ -82,6 +82,12 @@
 	struct inode vfs_inode;
 };
 
+/* instead of private superblock data */
+static inline unsigned long romfs_maxsize(struct super_block *sb)
+{
+	return (unsigned long)sb->u.generic_sbp;
+}
+
 static inline struct romfs_inode_info *ROMFS_I(struct inode *inode)
 {
 	return list_entry(inode, struct romfs_inode_info, vfs_inode);
@@ -138,7 +144,7 @@
 	}
 
 	s->s_magic = ROMFS_MAGIC;
-	s->u.romfs_sb.s_maxsize = sz;
+	s->u_generic_sbp = (void *)sz;
 
 	s->s_flags |= MS_RDONLY;
 
@@ -174,7 +180,7 @@
 	buf->f_type = ROMFS_MAGIC;
 	buf->f_bsize = ROMBSIZE;
 	buf->f_bfree = buf->f_bavail = buf->f_ffree;
-	buf->f_blocks = (sb->u.romfs_sb.s_maxsize+ROMBSIZE-1)>>ROMBSBITS;
+	buf->f_blocks = (romfs_maxsize(sb)+ROMBSIZE-1)>>ROMBSBITS;
 	buf->f_namelen = ROMFS_MAXFN;
 	return 0;
 }
@@ -187,7 +193,7 @@
 	struct buffer_head *bh;
 	unsigned long avail, maxsize, res;
 
-	maxsize = i->i_sb->u.romfs_sb.s_maxsize;
+	maxsize = romfs_maxsize(i->i_sb);
 	if (offset >= maxsize)
 		return -1;
 
@@ -229,7 +235,7 @@
 	struct buffer_head *bh;
 	unsigned long avail, maxsize, res;
 
-	maxsize = i->i_sb->u.romfs_sb.s_maxsize;
+	maxsize = romfs_maxsize(i->i_sb);
 	if (offset >= maxsize || count > maxsize || offset+count>maxsize)
 		return -1;
 
@@ -275,7 +281,7 @@
 
 	lock_kernel();
 	
-	maxoff = i->i_sb->u.romfs_sb.s_maxsize;
+	maxoff = romfs_maxsize(i->i_sb);
 
 	offset = filp->f_pos;
 	if (!offset) {
@@ -338,7 +344,7 @@
 	if (romfs_copyfrom(dir, &ri, offset, ROMFH_SIZE) <= 0)
 		goto out;
 
-	maxoff = dir->i_sb->u.romfs_sb.s_maxsize;
+	maxoff = romfs_maxsize(dir->i_sb);
 	offset = ntohl(ri.spec) & ROMFH_MASK;
 
 	/* OK, now find the file whose name is in "dentry" in the
===== include/linux/fs.h 1.108 vs edited =====
--- 1.108/include/linux/fs.h	Tue Apr 30 22:58:45 2002
+++ edited/include/linux/fs.h	Tue May  7 20:52:05 2002
@@ -607,7 +607,6 @@
 #include <linux/ext3_fs_sb.h>
 #include <linux/hpfs_fs_sb.h>
 #include <linux/ufs_fs_sb.h>
-#include <linux/romfs_fs_sb.h>
 #include <linux/adfs_fs_sb.h>
 
 extern struct list_head super_blocks;
@@ -651,7 +650,6 @@
 		struct ext3_sb_info	ext3_sb;
 		struct hpfs_sb_info	hpfs_sb;
 		struct ufs_sb_info	ufs_sb;
-		struct romfs_sb_info	romfs_sb;
 		struct adfs_sb_info	adfs_sb;
 		void			*generic_sbp;
 	} u;
--- include/linux/romfs_fs_sb.h	Tue May  7 20:58:57 2002
+++ /dev/null	Thu Dec 13 11:34:58 2001
@@ -1,10 +0,0 @@
-#ifndef __ROMFS_FS_SB
-#define __ROMFS_FS_SB
-
-/* romfs superblock in-core data */
-
-struct romfs_sb_info {
-	unsigned long s_maxsize;
-};
-
-#endif


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-05-07 19:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-07 18:03 [PATCH][HACK] make romfs use private superblock Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®