1    | /* super_block.c
2    |    -------------
3    |    $Id: super_block.c,v 1.2 2003/09/22 09:02:16 stewart Exp $
4    | 
5    |    The long awaited super_block.c
6    |    i wish i had coded this before, gah, i thought i had.
7    |    maybe i should give up the booze and late nights up coding.
8    | 
9    |    This file contains all those functions dealing with the super
10   |    block of the FCFS Object Store.
11   | 
12   | 
13   |    One day, we need a better name than FCFS, but really - come up
14   |    with one. StewStore just seems lame.
15   | 
16   |    (C)2003 Stewart Smith
17   |    Distributed under the GNU Public License.
18   | */
19   | 
20   | #include <stdio.h>
21   | #include <stdlib.h>
22   | #include <string.h>
23   | #include "testkit/types.h"
24   | 
25   | #include "disk.h"
26   | #include "super_block.h"
27   | 
28   | int fcfs_write_sb(struct fcfs_disk *disk)
29   | {
30   |   struct fcfs_disk_block *block;
31   |   block = disk_getblock(disk,0);
32   |   disk_writeblock(block);
33   |   disk_freeblock(block);
34   |   return 1;
35   | }
36   | 
37   | int fcfs_sb_mark_dirty(struct fcfs_disk *disk)
38   | {
39   |   set_bit(FCFS_FLAG_Dirty,&(disk->sb->flags));
40   |   fcfs_write_sb(disk);
41   |   return 1;
42   | }
43   | 
44   | int fcfs_sb_mark_clean(struct fcfs_disk *disk)
45   | {
46   |   clear_bit(FCFS_FLAG_Dirty,&(disk->sb->flags));
47   |   fcfs_write_sb(disk);
48   |   return 1;
49   | }