From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Thibault Subject: [PATCH] fs-backend: fix FD allocation for file creation Date: Fri, 25 Jul 2008 09:43:07 +0100 Message-ID: <20080725084307.GG4482@implementation.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org fs-backend: fix FD allocation for file creation The creation operation also opens a file, we need to allocate a virtual fd for that too. Signed-off-by: Samuel Thibault diff -r 70a43a82aaf1 tools/fs-back/fs-ops.c --- a/tools/fs-back/fs-ops.c Tue Jul 22 16:31:03 2008 +0100 +++ b/tools/fs-back/fs-ops.c Fri Jul 25 09:43:05 2008 +0100 @@ -461,7 +461,17 @@ else { printf("Issuing create for file: %s\n", full_path); - ret = creat(full_path, mode); + ret = get_fd(mount); + if (ret >= 0) { + int real_fd = creat(full_path, mode); + if (real_fd < 0) + ret = -1; + else + { + mount->fds[ret] = real_fd; + printf("Got FD: %d for real %d\n", ret, real_fd); + } + } } printf("Got ret %d (errno=%d)\n", ret, errno);