[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] fs-back: build fixes
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1237382725 0 # Node ID fe4b23bd3a954a640c922202249688eb1b981ce0 # Parent b8242b82b561712cbd509ad015702d74fcc07e56 fs-back: build fixes Remove some unused variables and replaces read and write to the pipe with read_exact and write_exact (these two functions are implemented in libxc, that we have to link anyway). This allows fs-backed to be compiled with -D_FORTIFY_SOURCE=2, hence should fix the problems reported by Boris. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> --- tools/fs-back/fs-backend.c | 13 +++++-------- tools/fs-back/fs-ops.c | 7 ++----- 2 files changed, 7 insertions(+), 13 deletions(-) diff -r b8242b82b561 -r fe4b23bd3a95 tools/fs-back/fs-backend.c --- a/tools/fs-back/fs-backend.c Wed Mar 18 13:24:42 2009 +0000 +++ b/tools/fs-back/fs-backend.c Wed Mar 18 13:25:25 2009 +0000 @@ -10,6 +10,7 @@ #include <sys/select.h> #include <sys/socket.h> #include <xen/io/ring.h> +#include <xc_private.h> #include <err.h> #include "sys-queue.h" #include "fs-backend.h" @@ -182,7 +183,6 @@ static void handle_connection(int fronte { struct fs_mount *mount; struct fs_export *export; - int evt_port; struct fsif_sring *sring; uint32_t dom_ids[MAX_RING_SIZE]; int i; @@ -336,12 +336,8 @@ static void await_connections(void) } if (FD_ISSET(pipefds[0], &fds)) { struct fs_request *request; - int ret; - ret = read(pipefds[0], &request, sizeof(struct fs_request *)); - if (ret != sizeof(struct fs_request *)) { - fprintf(stderr, "read request failed\n"); - continue; - } + if (read_exact(pipefds[0], &request, sizeof(struct fs_request *)) < 0) + err(1, "read request failed\n"); handle_aio_event(request); } LIST_FOREACH(pointer, &mount_requests_head, entries) { @@ -380,7 +376,8 @@ static void aio_signal_handler(int signo { struct fs_request *request = (struct fs_request*) info->si_value.sival_ptr; int saved_errno = errno; - write(pipefds[1], &request, sizeof(struct fs_request *)); + if (write_exact(pipefds[1], &request, sizeof(struct fs_request *)) < 0) + err(1, "write request filed\n"); errno = saved_errno; } diff -r b8242b82b561 -r fe4b23bd3a95 tools/fs-back/fs-ops.c --- a/tools/fs-back/fs-ops.c Wed Mar 18 13:24:42 2009 +0000 +++ b/tools/fs-back/fs-ops.c Wed Mar 18 13:25:25 2009 +0000 @@ -49,7 +49,6 @@ static void dispatch_file_open(struct fs { char *file_name, full_path[BUFFER_SIZE]; int fd; - struct timeval tv1, tv2; RING_IDX rsp_idx; fsif_response_t *rsp; uint16_t req_id; @@ -127,7 +126,7 @@ static void dispatch_file_read(struct fs static void dispatch_file_read(struct fs_mount *mount, struct fsif_request *req) { void *buf; - int fd, i, count; + int fd, count; uint16_t req_id; unsigned short priv_id; struct fs_request *priv_req; @@ -169,7 +168,6 @@ static void dispatch_file_read(struct fs priv_req->aiocb.aio_sigevent.sigev_value.sival_ptr = priv_req; assert(aio_read(&priv_req->aiocb) >= 0); -out: /* We can advance the request consumer index, from here on, the request * should not be used (it may be overrinden by a response) */ mount->ring.req_cons++; @@ -198,7 +196,7 @@ static void dispatch_file_write(struct f static void dispatch_file_write(struct fs_mount *mount, struct fsif_request *req) { void *buf; - int fd, count, i; + int fd, count; uint16_t req_id; unsigned short priv_id; struct fs_request *priv_req; @@ -268,7 +266,6 @@ static void end_file_write(struct fs_mou static void dispatch_stat(struct fs_mount *mount, struct fsif_request *req) { - struct fsif_stat_response *buf; struct stat stat; int fd, ret; uint16_t req_id; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |