From 6b6c1bd996be7b7b640ef9b074435620f73eecac Mon Sep 17 00:00:00 2001 From: Mark Salyzyn <salyzyn@google.com> Date: Mon, 6 Jul 2015 10:00:36 -0700 Subject: [PATCH] Gracefully handle ENODEV in sdcard daemon (part deux) reorder to handle errno correctly and remove log stutter Bug: 22197797 Bug: 22241640 Change-Id: I81e6b2ff15b6ea6e5e780bd3599bf1019ff36f26 --- sdcard/sdcard.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/sdcard/sdcard.c b/sdcard/sdcard.c index 21986fccf6..4b8e0c05e7 100644 --- a/sdcard/sdcard.c +++ b/sdcard/sdcard.c @@ -1513,16 +1513,14 @@ static void handle_fuse_requests(struct fuse_handler* handler) { struct fuse* fuse = handler->fuse; for (;;) { - ssize_t len = read(fuse->fd, - handler->request_buffer, sizeof(handler->request_buffer)); + ssize_t len = TEMP_FAILURE_RETRY(read(fuse->fd, + handler->request_buffer, sizeof(handler->request_buffer))); if (len < 0) { - if (errno != EINTR) { - ERROR("[%d] handle_fuse_requests: errno=%d\n", handler->token, errno); - } if (errno == ENODEV) { ERROR("[%d] someone stole our marbles!\n", handler->token); exit(2); } + ERROR("[%d] handle_fuse_requests: errno=%d\n", handler->token, errno); continue; } -- GitLab