Linux kernel 如何在Linux 3.19中使用Overlayfs装载多个lowerdir

Linux kernel 如何在Linux 3.19中使用Overlayfs装载多个lowerdir,linux-kernel,filesystems,embedded-linux,Linux Kernel,Filesystems,Embedded Linux,有一个类似的答案指向3.19 Linux内核中内置的覆盖层,该内核将支持多个较低层。答案提供的链接(以及我偶然发现的其他页面)没有提供关于如何在Linux3.19中实现这一点的任何信息,只说明这是可能的 我目前在3.19上运行,在尝试覆盖多个较低层时遇到问题 从我所读到的内容来看,使用多个lowerdirs装载一个覆盖像这样 mount -t overlay overlay -o lowerdir=/firstlower:/secondlower,upperdir=/upper/root

有一个类似的答案指向3.19 Linux内核中内置的覆盖层,该内核将支持多个较低层。答案提供的链接(以及我偶然发现的其他页面)没有提供关于如何在Linux3.19中实现这一点的任何信息,只说明这是可能的

我目前在3.19上运行,在尝试覆盖多个较低层时遇到问题

从我所读到的内容来看,使用多个
lowerdir
s装载一个覆盖像这样

    mount -t overlay overlay -o lowerdir=/firstlower:/secondlower,upperdir=/upper/root,workdir=/upper/workdir /merged
其中两个较低的层以冒号分隔。我还没有找到足够可靠的来源来证实这些信息,所以我希望这篇文章能有所帮助

使用上述代码将显示一个错误:

      overlayfs: failed to resolve '/firstlower:/secondlower': -2
      mount: mounting overlay on /merged failed: Invalid argument

有人知道出了什么问题吗?我知道我可以覆盖这两个较低的层,然后再次覆盖结果,但我希望能够在一行上这样做,因为在3.19覆盖中需要一个
workdir
,我希望在我们的任何一个较低层中都不需要它。

指定多个较低目录的语法是正确的,可以工作,如中所述。但显然,支持此功能的版本只适用于4.0,而不适用于3.19

ravi@tuxpad linux$ git describe --contains  a78d9f0d5d5ca9054703376c7c23c901807ddd87
v4.0-rc1~2^2~17^2~8

多个较低目录的语法确实正确,如文档/filesystems/overlayfs.txt中所述。FWIW,我在我的笔记本电脑上的最新内核(4.1.6-200.fc22.x86_64)上尝试了你的mount命令,它工作正常。因为您已经用嵌入式linux为帖子添加了标签,所以mount实用程序可能有问题。您是否使用busybox进行装载?我查看了一些关于3.19内核overlayfs的文档,似乎3.19中不存在允许多个lowerdirs的overlay更新,尽管许多消息来源都说可能存在。不确定何时发布,但必须将其捆绑到更高版本中。回答你的问题,是的,我正在使用busybox。你说得对,我看了一下linux树。Mikols的commit a78d9f0d5d5ca9054703376c7c23c901807ddd87“ovl:支持多个较低层”仅在v4.0中出现,而不在v3.19中出现。这就解释了。如果你能发布一个链接到那个页面作为答案,我可以接受它,因为它的答案非常简洁。