ONTAP Discussions
ONTAP Discussions
We are running ONTAP 9.6P2. We have a volume that houses symlinks to various CIFS shares. The symlinks are created with:
New-NcSymlink -target /linkname -linkname /vol/Groups/linkname
Add-NcCifsSymlink -unixpath /linkname/ -cifspath / -locality widelink -sharename linkname$
All is working well until we try and delete one of these. We first delete the symlink:
RemoveNcCifsSymlink -Unixpath /linkname/
That works well, but when we try and delete the remaining stub file we get a No such file or directory error.
Remove-NcFile -Path "/vol/Groups/linkname"
We get the same errors if we remove all the symlinks and then try to remove all the remaining stubs in bulk using:
Read-NcDirectory -Path /vol/Groups | ?{ $_.Type -eq "symlink" } | %{ Remove-NcFile -Path "/vol/Groups/$($_.Name)/"}
Also, if we try and delete the stubs via Windows command line del the response is that the object is not empty. So how can we delete these stubs and why does the stub still function after the symlink is deleted?
Solved! See The Solution
If we also remove the corresponding CIFS share then the stub may be deleted.
What version of the PSTK and PowerShell are you running? I labbed your commands in the following environment:
PowerShell Version: 5.1
PSTK Version: 9.7.1
ONTAP version: 9.6
PS H:\> New-NcSymlink -target /linkname -LinkName /vol/groups/linkname -VserverContext lab-svm-1000
Name Type Size Created Modified Owner Group Perm Empty
---- ---- ---- ------- -------- ----- ----- ---- -----
linkname symlink 9 B 2/24/2020 2/24/2020 0 0 755
PS H:\> Read-NcDirectory -VserverContext lab-svm-1000 -Path /vol/groups | ?{$_.Type -eq "symlink"}
Name Type Size Created Modified Owner Group Perm Empty
---- ---- ---- ------- -------- ----- ----- ---- -----
linkname symlink 9 B 2/24/2020 2/24/2020 0 0 755
PS H:\> Read-NcDirectory -VserverContext lab-svm-1000 -Path /vol/groups | ?{$_.Type -eq "symlink"} | Remove-NcFile
Delete file
Are you sure you want to delete file /vol/groups/linkname?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
PS H:\>
Unfortunately, I was not able to replicate your issue. Does your "Groups" volume contain a capital "G" like in your code examples? I assume so because it's referenced in that way in your "New-NcSymlink" command, but I wanted to double-check. Wouldn't be the first time I got burned by case-sensitivity. 🙂
PS Toolkit - 9.7.1
PS - 5.1
ONTAP 9.6
The G is uppercase in the name Groups.
If we also remove the corresponding CIFS share then the stub may be deleted.