aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel de Perthuis <g2p.code@gmail.com>2013-05-10 19:53:28 +0200
committerAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2013-05-28 15:23:12 +0530
commitdb431f6adc881a0758512cd765b3108209013512 (patch)
tree511e6941fab20b72140bf38b1bdb486d21426252
parent0ceb092e35f9d8793d64d86194ec9463718dffa3 (diff)
downloadqemu-db431f6adc881a0758512cd765b3108209013512.zip
qemu-db431f6adc881a0758512cd765b3108209013512.tar.gz
qemu-db431f6adc881a0758512cd765b3108209013512.tar.bz2
hw/9pfs: Be robust against paths without FS_IOC_GETVERSION
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 <g2p.code@gmail.com> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
-rw-r--r--hw/9pfs/cofile.c4
1 files changed, 4 insertions, 0 deletions
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
@@ -38,6 +38,10 @@ int v9fs_co_st_gen(V9fsPDU *pdu, V9fsPath *path, mode_t st_mode,
});
v9fs_path_unlock(s);
}
+ /* The ioctl may not be supported depending on the path */
+ if (err == -ENOTTY) {
+ err = 0;
+ }
return err;
}