diff --git a/Documentation/filesystems/virtiofs.rst b/Documentation/filesystems/virtiofs.rst index 4f338e3cb3f78d152d2360ddc6affc2b62e6096a..e06e4951cb3953598aa7f97fba36f3b35ca63bb1 100644 --- a/Documentation/filesystems/virtiofs.rst +++ b/Documentation/filesystems/virtiofs.rst @@ -1,5 +1,7 @@ .. SPDX-License-Identifier: GPL-2.0 +.. _virtiofs_index: + =================================================== virtiofs: virtio-fs host<->guest shared file system =================================================== diff --git a/Documentation/translations/zh_CN/filesystems/index.rst b/Documentation/translations/zh_CN/filesystems/index.rst index f5adcdc5fa1c32ebb6d72bf1479d20d0558df9b0..14f155edaf697b8c6539a36171a38f3ac1197934 100644 --- a/Documentation/translations/zh_CN/filesystems/index.rst +++ b/Documentation/translations/zh_CN/filesystems/index.rst @@ -23,3 +23,5 @@ Linux Kernelä¸çš„æ–‡ä»¶ç³»ç»Ÿ .. toctree:: :maxdepth: 2 + virtiofs + diff --git a/Documentation/translations/zh_CN/filesystems/virtiofs.rst b/Documentation/translations/zh_CN/filesystems/virtiofs.rst new file mode 100644 index 0000000000000000000000000000000000000000..09bc9e012e2ac7709cbb8fcc3071f8229d1d1a48 --- /dev/null +++ b/Documentation/translations/zh_CN/filesystems/virtiofs.rst @@ -0,0 +1,58 @@ +.. SPDX-License-Identifier: GPL-2.0 + +.. include:: ../disclaimer-zh_CN.rst + +:Original: :ref:`Documentation/filesystems/virtiofs.rst <virtiofs_index>` + +译者 +:: + + 䏿–‡ç‰ˆç»´æŠ¤è€…: 王文虎 Wang Wenhu <wenhu.wang@vivo.com> + 䏿–‡ç‰ˆç¿»è¯‘者: 王文虎 Wang Wenhu <wenhu.wang@vivo.com> + 䏿–‡ç‰ˆæ ¡è¯‘者: 王文虎 Wang Wenhu <wenhu.wang@vivo.com> + +=========================================== +virtiofs: virtio-fs 主机<->客机共享文件系统 +=========================================== + +- Copyright (C) 2020 Vivo Communication Technology Co. Ltd. + +ä»‹ç» +==== +Linuxçš„virtiofs文件系统实现了一个åŠè™šæ‹ŸåŒ–VIRTIO类型“virtio-fsâ€è®¾å¤‡çš„驱动,通过该\ +类型设备实现客机<->主机文件系统共享。它å…许客机挂载一个已ç»å¯¼å‡ºåˆ°ä¸»æœºçš„目录。 + +客机通常需è¦è®¿é—®ä¸»æœºæˆ–者远程系统上的文件。使用场景包括:在新客机安装时让文件对其\ +å¯è§ï¼›ä»Žä¸»æœºä¸Šçš„æ ¹æ–‡ä»¶ç³»ç»Ÿå¯åŠ¨ï¼›å¯¹æ— çŠ¶æ€æˆ–临时客机æä¾›æŒä¹…å˜å‚¨å’Œåœ¨å®¢æœºä¹‹é—´å…±äº«ç›®å½•。 + +尽管在æŸäº›ä»»åŠ¡å¯èƒ½é€šè¿‡ä½¿ç”¨å·²æœ‰çš„网络文件系统完æˆï¼Œä½†æ˜¯å´éœ€è¦éžå¸¸éš¾ä»¥è‡ªåŠ¨åŒ–çš„é…ç½®\ +æ¥éª¤ï¼Œä¸”å°†å˜å‚¨ç½‘络暴露给客机。而virtio-fs设备通过æä¾›ä¸ç»è¿‡ç½‘络的文件系统访问文件\ +的设计方å¼è§£å†³äº†è¿™äº›é—®é¢˜ã€‚ + +å¦å¤–,virto-fsè®¾å¤‡å‘æŒ¥äº†ä¸»å®¢æœºå…±å˜çš„优点æé«˜äº†æ€§èƒ½ï¼Œå¹¶ä¸”æä¾›äº†ç½‘络文件系统所ä¸å…·å¤‡ +的一些è¯ä¹‰åŠŸèƒ½ã€‚ + +用法 +==== +以``myfs``æ ‡ç¾å°†æ–‡ä»¶ç³»ç»ŸæŒ‚载到``/mnt``: + +.. code-block:: sh + + guest# mount -t virtiofs myfs /mnt + +请查阅 https://virtio-fs.gitlab.io/ 了解é…ç½®QEMUå’Œvirtiofsd守护程åºçš„详细信æ¯ã€‚ + +内幕 +==== +由于virtio-fs设备将FUSEåè®®ç”¨äºŽæ–‡ä»¶ç³»ç»Ÿè¯·æ±‚ï¼Œå› æ¤Linuxçš„virtiofs文件系统与FUSEæ–‡\ +件系统客户端紧密集æˆåœ¨ä¸€èµ·ã€‚客机充当FUSE客户端而主机充当FUSEæœåŠ¡å™¨ï¼Œå†…æ ¸ä¸Žç”¨æˆ·ç©º\ +间之间的/dev/fuse接å£ç”±virtio-fs设备接å£ä»£æ›¿ã€‚ + +FUSE请求被置于虚拟队列ä¸ç”±ä¸»æœºå¤„ç†ã€‚主机填充缓冲区ä¸çš„å“应部分,而客机处ç†è¯·æ±‚的完æˆéƒ¨åˆ†ã€‚ + +å°†/dev/fuseæ˜ å°„åˆ°è™šæ‹Ÿé˜Ÿåˆ—éœ€è¦è§£å†³/dev/fuse和虚拟队列之间è¯ä¹‰ä¸Šçš„å·®å¼‚ã€‚æ¯æ¬¡è¯»å–\ +/dev/fuse设备时,FUSE客户端都å¯ä»¥é€‰æ‹©è¦ä¼ 输的请求,从而å¯ä»¥ä½¿æŸäº›è¯·æ±‚优先于其他\ +请求。虚拟队列有其队列è¯ä¹‰ï¼Œæ— 法更改已入队请求的顺åºã€‚在虚拟队列已满的情况下尤 +å…¶å…³é”®ï¼Œå› ä¸ºæ¤æ—¶ä¸å¯èƒ½åŠ å…¥é«˜ä¼˜å…ˆçº§çš„è¯·æ±‚ã€‚ä¸ºäº†è§£å†³æ¤å·®å¼‚,virtio-fs设备采用“hiprioâ€\ +(高优先级)虚拟队列,专门用于有别于普通请求的高优先级请求。 +