From: braam Date: Thu, 20 Jan 2000 02:45:26 +0000 (+0000) Subject: Fixed one definite bug: the superblock was not being added to the super X-Git-Tag: 0.4.2~742 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=dccef74e5640558fa12cdfa5603d334dc6332e92;p=fs%2Flustre-release.git Fixed one definite bug: the superblock was not being added to the super list, we still get seg faults at the momemnt, but now from the daemon. --- diff --git a/lustre/include/linux/obdfs.h b/lustre/include/linux/obdfs.h index 1696cdd..f4c8ea0 100644 --- a/lustre/include/linux/obdfs.h +++ b/lustre/include/linux/obdfs.h @@ -72,6 +72,7 @@ int obdfs_do_vec_wr(struct super_block *sb, obd_count *num_io, struct obdfs_sb_info { + struct list_head osi_list; /* list of supers */ struct obd_conn osi_conn; struct super_block *osi_super; struct obd_device *osi_obd; diff --git a/lustre/obdfs/flushd.c b/lustre/obdfs/flushd.c index 12986e2..6b5de8e 100644 --- a/lustre/obdfs/flushd.c +++ b/lustre/obdfs/flushd.c @@ -235,9 +235,7 @@ static int pupdate(void *unused) /* asynchronous setattr etc for the future ... */ /* flush_inodes(); */ CDEBUG(D_INODE, "about to flush pages...\n"); - /* obdfs_flush_dirty_pages(1); - */ CDEBUG(D_INODE, "done flushing pages...\n"); } } diff --git a/lustre/obdfs/rw.c b/lustre/obdfs/rw.c index 6240239..545ede5 100644 --- a/lustre/obdfs/rw.c +++ b/lustre/obdfs/rw.c @@ -223,7 +223,9 @@ static int obdfs_add_page_to_cache(struct inode *inode, struct page *page) * In the future, a flush daemon will write out the page. return 0; */ + /* rc = obdfs_flush_reqs(obdfs_slist(inode), 0, 0); + */ EXIT; return rc; } /* obdfs_add_page_to_cache */ diff --git a/lustre/obdfs/super.c b/lustre/obdfs/super.c index e73dbbc..077ad51 100644 --- a/lustre/obdfs/super.c +++ b/lustre/obdfs/super.c @@ -246,6 +246,7 @@ static struct super_block * obdfs_read_super(struct super_block *sb, sb->s_dev, root->i_ino, device, MINOR(devno), blocksize, blocksize_bits); sb->s_root = d_alloc_root(root); + list_add(&sbi->osi_list, &obdfs_super_list); unlock_super(sb); EXIT; return sb; @@ -277,7 +278,7 @@ static void obdfs_put_super(struct super_block *sb) sbi = (struct obdfs_sb_info *) &sb->u.generic_sbp; OPS(sb,disconnect)(ID(sb)); - + list_del(&sbi->osi_list); memset(sbi, 0, sizeof(* sbi)); printk("OBDFS: Bye bye.\n");