X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afh_recv.c;h=01785d6c6796dd98bfc514bb11a76fe3cbfaa101;hp=657a205737595f370eeb238813a7cd2c009064dc;hb=53f735e056015f9a1021c14b5d93f57f14035c62;hpb=879e52d49df6d00aa9eafe5cccb48bbd24ed4c81 diff --git a/afh_recv.c b/afh_recv.c index 657a2057..01785d6c 100644 --- a/afh_recv.c +++ b/afh_recv.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2014 Andre Noll + * Copyright (C) 2011-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -59,7 +59,8 @@ static int afh_execute(struct btr_node *btrn, const char *cmd, char **result) return ret; if (x >= pard->afhi.chunks_total) return -ERRNO_TO_PARA_ERROR(EINVAL); - pard->first_chunk = pard->current_chunk = x; + pard->first_chunk = afh_get_start_chunk(x, &pard->afhi); + pard->current_chunk = pard->first_chunk; return 1; } return -E_BTR_NAVAIL; @@ -109,9 +110,12 @@ static int afh_recv_open(struct receiver_node *rn) if (PARA_ABS(conf->begin_chunk_arg) >= afhi->chunks_total) goto out_clear_afhi; if (conf->begin_chunk_arg >= 0) - pard->first_chunk = conf->begin_chunk_arg; + pard->first_chunk = afh_get_start_chunk( + conf->begin_chunk_arg, &pard->afhi); else - pard->first_chunk = afhi->chunks_total + conf->begin_chunk_arg; + pard->first_chunk = afh_get_start_chunk( + afhi->chunks_total + conf->begin_chunk_arg, + &pard->afhi); if (conf->end_chunk_given) { ret = -ERRNO_TO_PARA_ERROR(EINVAL); if (PARA_ABS(conf->end_chunk_arg) > afhi->chunks_total)