void test_single_rw(){ dbg(DBG_TEST | DBG_DISK, "testing reading and writing to disk\n"); blockdev_t *bd = blockdev_lookup(MKDEVID(1, 0)); KASSERT(bd != NULL); char *writebuf = (char *) page_alloc(); char *readbuf = (char *) page_alloc(); KASSERT(readbuf != NULL && writebuf != NULL && "not enough memory"); unsigned int i; for (i = 0; i < BLOCK_SIZE; i++){ writebuf[i] = 'o'; } int block_to_write = 60; rw_args_t read_args = {bd, readbuf, block_to_write, 1}; rw_args_t write_args = {bd, writebuf, block_to_write, 1}; simple_write(write_args); simple_read(read_args); unsigned int j; for (j = 0; j < BLOCK_SIZE; j++){ KASSERT(readbuf[j] == 'o'); } page_free((void *) readbuf); page_free((void *) writebuf); dbg(DBG_TESTPASS, "all simple ata tests passed\n"); }
bool nxFile::read(nxMemory&obj) const { return simple_read(obj); }
ssize_t simple_read_proc(struct file *filp, char *user_buf, size_t count, loff_t *f_pos) { return simple_read(filp, user_buf, count, f_pos); }