Repita o comando umount conforme necessário, até que a pasta /mnt/smb seja u (n) montada de acordo com ls no shell. Então, também deve estar de acordo com o comando mount :
mount | grep /mnt/smb
para que o compartilhamento realmente não seja mais montado. Se algum processo ainda listar conteúdo remoto , ele deve ser armazenado em cache (no entanto, é improvável nesta situação de chamada do sistema php ).
Qualquer comando ainda pode ver o ponto de montagem , é claro, porque é um diretório. Quaisquer arquivos locais que o diretório contenha serão listados, por php ou de um shell.
Para corrigir este último problema, primeiro você pode mover / remover os arquivos do diretório local (enquanto o compartilhamento é não montado), então chmod 0 /mnt/smb as root para indicar o não montado e criar erros de ls enquanto não estiver montado.