From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:51294) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UarVh-0003bi-GT for qemu-devel@nongnu.org; Fri, 10 May 2013 13:53:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UarVd-000745-C0 for qemu-devel@nongnu.org; Fri, 10 May 2013 13:53:37 -0400 Message-ID: <518D3418.7050402@gmail.com> Date: Fri, 10 May 2013 19:53:28 +0200 From: Gabriel de Perthuis MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH] 9p: Be robust against paths without FS_IOC_GETVERSION List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Aneesh Kumar K.V" Cc: qemu-devel@nongnu.org, qemu-stable@nongnu.org 9P optionally uses the FS_IOC_GETVERSION ioctl to get information about a file's version (sometimes called generation number). The code checks for supported filesystems at mount time, but some paths may come from other mounted filesystems. Change it to treat unsupported paths the same as unsupported filesystems, returning 0 in both cases. Note: ENOTTY is the error code for an unsupported ioctl. This fix allows booting a linux kernel with the same / filesystem as the host; otherwise the boot fails when mounting devtmpfs. Signed-off-by: Gabriel de Perthuis Reviewed-by: Aneesh Kumar K.V --- Here it is with an expanded commit message. hw/9pfs/cofile.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/9pfs/cofile.c b/hw/9pfs/cofile.c index 2efebf3..194c130 100644 --- a/hw/9pfs/cofile.c +++ b/hw/9pfs/cofile.c @@ -36,10 +36,14 @@ int v9fs_co_st_gen(V9fsPDU *pdu, V9fsPath *path, mode_t st_mode, err = -errno; } }); v9fs_path_unlock(s); } + /* The ioctl may not be supported depending on the path */ + if (err == -ENOTTY) { + err = 0; + } return err; } int v9fs_co_lstat(V9fsPDU *pdu, V9fsPath *path, struct stat *stbuf) { -- 1.8.2.1.419.ga0b97c6