Showing the difference between a data and a nodata Storage Checkpoint

The following example shows the difference between data Storage Checkpoints and nodata Storage Checkpoints.

Note:

A nodata Storage Checkpoint does not contain actual file data.

To show the difference between Storage Checkpoints

  1. Create a file system and mount it on /mnt0, as in the following example:
      # mkfs -F vxfs /dev/vx/rdsk/dg1/test0
      version 9 layout
      134217728 sectors, 67108864 blocks of size 1024, log \
      size  65536 blocks, largefiles supported
      # mount -F vxfs /dev/vx/rdsk/dg1/test0 /mnt0
  2. Create a small file with a known content, as in the following example:
      # echo "hello, world" > /mnt0/file
  3. Create a Storage Checkpoint and mount it on /mnt0@5_30pm, as in the following example:
      # fsckptadm create ckpt@5_30pm /mnt0
      # mkdir /mnt0@5_30pm
      # mount -F vxfs -o ckpt=ckpt@5_30pm \
      /dev/vx/dsk/dg1/test0:ckpt@5_30pm /mnt0@5_30pm
  4. Examine the content of the original file and the Storage Checkpoint file:
      # cat /mnt0/file
      hello, world
      # cat /mnt0@5_30pm/file
      hello, world
  5. Change the content of the original file:
      # echo "goodbye" > /mnt0/file
  6. Examine the content of the original file and the Storage Checkpoint file. The original file contains the latest data while the Storage Checkpoint file still contains the data at the time of the Storage Checkpoint creation:
      # cat /mnt0/file
      goodbye
      # cat /mnt0@5_30pm/file
      hello, world
  7. Unmount the Storage Checkpoint, convert the Storage Checkpoint to a nodata Storage Checkpoint, and mount the Storage Checkpoint again:
      # umount /mnt0@5_30pm
      # fsckptadm -s set nodata ckpt@5_30pm /mnt0
      # mount -F vxfs -o ckpt=ckpt@5_30pm \
      /dev/vx/dsk/dg1/test0:ckpt@5_30pm /mnt0@5_30pm
  8. Examine the content of both files. The original file must contain the latest data:
      # cat /mnt0/file
      goodbye

    You can traverse and read the directories of the nodata Storage Checkpoint; however, the files contain no data, only markers to indicate which block of the file has been changed since the Storage Checkpoint was created:

      # ls -l /mnt0@5_30pm/file
      -rw-r--r--   1 root     other 13 Jul 13 17:13 \
      # cat /mnt0@5_30pm/file
      cat: input error on /mnt0@5_30pm/file: I/O error
      # ls -l /mnt0@5_30pm/file
      -rw-r--r--   1 root     other 13 Jul 13 17:13 \
      # cat /mnt0@5_30pm/file
      cat: /mnt0@5_30pm/file: I/O error