Blame


1 0c98da8b 2005-07-13 devnull #include <u.h>
2 0c98da8b 2005-07-13 devnull #include <libc.h>
3 0c98da8b 2005-07-13 devnull #include <bio.h>
4 0c98da8b 2005-07-13 devnull #include <diskfs.h>
5 0c98da8b 2005-07-13 devnull
6 0c98da8b 2005-07-13 devnull Block*
7 0c98da8b 2005-07-13 devnull diskread(Disk *disk, u32int count, u64int offset)
8 0c98da8b 2005-07-13 devnull {
9 0c98da8b 2005-07-13 devnull if(disk == nil)
10 0c98da8b 2005-07-13 devnull return nil;
11 0c98da8b 2005-07-13 devnull
12 0c98da8b 2005-07-13 devnull if(!disk->_read){
13 0c98da8b 2005-07-13 devnull werrstr("no disk read dispatch function");
14 0c98da8b 2005-07-13 devnull return nil;
15 0c98da8b 2005-07-13 devnull }
16 0c98da8b 2005-07-13 devnull return (*disk->_read)(disk, count, offset);
17 0c98da8b 2005-07-13 devnull }
18 0c98da8b 2005-07-13 devnull
19 0c98da8b 2005-07-13 devnull int
20 0c98da8b 2005-07-13 devnull disksync(Disk *disk)
21 0c98da8b 2005-07-13 devnull {
22 0c98da8b 2005-07-13 devnull if(disk == nil)
23 0c98da8b 2005-07-13 devnull return 0;
24 0c98da8b 2005-07-13 devnull if(!disk->_sync)
25 0c98da8b 2005-07-13 devnull return 0;
26 0c98da8b 2005-07-13 devnull return (*disk->_sync)(disk);
27 0c98da8b 2005-07-13 devnull }
28 0c98da8b 2005-07-13 devnull
29 0c98da8b 2005-07-13 devnull void
30 0c98da8b 2005-07-13 devnull diskclose(Disk *disk)
31 0c98da8b 2005-07-13 devnull {
32 0c98da8b 2005-07-13 devnull if(disk == nil)
33 0c98da8b 2005-07-13 devnull return;
34 0c98da8b 2005-07-13 devnull if(!disk->_close){
35 0c98da8b 2005-07-13 devnull fprint(2, "no diskClose\n");
36 0c98da8b 2005-07-13 devnull abort();
37 0c98da8b 2005-07-13 devnull }
38 0c98da8b 2005-07-13 devnull (*disk->_close)(disk);
39 0c98da8b 2005-07-13 devnull }