[PATCH] sb_read problem in hpfs

From: Chris Mason (mason@suse.com)
Date: Wed Feb 20 2002 - 08:00:30 EST


Hi guys,

hpfs_read_super triggers calls to sb_bread (through hpfs_map_sector)
before setting s_blocksize. This leads to a BUG() in grow_buffers.

This patch was tested lightly, hpfs_read_super completes
properly when an hpfs FS is not present.

-chris

--- suse.4/fs/hpfs/super.c Tue, 19 Feb 2002 08:55:47 -0500
+++ suse.4(w)/fs/hpfs/super.c Tue, 19 Feb 2002 22:28:37 -0500
@@ -410,6 +410,8 @@
         /*s->s_hpfs_mounting = 1;*/
         dev = s->s_dev;
         set_blocksize(dev, 512);
+ s->s_blocksize = 512;
+ s->s_blocksize_bits = 9;
         s->s_hpfs_fs_size = -1;
         if (!(bootblock = hpfs_map_sector(s, 0, &bh0, 0))) goto bail1;
         if (!(superblock = hpfs_map_sector(s, 16, &bh1, 1))) goto bail2;
@@ -436,8 +438,6 @@
 
         /* Fill superblock stuff */
         s->s_magic = HPFS_SUPER_MAGIC;
- s->s_blocksize = 512;
- s->s_blocksize_bits = 9;
         s->s_op = &hpfs_sops;
 
         s->s_hpfs_root = superblock->root;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:24 EST