Pre-populate a FlexCache volume in the cluster
PATCH /storage/flexcache/flexcaches/{uuid}
Introduced In: 9.8
Prepopulates a FlexCache volume in the cluster, or modifies configuration of the FlexCache volume.
Required properties
-
uuid
- FlexCache volume UUID.
Recommended optional properties
-
prepopulate.exclude_dir_paths
- List of directory-paths to be excluded from prepopulation for the FlexCache volume. -
prepopulate.dir_paths
- List of directory-paths to be prepopulated for the FlexCache volume. -
writeback.enabled
- false. This property specifies whether writeback is enabled for the FlexCache volume.
#* writeback.per_inode_dirty_limit
- This property specifies the amount of data in 4KB blocks that the system can write per inode in a FlexCache volume before a writeback is initiated for that inode.
#* writeback.transfer_limit
- This property specifies the maximum number of 4KB data blocks the system can transfer, at one time, from the cache to the origin. This process will keep on recurring until all the dirty blocks for the inode are transferred to the origin volume.
#* writeback.scrub_threshold
- This property specifies the threshold value in 4KB data blocks which when hit will trigger a scrub that will initiate writeback for all dirty inodes on the FlexCache volume.
-
relative_size.enabled
- This property specifies whether the relative sizing is enabled for the FlexCache volume. -
relative_size.percentage
- This property specifies the percent size FlexCache volume should have relative to the total size of the origin volume.
Default property values
If not specified in PATCH, the following default property value is assigned:
-
prepopulate.recurse
- Default value is "true".
Related ONTAP commands
-
volume flexcache prepopulate start
-
volume flexcache config modify
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
uuid |
string |
path |
True |
Unique identifier of the FlexCache volume. |
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
aggregates |
array[aggregates] |
|
constituents_per_aggregate |
integer |
Number of FlexCache constituents per aggregate when the 'aggregates' field is mentioned. |
dr_cache |
boolean |
If set to true, a DR cache is created. |
global_file_locking_enabled |
boolean |
Specifies whether or not a FlexCache volume has global file locking mode enabled. Global file locking mode is a mode where protocol read locking semantics are enforced across all FlexCaches and origins of a FlexCache volume. When global file locking mode is enabled, the "is_disconnected_mode_off_for_locks" flag is always set to "true". |
guarantee |
||
name |
string |
FlexCache name |
origins |
array[flexcache_relationship] |
|
path |
string |
The fully-qualified path in the owning SVM's namespace at which the FlexCache is mounted. The path is case insensitive and must be unique within a SVM's namespace. Path must begin with '/' and must not end with '/'. Only one FlexCache be mounted at any given junction path. |
prepopulate |
FlexCache prepopulate |
|
relative_size |
FlexCache Relative Size |
|
size |
integer |
Physical size of the FlexCache. The recommended size for a FlexCache is 10% of the origin volume. The minimum FlexCache constituent size is 1GB. |
svm |
FlexCache SVM |
|
use_tiered_aggregate |
boolean |
Specifies whether or not a Fabricpool-enabled aggregate can be used in FlexCache creation. The use_tiered_aggregate is only used when auto-provisioning a FlexCache volume. |
uuid |
string |
FlexCache UUID. Unique identifier for the FlexCache. |
writeback |
FlexCache Writeback |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"aggregates": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "aggr1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"guarantee": {
"type": "string"
},
"name": "vol1",
"origins": [
{
"cluster": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "cluster1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"create_time": "2018-06-04 15:00:00 -0400",
"ip_address": "10.10.10.7",
"size": 0,
"state": "string",
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"volume": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "volume1",
"uuid": "028baa66-41bd-11e9-81d5-00a0986138f7"
}
}
],
"path": "/user/my_fc",
"prepopulate": {
"dir_paths": [
"/dir1"
],
"exclude_dir_paths": [
"/dir1/dir2"
]
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
66846922 |
FlexCache volume does not exist in the SVM |
66846923 |
Failed to prepopulate FlexCache volume because the origin volume is not reachable |
66846924 |
FlexCache volume is offline |
66846925 |
FlexCache volume is not mounted or the junction-path is not active |
66846926 |
The junction-path of FlexCache volume is not active |
66846927 |
FlexCache volume does not have an origin volume |
66846928 |
FlexCache volume does not exist |
66846929 |
Using FlexCache prepopulate requires an effective cluster version of 9.8.0 or later |
66846930 |
Using FlexCache prepopulate in a MetroCluster configuration requires an effective cluster version of 9.8.0 or later on both the local and remote clusters |
66846931 |
Internal Error. FlexCache prepopulate job queue failed. Wait a few minutes, and then try the operation again |
66846936 |
Failed to lookup root file handle for origin of FlexCache volume. Wait a few minutes, and then try the operation again |
66846937 |
Internal error. Failed to initialize thread |
66846939 |
Internal error. Failed to get the MSID of the origin volume for FlexCache volume |
66846943 |
Failed to prepopulate because dir_path does not exist |
66846944 |
Failed to get root constituent for FlexCache volume |
66846945 |
Origin of FlexCache volume is not mounted or the junction-path is not active |
66846946 |
The junction-path of origin of FlexCache volume is not active |
66846947 |
FlexCache prepopulate job for FlexCache volume already exists |
66846948 |
FlexCache prepopulate job for FlexCache volume could not be queued because the node is offline |
Name | Type | Description |
---|---|---|
error |
Example error
{
"error": {
"arguments": [
{
"code": "string",
"message": "string"
}
],
"code": "4",
"message": "entry doesn't exist",
"target": "uuid"
}
}
Definitions
See Definitions
href
Name | Type | Description |
---|---|---|
href |
string |
_links
Name | Type | Description |
---|---|---|
self |
aggregates
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
guarantee
Name | Type | Description |
---|---|---|
type |
string |
The type of space guarantee of this volume in the aggregate. |
cluster
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
svm
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
volume
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the volume. |
uuid |
string |
Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.
|
flexcache_relationship
Name | Type | Description |
---|---|---|
cluster |
||
create_time |
string |
Creation time of the relationship. |
ip_address |
string |
Cluster managerment IP of the remote cluster. |
size |
integer |
Size of the remote volume. |
state |
string |
Volume state |
svm |
||
volume |
prepopulate
FlexCache prepopulate
Name | Type | Description |
---|---|---|
dir_paths |
array[string] |
|
exclude_dir_paths |
array[string] |
|
recurse |
boolean |
Specifies whether or not the prepopulate action should search through the |
relative_size
FlexCache Relative Size
Name | Type | Description |
---|---|---|
enabled |
boolean |
Specifies whether the relative sizing is enabled for the FlexCache volume. Relative sizing is introduced as a part of follow the origin feature. When relative sizing is enabled, it blocks any modifications done manually in the absolute size of the FlexCache volume. The size of the FlexCache volume is calculated and entered automatically based on the size of the origin volume. |
percentage |
integer |
Specifies the percent size the FlexCache volume should have relative to the total size of the origin volume. This property is only relevant to a FlexCache volume that has the relative size property enabled. |
svm
FlexCache SVM
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the SVM. |
uuid |
string |
The unique identifier of the SVM. |
writeback
FlexCache Writeback
Name | Type | Description |
---|---|---|
enabled |
boolean |
Indicates whether or not writeback is enabled for the FlexCache volume. Writeback is a storage method where data is first written to the FlexCache volume and then written to the origin of a FlexCache volume. |
flexcache
Defines the cache endpoint of FlexCache.
Name | Type | Description |
---|---|---|
_links |
||
aggregates |
array[aggregates] |
|
constituents_per_aggregate |
integer |
Number of FlexCache constituents per aggregate when the 'aggregates' field is mentioned. |
dr_cache |
boolean |
If set to true, a DR cache is created. |
global_file_locking_enabled |
boolean |
Specifies whether or not a FlexCache volume has global file locking mode enabled. Global file locking mode is a mode where protocol read locking semantics are enforced across all FlexCaches and origins of a FlexCache volume. When global file locking mode is enabled, the "is_disconnected_mode_off_for_locks" flag is always set to "true". |
guarantee |
||
name |
string |
FlexCache name |
origins |
array[flexcache_relationship] |
|
path |
string |
The fully-qualified path in the owning SVM's namespace at which the FlexCache is mounted. The path is case insensitive and must be unique within a SVM's namespace. Path must begin with '/' and must not end with '/'. Only one FlexCache be mounted at any given junction path. |
prepopulate |
FlexCache prepopulate |
|
relative_size |
FlexCache Relative Size |
|
size |
integer |
Physical size of the FlexCache. The recommended size for a FlexCache is 10% of the origin volume. The minimum FlexCache constituent size is 1GB. |
svm |
FlexCache SVM |
|
use_tiered_aggregate |
boolean |
Specifies whether or not a Fabricpool-enabled aggregate can be used in FlexCache creation. The use_tiered_aggregate is only used when auto-provisioning a FlexCache volume. |
uuid |
string |
FlexCache UUID. Unique identifier for the FlexCache. |
writeback |
FlexCache Writeback |
job_link
Name | Type | Description |
---|---|---|
_links |
||
uuid |
string |
The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation. |
error_arguments
Name | Type | Description |
---|---|---|
code |
string |
Argument code |
message |
string |
Message argument |
error
Name | Type | Description |
---|---|---|
arguments |
array[error_arguments] |
Message arguments |
code |
string |
Error code |
message |
string |
Error message |
target |
string |
The target parameter that caused the error. |