| #include <u.h> |
| #include <libc.h> |
| #include <bio.h> |
| #include <diskfs.h> |
| |
| Block* |
| diskread(Disk *disk, u32int count, u64int offset) |
| { |
| if(disk == nil) |
| return nil; |
| |
| if(!disk->_read){ |
| werrstr("no disk read dispatch function"); |
| return nil; |
| } |
| return (*disk->_read)(disk, count, offset); |
| } |
| |
| int |
| disksync(Disk *disk) |
| { |
| if(disk == nil) |
| return 0; |
| if(!disk->_sync) |
| return 0; |
| return (*disk->_sync)(disk); |
| } |
| |
| void |
| diskclose(Disk *disk) |
| { |
| if(disk == nil) |
| return; |
| if(!disk->_close){ |
| fprint(2, "no diskClose\n"); |
| abort(); |
| } |
| (*disk->_close)(disk); |
| } |