From: Piotr Jurkiewicz <email@example.com> To: firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org Subject: Re: [PATCH 00/52] [RFC] virtio-fs: shared file system for virtual machines Date: Wed, 12 Dec 2018 18:07:40 +0100 Message-ID: <email@example.com> (raw) Currently, virtio-9p cannot be used with overlayfs in order to obtain Docker-like experience (but with separate kernel) because of file attributes problems. I wrote an email about that to qemu-devel almost year ago, but it received no attention (I attach its contents below.). Will virtio-fs avoid these problems? I assume it will be transparent from the point of view of file attributes, and not enforce any kind of security filtering? Piotr Jurkiewicz ---- 1. Upper filesystem must support the creation of trusted.* extended attributes. 9pfs has support for getting/setting xattrs, but calls operating on attributes other than user.* and system.posix_acl_* are dropped. 2. Upper filesystem must provide valid d_type in readdir responses. This works, but only in case of 'passtrough' and 'none' security models. In the case of 'mapped-xattr' and 'mapped-file' models, d_type is being zeroed to DT_UNKNOWN during readdir() call. All these limitations can be resolved pretty easily, but requires some design decisions. I can prepare appropriate patches. Ad. 1. Why are operations on attributes other than than user.* and system.posix_acl_* forbidden? Is this due to security reasons? If so, can we map all of them to user.virtfs namespace, similarly as system.posix_acl_* are being mapped to user.virtfs.system.posix_acl_* in 'mapping' mode already? This way any trusted/security/system attributes will be effective only when mounted via virtfs inside VM. Ad. 2. local_readdir() can fill entry->d_type with the right DT_* value by obtaining file type from mapping and translating it with IFTODT() macro. This would, however, require reading 'user.virtfs.mode' for each direntry during readdir() call, what can affect performance. If so, this behavior would probably need to be controlled with some runtime option. 'mapped-xattr' and 'mapped-file' models are essential for running qemu with overlayfs as non-root, because overlayfs creates device nodes, what is possible for unprivileged user only with these models.
next reply index Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-12-12 17:07 Piotr Jurkiewicz [this message] 2018-12-12 21:25 ` Vivek Goyal -- strict thread matches above, loose matches on Subject: below -- 2018-12-10 17:12 Vivek Goyal 2018-12-11 12:54 ` Stefan Hajnoczi 2018-12-12 20:30 ` Konrad Rzeszutek Wilk 2018-12-12 21:22 ` Vivek Goyal 2019-02-12 15:56 ` Aneesh Kumar K.V 2019-02-12 18:57 ` Vivek Goyal
Reply instructions: You may reply publically to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ email@example.com firstname.lastname@example.org public-inbox-index lkml Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/ public-inbox