Exemplo n.º 1
0
void fill_verify_pattern(struct thread_data *td, void *p, unsigned int len,
                         struct io_u *io_u, unsigned long seed, int use_seed)
{
    struct thread_options *o = &td->o;

    if (!o->verify_pattern_bytes) {
        dprint(FD_VERIFY, "fill random bytes len=%u\n", len);

        if (use_seed)
            __fill_buffer(o, seed, p, len);
        else
            io_u->rand_seed = fill_buffer(td, p, len);
        return;
    }

    /* Skip if we were here and we do not need to patch pattern
     * with format */
    if (!td->o.verify_fmt_sz && io_u->buf_filled_len >= len) {
        dprint(FD_VERIFY, "using already filled verify pattern b=%d len=%u\n",
               o->verify_pattern_bytes, len);
        return;
    }

    (void)paste_format(td->o.verify_pattern, td->o.verify_pattern_bytes,
                       td->o.verify_fmt, td->o.verify_fmt_sz,
                       p, len, io_u);
    io_u->buf_filled_len = len;
}
Exemplo n.º 2
0
static int __filbuf( FILE *fp )
{
    if( __fill_buffer( fp ) == 0 ) {
        return( EOF );
    } else {
        fp->_cnt--;
        fp->_ptr++;
        return( *(fp->_ptr - 1) );
    }
}
Exemplo n.º 3
0
void fill_verify_pattern(struct thread_data *td, void *p, unsigned int len,
			 struct io_u *io_u, unsigned long seed, int use_seed)
{
	struct thread_options *o = &td->o;

	if (!o->verify_pattern_bytes) {
		dprint(FD_VERIFY, "fill random bytes len=%u\n", len);

		if (use_seed)
			__fill_buffer(o, seed, p, len);
		else
			io_u->rand_seed = fill_buffer(td, p, len);
		return;
	}

	if (io_u->buf_filled_len >= len) {
		dprint(FD_VERIFY, "using already filled verify pattern b=%d len=%u\n",
			o->verify_pattern_bytes, len);
		return;
	}

	fill_pattern(p, len, o->verify_pattern, o->verify_pattern_bytes);
	io_u->buf_filled_len = len;
}