6sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/filesystems/virtiofsmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/zh_TW/filesystems/virtiofsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/it_IT/filesystems/virtiofsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ja_JP/filesystems/virtiofsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ko_KR/filesystems/virtiofsmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/sp_SP/filesystems/virtiofsmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhU/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/filesystems/virtiofs.rsthKubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh]hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h?:ref:`Documentation/filesystems/virtiofs.rst ` h]h)}(h>:ref:`Documentation/filesystems/virtiofs.rst `h]h)}(hhh]hinline)}(hhh]h&Documentation/filesystems/virtiofs.rst}(hhhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdoc'translations/zh_CN/filesystems/virtiofs refdomainjreftyperef refexplicitrefwarn reftargetvirtiofs_indexuh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(h 译者 ::h]h译者}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh literal_block)}(h中文版维护者: 王文虎 Wang Wenhu 中文版翻译者: 王文虎 Wang Wenhu 中文版校译者: 王文虎 Wang Wenhu h]h中文版维护者: 王文虎 Wang Wenhu 中文版翻译者: 王文虎 Wang Wenhu 中文版校译者: 王文虎 Wang Wenhu }hjAsbah}(h]h ]h"]h$]h&]hhuh1j?hhhK hhhhubhsection)}(hhh](htitle)}(h5virtiofs: virtio-fs 主机<->客机共享文件系统h]h5virtiofs: virtio-fs 主机<->客机共享文件系统}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jThjQhhhhhKubh bullet_list)}(hhh]h list_item)}(h:Copyright (C) 2020 Vivo Communication Technology Co. Ltd. h]h)}(h9Copyright (C) 2020 Vivo Communication Technology Co. Ltd.h]h9Copyright (C) 2020 Vivo Communication Technology Co. Ltd.}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1jihjfhhhhhNubah}(h]h ]h"]h$]h&]bullet-uh1jdhhhKhjQhhubjP)}(hhh](jU)}(h介绍h]h介绍}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jThjhhhhhKubh)}(hLinux的virtiofs文件系统实现了一个半虚拟化VIRTIO类型“virtio-fs”设备的驱动,通过该\ 类型设备实现客机<->主机文件系统共享。它允许客机挂载一个已经导出到主机的目录。h]hLinux的virtiofs文件系统实现了一个半虚拟化VIRTIO类型“virtio-fs”设备的驱动,通过该 类型设备实现客机<->主机文件系统共享。它允许客机挂载一个已经导出到主机的目录。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h客机通常需要访问主机或者远程系统上的文件。使用场景包括:在新客机安装时让文件对其\ 可见;从主机上的根文件系统启动;对无状态或临时客机提供持久存储和在客机之间共享目录。h]h客机通常需要访问主机或者远程系统上的文件。使用场景包括:在新客机安装时让文件对其 可见;从主机上的根文件系统启动;对无状态或临时客机提供持久存储和在客机之间共享目录。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX尽管在某些任务可能通过使用已有的网络文件系统完成,但是却需要非常难以自动化的配置\ 步骤,且将存储网络暴露给客机。而virtio-fs设备通过提供不经过网络的文件系统访问文件\ 的设计方式解决了这些问题。h]hX尽管在某些任务可能通过使用已有的网络文件系统完成,但是却需要非常难以自动化的配置 步骤,且将存储网络暴露给客机。而virtio-fs设备通过提供不经过网络的文件系统访问文件 的设计方式解决了这些问题。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h另外,virto-fs设备发挥了主客机共存的优点提高了性能,并且提供了网络文件系统所不具备 的一些语义功能。h]h另外,virto-fs设备发挥了主客机共存的优点提高了性能,并且提供了网络文件系统所不具备 的一些语义功能。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjhhubeh}(h]id1ah ]h"]介绍ah$]h&]uh1jOhjQhhhhhKubjP)}(hhh](jU)}(h用法h]h用法}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jThjhhhhhK$ubh)}(h2以``myfs``标签将文件系统挂载到``/mnt``:h]h2以``myfs``标签将文件系统挂载到``/mnt``:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjhhubj@)}(h"guest# mount -t virtiofs myfs /mnth]h"guest# mount -t virtiofs myfs /mnt}hjsbah}(h]h ]h"]h$]h&]hhforcelanguageshhighlight_args}uh1j?hhhK'hjhhubh)}(ha请查阅 https://virtio-fs.gitlab.io/ 了解配置QEMU和virtiofsd守护程序的详细信息。h](h 请查阅 }(hjhhhNhNubh reference)}(hhttps://virtio-fs.gitlab.io/h]hhttps://virtio-fs.gitlab.io/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubh; 了解配置QEMU和virtiofsd守护程序的详细信息。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK+hjhhubeh}(h]id2ah ]h"]用法ah$]h&]uh1jOhjQhhhhhK$ubjP)}(hhh](jU)}(h内幕h]h内幕}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jThj9hhhhhK.ubh)}(hX由于virtio-fs设备将FUSE协议用于文件系统请求,因此Linux的virtiofs文件系统与FUSE文\ 件系统客户端紧密集成在一起。客机充当FUSE客户端而主机充当FUSE服务器,内核与用户空\ 间之间的/dev/fuse接口由virtio-fs设备接口代替。h]hX由于virtio-fs设备将FUSE协议用于文件系统请求,因此Linux的virtiofs文件系统与FUSE文 件系统客户端紧密集成在一起。客机充当FUSE客户端而主机充当FUSE服务器,内核与用户空 间之间的/dev/fuse接口由virtio-fs设备接口代替。}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hj9hhubh)}(hFUSE请求被置于虚拟队列中由主机处理。主机填充缓冲区中的响应部分,而客机处理请求的完成部分。h]hFUSE请求被置于虚拟队列中由主机处理。主机填充缓冲区中的响应部分,而客机处理请求的完成部分。}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hj9hhubh)}(hX*将/dev/fuse映射到虚拟队列需要解决/dev/fuse和虚拟队列之间语义上的差异。每次读取\ /dev/fuse设备时,FUSE客户端都可以选择要传输的请求,从而可以使某些请求优先于其他\ 请求。虚拟队列有其队列语义,无法更改已入队请求的顺序。在虚拟队列已满的情况下尤 其关键,因为此时不可能加入高优先级的请求。为了解决此差异,virtio-fs设备采用“hiprio”\ (高优先级)虚拟队列,专门用于有别于普通请求的高优先级请求。h]hX*将/dev/fuse映射到虚拟队列需要解决/dev/fuse和虚拟队列之间语义上的差异。每次读取 /dev/fuse设备时,FUSE客户端都可以选择要传输的请求,从而可以使某些请求优先于其他 请求。虚拟队列有其队列语义,无法更改已入队请求的顺序。在虚拟队列已满的情况下尤 其关键,因为此时不可能加入高优先级的请求。为了解决此差异,virtio-fs设备采用“hiprio” (高优先级)虚拟队列,专门用于有别于普通请求的高优先级请求。}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hj9hhubeh}(h]id3ah ]h"]内幕ah$]h&]uh1jOhjQhhhhhK.ubeh}(h]virtiofs-virtio-fsah ]h"]5virtiofs: virtio-fs 主机<->客机共享文件系统ah$]h&]uh1jOhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jTN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jj~jjj6j3jyjvu nametypes}(jjj6jyuh}(j~jQjjj3jjvj9u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]hsystem_message)}(hhh]h)}(hfPossible title underline, too short for the title. Treating it as ordinary text because it's so short.h]hhPossible title underline, too short for the title. Treating it as ordinary text because it’s so short.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOlineKsourcehuh1j hhhhhhhKubatransform_messages] transformerN include_log]9Documentation/translations/zh_CN/filesystems/virtiofs.rst(NNNNta decorationNhhub.