You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The stat(2) call fails to show that a directory on an SMB share is a directory. It does behave correctly when given a directory on the Pi's SD card. The same call works correctly on the same share when run from an x86 Debian VM.
This program ("dir"):
#include <sys/stat.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
struct stat sbuf;
stat(argv[1], &sbuf);
if (S_ISDIR(sbuf.st_mode)) {
printf("%s is a directory\n", argv[1]);
}
}
Works when you give it a directory on the Pi’s drive:
> ./dir /tmp
/tmp is a directory
But it doesn’t work when you give it a directory on a SMB share (from MacOS) that’s mounted on the Pi:
> ./dir directory-on-smb
>
It also works with the same SMB share when you compile and run it on a x86 VM running Debian:
> ./dir directory-on-smb
directory-on-smb/ is a directory
Pi is a Raspberry Pi 3b+.
Virtual machine is a VMware VM running in VMware Workstation Player on a Windows 10 PC (x86).
OS on the Pi is Raspbian GNU/Linux 11 (bullseye).
OS on the VM is Debian GNU/Linux 11 (bullseye).
OS on the iMac that’s serving the CIFS share is MacOS 13.2.1
SMB client on the Pi is "smbclient/stable,now 2:4.13.13+dfsg-1~deb11u4 armhf”.
SMB client on the VM is "smbclient/stable,stable-security,now 2:4.13.13+dfsg-1~deb11u5 amd64”.
Compiler on the Pi is "gcc version 10.2.1 20210110 (Raspbian 10.2.1-6+rpi1)".
Compiler on the VM is "gcc version 10.2.1 20210110 (Debian 10.2.1-6)".
The text was updated successfully, but these errors were encountered:
The stat(2) call fails to show that a directory on an SMB share is a directory. It does behave correctly when given a directory on the Pi's SD card. The same call works correctly on the same share when run from an x86 Debian VM.
This program ("
dir
"):Works when you give it a directory on the Pi’s drive:
But it doesn’t work when you give it a directory on a SMB share (from MacOS) that’s mounted on the Pi:
It also works with the same SMB share when you compile and run it on a x86 VM running Debian:
Pi is a Raspberry Pi 3b+.
Virtual machine is a VMware VM running in VMware Workstation Player on a Windows 10 PC (x86).
OS on the Pi is Raspbian GNU/Linux 11 (bullseye).
OS on the VM is Debian GNU/Linux 11 (bullseye).
OS on the iMac that’s serving the CIFS share is MacOS 13.2.1
SMB client on the Pi is "
smbclient/stable,now 2:4.13.13+dfsg-1~deb11u4 armhf
”.SMB client on the VM is "
smbclient/stable,stable-security,now 2:4.13.13+dfsg-1~deb11u5 amd64
”.Compiler on the Pi is "
gcc version 10.2.1 20210110 (Raspbian 10.2.1-6+rpi1)
".Compiler on the VM is "
gcc version 10.2.1 20210110 (Debian 10.2.1-6)
".The text was updated successfully, but these errors were encountered: