使用快照选项安装 cifs 驱动器时出现:“cifs:‘快照’值错误”

使用快照选项安装 cifs 驱动器时出现:“cifs:‘快照’值错误”

我在 Azure 中有文件共享,我想挂载其中一个快照。我正在使用以下命令:

sudo /bin/mount -t cifs //storageAccountName.file.core.windows.net/fileShareName /home/userName/mount -o vers=3.0,credentials=/home/userName/cred,dir_mode=0444,file_mode=0444,serverino,snapshot=132888855100000000

并且失败了

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

我可以通过以下方式获取更多信息sudo tail -f /var/log/kern.log

Feb  9 18:16:58 VmName kernel: [ 3963.812792] cifs: Bad value for 'snapshot'

如果我不使用快照选项,那么一切都会按预期工作(但我有当前文件共享而不是快照)

sudo /bin/mount -t cifs //storageAccountName.file.core.windows.net/fileShareName /home/userName/mount -o vers=3.0,credentials=/home/userName/cred,dir_mode=0444,file_mode=0444,serverino

我在 Azure 中使用 Ubuntu 20.04*,奇怪的是它在 Ubuntu 18.04** 中运行良好!不幸的是,我被迫使用 20.04。

*Ubuntu 20.04:

>hostnamectl
         Icon name: computer-vm
           Chassis: vm
    Virtualization: microsoft
  Operating System: Ubuntu 20.04.3 LTS
            Kernel: Linux 5.11.0-1028-azure
      Architecture: x86-64

>apt list --installed | grep cifs
cifs-utils/focal-updates,now 2:6.9-1ubuntu0.1 amd64 [installed]

**Ubuntu 18.04:

>hostnamectl
         Icon name: computer-vm
           Chassis: vm
    Virtualization: microsoft
  Operating System: Ubuntu 18.04.6 LTS
            Kernel: Linux 5.4.0-1067-azure
      Architecture: x86-64

>apt list --installed | grep cifs
cifs-utils/bionic-updates,now 2:6.8-1ubuntu1.1 amd64 [installed]

我甚至能够将 Ubuntu 18.04 中的 cifs-utils 更新到版本 6.9(与 20.04 相同),它仍然可以正常工作,所以我不认为 cifs-utils 是问题所在。

任何帮助均感激不尽。

答案1

这是 Linux 内核回归(在 v5.11 中引入)。他们添加了一些额外的检查(在提交“24e0a1eff9e2b9835a6e7c17039dfb6ecfd81f1f”中)。其中之一是检查快照值是否为 32 位无符号整数。问题是这个值应该是 64 位无符号整数。因此,错误的检查导致“错误值”错误消息和挂载失败。

有关详细信息,请参阅他们的错误跟踪器:https://bugzilla.kernel.org/show_bug.cgi?id=215593

相关内容