X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=vss.c;h=23b64abbc2429d9b8a9baaa45e0ee16d881800e2;hb=181beb316afad036ac01a778544c5dec0a8d51c7;hp=eb51a1b3b64054a2c3f5862cae21ae9a5af99bdb;hpb=a296ecdb1ab1657d3ec756fbb4cdd9618b621a2e;p=paraslash.git diff --git a/vss.c b/vss.c index eb51a1b3..23b64abb 100644 --- a/vss.c +++ b/vss.c @@ -845,7 +845,6 @@ static void vss_compute_timeout(struct sched *s, struct vss_task *vsst) static void vss_eof(struct vss_task *vsst) { - if (!vsst->map) return; if (mmd->new_vss_status_flags & VSS_NOMORE) @@ -856,8 +855,8 @@ static void vss_eof(struct vss_task *vsst) para_munmap(vsst->map, vsst->mapsize); vsst->map = NULL; mmd->chunks_sent = 0; - //mmd->offset = 0; mmd->afd.afhi.seconds_total = 0; + mmd->afd.afhi.chunks_total = 0; mmd->afd.afhi.chunk_tv.tv_sec = 0; mmd->afd.afhi.chunk_tv.tv_usec = 0; free(mmd->afd.afhi.chunk_table); @@ -951,13 +950,13 @@ static int recv_afs_msg(int afs_socket, int *fd, uint32_t *code, uint32_t *data) #define MAP_POPULATE 0 #endif -static void recv_afs_result(struct vss_task *vsst, fd_set *rfds) +static void recv_afs_result(struct vss_task *vsst, const struct sched *s) { int ret, passed_fd, shmid; uint32_t afs_code = 0, afs_data = 0; struct stat statbuf; - if (!FD_ISSET(vsst->afs_socket, rfds)) + if (!sched_read_ok(vsst->afs_socket, s)) return; ret = recv_afs_msg(vsst->afs_socket, &passed_fd, &afs_code, &afs_data); if (ret == -ERRNO_TO_PARA_ERROR(EAGAIN)) @@ -1138,8 +1137,8 @@ static int vss_post_select(struct sched *s, void *context) mmd->sender_cmd_data.cmd_num = -1; } if (vsst->afsss != AFS_SOCKET_CHECK_FOR_WRITE) - recv_afs_result(vsst, &s->rfds); - else if (FD_ISSET(vsst->afs_socket, &s->wfds)) { + recv_afs_result(vsst, s); + else if (sched_write_ok(vsst->afs_socket, s)) { PARA_INFO_LOG("requesting new fd from afs\n"); ret = write_buffer(vsst->afs_socket, "new"); if (ret < 0)