cancel
Showing results for 
Search instead for 
Did you mean: 

Insights

What versions of Enterprise Vault support Sparse File attributes when creating Placeholders on NetApp CIFS volumes?

The Network Appliance Filer operating system ONTAP version 7.3 introduced the support for setting Sparse File attribute.  Additional code change was required for EV to fully support the added feature.

EV 2007 SP6 supports ONTAP 7.3 however still uses the legacy method when setting PH size via API calls with ONTAPI function ‘file-truncate-file’. This allows EV 2007 to continue supporting PH with ONTAP 7.3

Full support to the actual Sparse File feature was introduced in EV 8.0 which determines the filer version during Archiving and activates the Sparse File processing method once ONTAP 7.3 is detected.

To illustrate the different processing logic two sections are presented below with samples of Dtrace output and relevant comments.

 

 Section 1 - EV 2007 legacy PH processing with API call file-truncate-file

 

Start reading setting on whether or not PH should be created:

{FileServer.Load} uncName from DB = \\Virposix, constructed = \\virposix.v4325rdg.gpk

{FileServer.FetchNetappPHRegistryOption} Original file size will be set for Netapp placeholders.

CNetAppPHHelper::CNetAppPHHelper - Initializing ONTAP API

CNetAppPHHelper::InitializeNetAppServer

{FileSystemTaskInfo.GetFileServer} File Server DNS Name:virposix.v4325rdg.gpk

Start Archiving Task against filer target:

|Event ID: 40985 Starting to process the file system volume: virstrg.

 

 Item Processor – item from queue:

{FileSystemItemProcessor.ArchiveFile} The file: \\?\UNC\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt has never been archived

Storing item into Vault:

{FileSystemItemProcessor.StoreItem} Storing file \\?\UNC\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt

{Saveset.Load} Name:EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt Urn:urn:kvsplc-com:evsite:ArchiveFolder:(B05F76D1C25EB144B4AC44BDB4B2EAA0):ItemId:EV_FILESYSTEM_ARCHIVE_REPORT_FILESYSTEMARCHIVINGTASK_20070828180013.txt(DBEA4D4185E24303B6993D36503ACD60)

Tidying up – resetting time stamps following I/O:

{_File.ResetLastAccessedDate} Resetting the last accessed date for the file: \\?\UNC\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt

Post-Processing:

{FileSystemItemProcessor.ArchiveFile} The file: \\?\UNC\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt is archived and secured as its vault store backup flag = Immediately After Archive

{FileSystemItemProcessor.PostProcessItem} Post Processing the file \\?\UNC\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt

Setting PH size using API call:

CNetAppPHHelper::SetFileSizeOfPlaceholder - Set file size of placeholder \\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt

 

 NOTE –  DLL implemented for additional  dtrace output:

 Local Path after resolving from UNC: /vol/posix_vol/07OCT08/ReportsAP/EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt

 About to call file-truncate-file with: /vol/posix_vol/07OCT08/ReportsAP/EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt

Tidying up (again) – resetting time stamps following I/O:

{_File.ResetDates} Resetting the last accessed date for the file: \\?\UNC\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt

Validation check against PH created:

{FileSystemItemProcessor.PostProcessItem} Placeholder validation passed for \\?\UNC\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\EV_FILESYSTEM_ARCHIVE_REPORT_FILE SYSTEM ARCHIVING TASK_20070828180013.txt.

 

 

 

NOTE: - At PostProcessing if the API call cannot set the PH size it results in error when calling the ONTAPI function:


CNetAppPHHelper::SetFileSizeOfPlaceholder - Set file size of placeholder \\virposix.v4325rdg.gpk\virstrg\07OCT08\ReportsAP\Résultats\E56003.184.doc
 

CNetAppPHHelper::SetFileSizeOfPlaceholder - file-truncate-file 2: Unable to open /vol/vol0/virstrg/07OCT08/ReportsAP/RésultatsAnalyses/E56003.184.doc: No such file or directory
 

 


 

Section 2 - EV 8.0.x method using Sparse File attribute:

 

 

Start reading setting on whether or not PH should be created:

{FileServer.Load} uncName from DB = \\Vfiler73, constructed = \\Vfiler73.rb4325.gpk

(EvFsaArchivingTask)     <9696>EV-M     {FileServer.FetchNetappPHRegistryOption} Original file size will be set for Netapp placeholders.

Check Filer version:

EVPHCommon::GetFilerVersion

filerVersionStrShort = NetApp Release 7.3, filerVersionStrLong = NetApp Release 7.3: Thu Jul 24 12:55:28 PDT 2008, filerversion=7.300000

CTraceSink::FormatAndTrace format exception Format:%s: Filer %s has ONTAP version %d which supports sparse file attribute. So ONTAP API initialization is not performed

Start Archiving Task against filer target:

|Event ID: 40983 Starting to process task: Vfiler73_UNICODE_PHSize FSA Task.

Item Processor – item from queue:

{FileSystemItemProcessor.ArchiveFile} The file: \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm has never been archived

{FileSystemItemProcessor.StoreItem} Storing file \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm

Storing item into Vault:

{StoreAccessor.InsertItem} Item: urn:kvsplc-com:64bit:ArchiveFolder:(0953CFE0AB17FF409E79045C932A9E9E):ItemId:ReadMeFirst.htm(70375AD43C6C352BC2DB1B06A0C27471) Seq No.:1 SSID:200902040000000~200812171208460000~Z~70375AD43C6C352BC2DB1B06A0C27471


 

Tidying up – resetting time stamps following I/O:

{_File.ResetLastAccessedDate} Resetting the last accessed date for the file: \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm

Post-Processing:

{FileSystemItemProcessor.PostProcessItem} Post Processing the file \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm

{FileSystemItemProcessor.PostProcessItem} volume.VaultStoreBackupFlag: Immediately, matchedRule.ShortcutOption: CREATESHORTCUTSIMMEDIATELY, ItemState: NOTARCHIVED

{FileSystemItemProcessor.PostProcessItem} Action:CREATESHORTCUTNOW Archive status: Archived, Shortcut status: ShortcutCreated, Filename:\\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm

{FileSystemItemProcessor.PostProcessItem} Post Processing, the file \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm will be made as Placeholder

Setting PH size using Sparse File attribute:

CNetAppPHHelper::SetFileSizeOfPlaceholder - Set file size of placeholder \\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm

CNetAppPHHelper::SetFileSizeUsingSparseAttribute: Filename:\\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm| FileSize in Bytes:66633

CNetAppPHHelper::SetFileSizeUsingSparseAttribute: Successuflly set sparse attribute on file \\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm

Tidying up (again) – resetting time stamps following I/O:

{_File.ResetDates} Resetting the last accessed date for the file: \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm

Validation check against PH created:

{FileSystemItemProcessor.PostProcessItem} Placeholder validation passed for \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm.


 

Output to Report log:

{FileSystemItemProcessor.PostProcessItem} Writing the Report for :\\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm, Archive status: Archived, Shortcut status: ShortcutCreated

Updating the Check-Point control file:

{FileSystemArchivingCheckPoint.AddFileToFolderWorkItemsPartiallyProcessedList} In folder \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ, marking file \\?\UNC\Vfiler73.rb4325.gpk\73strg\dtraceAP\ÅöôÆò_ÑÄÅ\ReadMeFirst.htm as processed