Data Domain - DDFM getattr: Error: Unsupported info level is thrown by lwio when trying to access a file that contains Alternate Data Streams
Summary: DDFM getattr: Error: Unsupported info level is thrown by lwio when trying to access a file that contains Alternate Data Streams
Symptoms
What is an Alternate Data Stream (ADS)?
Alternate Data Streams are a feature of the NTFS file system that allows a file to store multiple streams of data. The primary stream contains the actual file content, while additional streams can hold extra information. Originally introduced to support macOS Hierarchical File System (HFS), ADS has since been used for various purposes.
The default stream is called $DATA, which stores the main file content. Any other streams attached to the file are considered “alternate.” While ADS has sometimes been misused by malware to hide data, it is also used legitimately by applications such as email and archiving software.
Solutions like Veritas Enterprise Vault and Dell SourceOne use Alternate Data Streams for storing archived information. If these files are stored on a Data Domain system, you may encounter issues accessing them through SMB because our SMB protocol implementation does not support ADS.
Cause
Alternate Data Streams are not supported by the SMB protocol implementation.
Resolution
DDFM getattr: Error: Unsupported info level: This error indicates that an access to the attribute containing the Alternate Data Stream failed as it is unsupported.
You can obtain the name of the files with a query like the following:
grep "Unsupported info level" cifs.log | grep -Po "path.*?\)" | sort | uniq | head -20
it will return a list of files, for example: (head -20 will limit to first 20, if you want the entire list, use "less" instead of "head -20"
path(/data/col1/sourceOneProd/sourceOneProd/202006/20200604160306.emx)
path(/data/col1/sourceOneProd/sourceOneProd/202006/20200604163052.emx)
In general, however, you will need to check if the files actually contain ADS (refer to step 2)
1b) Also note that in some DD OS versions, that the error will show"
ADS not supported",
grep "ADS not supported" cifs.log| grep -Po "path.*?\)" | sort | uniq | head -201c) You can also count the number of hits each file is seen or check
cifs.log.1.gz and cifs.log.2.gzzgrep "ADS not supported" cifs.log.[1-2].gz | grep -Po "path.*?\)" | sort | uniq -c | sort -nr |head -20
Bear in mind that Alternate streams are not listed in Windows Explorer, and their size is not included in the file's size. So for checking if a file contains ADS you can use several alternatives:
2.1) You can use dir /r to display files with Alternate Data Streams
To display only files that contain ADS in a folder and their subfolders, you can use the following command:
dir /r | find ":$DATA"
More information can be found here
2.2) You can use any of the third-party tools available for checking ADS. Microsoft provides a tool called Streams to view streams on a selected volume, which is the one we recommend.
Also starting with Windows PowerShell 3.0, it is possible to manage ADS natively with six cmdlets: Add-Content, Clear-Content, Get-Content, Get-Item, Remove-Item, Set-Content.
3) If files contain Alternate Data Streams (ADS), please note that our SMB protocol implementation does not support ADS. As a result, these files cannot be accessed directly and cannot be stored on the PowerProtect/Data Domain solution for direct client access.
The files containing the ADS will need to be stored in a pure NTFS partition (like a Windows Server box)