Whamcloud - gitweb
Fixed one definite bug: the superblock was not being added to the super
authorbraam <braam>
Thu, 20 Jan 2000 02:45:26 +0000 (02:45 +0000)
committerbraam <braam>
Thu, 20 Jan 2000 02:45:26 +0000 (02:45 +0000)
list, we still get seg faults at the momemnt, but now from the daemon.

lustre/include/linux/obdfs.h
lustre/obdfs/flushd.c
lustre/obdfs/rw.c
lustre/obdfs/super.c

index 1696cdd..f4c8ea0 100644 (file)
@@ -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;
index 12986e2..6b5de8e 100644 (file)
@@ -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");
        }
 }
index 6240239..545ede5 100644 (file)
@@ -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 */
index e73dbbc..077ad51 100644 (file)
@@ -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");