# update-prot command

The update-prot command toggles or displays
the status of the file update protection scheme. When enabled, this
feature globally protects all item updates so that a power-off condition
does not cause a file inconsistency.

## Syntax

```
update-prot {(options}
```

## Parameter(s)

| options | f | Toggles update protection off. |
| --- | --- | --- |
| n | Toggles update protection on. | |
By default the update protection is on. If the user turns
update-protection off, and later turns it back on, the user must use
a flush command afterwards to be sure that all
previous updates are written to disk.

If update protection is
desired for selected files only, the user may disable the global update
protection flag (with update-prot-off), and enable
the protection on the selected files by changing attribute 1 of the
D-pointers of those files to du. When all desired files have been
changed to a du-type, the user *must* use a flush command to write all previous updates to the disk.

If update
protection is desired for most of the system, but the user wishes
to disable it on certain files, the user can change attribute 1 of
the desired D-pointers to dn. These files are not protected irrespective
of the global update-protection status.

Warning: To
implement the update protection scheme, the system must ensure that
all updates are done in a so-called *atomic* fashion. This means
that the whole update either makes it to the disk or not. Because
of this, it is necessary to force-flush pointer-items and overflow
group items to disk at the time the item is written. Therefore, users
may notice some performance decrease if this feature is active, and
the system updates large pointer items (items with lengths greater
than about 300,000 bytes) or normal items in badly sized files with
groups exceeding about 20 frames. In this case, the files should be
resized, or the user may turn off update protection by setting the
first attribute of the selected D-pointer files to dn.

## See also

- [Pointer item](https://d3codex.com/definitions/pointer-item/)
- [set-dptr command](https://d3codex.com/tcl/set-dptr-command/)

---
Source: https://d3codex.com/tcl/update-prot-command/ - part of the D3Codex reference.
