Unofficial errata: FreeBSD Mastery: ZFS
I bought the ebook edition of FreeBSD Mastery: ZFS this June. While the authors’ intentions are good, the 2015-05-21 edition has some errors and mistakes. The table below is nothing more than an unofficial errata of said book. Beware, what you find below might be due to my lack of understanding FreeBSD, ZFS, or the English language.
BTW, if you print this ebook as a booklet using Adobe Reader or similar software, specify a custom range of 1,11,2-234. This trick creates a blank page after the cover page, and places the titlepages and the first page of each chapter on the right side of the sheet. In addition, I had to specify portrait orientation and no auto-rotate. Otherwise the front and back of each sheet would be rotated by 180 degrees. Imagine reading such a book(let).
Page(s) | Complaint |
10-11 | “GPT labels have a maximum length of 15 characters, so you might have to truncate long serial numbers.“ GPT labels are not limited to 15 characters. Nor does FreeBSD limit GPT labels to 15 characters. Such labels are limited to 36 UTF16LE encoded characters (72 octets). Beware, gpart (8) will silently truncate labels longer than 36 UTF16LE characters. See the Wikipedia entry on GPT and the header file sys/sys/gpt.h. In other words, a label of “s2d9-WD-WCAW36477223” consists of 20 UTF16LE characters, and that’s well within the limit. |
17 | “Look at the second entry, named zroot/ROOT . This is a ZFS dataset created for the root filesystem.“In this case, zroot/ROOT is not a dataset created for the root filesystem. It is a dataset, but it serves more as a classifier. On the other hand, zroot/ROOT/default , is truly a root filesystem, and often what the bootfs property refers to. I suggest a rewrite: “Look at the second entry, named zroot/ROOT . This is a ZFS dataset created to contain the root filesystems.“ |
33 | “Traditional RAID let you combine multiple disks into one virtual disk, permitting the creation of massive disks as large as 100 MB, or even bigger!“ A virtual disk of 100 MB has been easy for many years. Today, most (physical) disks range from 128 GB to 3 TB. Let’s scale the number up to 100 TB. |
69 | “Every zpool retains a copy of all changes that have ever been made to the pool, all the way back to the pool’s creation.“ Yes and no. It depends on how much activity you have in the pool. If you create (and possibly destroy) snapshots regularly, then those commands will eventually fill up the history, and all records of the initial commands will be gone. Maybe this has changed in recent versions of FreeBSD and/or ZFS, but I doubt it. |
80 | “You can show filesystems, volumes, or snapshots.“ The list must be extended to include bookmarks, unless this is material for “FreeBSD Mastery: Advanced ZFS”. |
84 | A source will be set to received when a property was received using the zfs receive command. |
114-115 | “With zpool replace , the faulted provider remains as online as it can manage until resilvering finishes. If you lose a second disk in your RAID-Z1 during resilvering, there’s a chance the pool has enough data integrity to survive.“I can’t make sense of the second and the third sentence of the last paragraph on page 114. I suggest a rewrite: “With zpool replace , the faulted provider remains online for as long as it can manage until resilvering finishes. If you lose a second disk in your RAID-Z1 during resilvering, there’s a chance the pool has enough data integrity to survive.“ |
154-159 | I’m missing a discussion on the dedupditto property, unless this topic is destined for “FreeBSD Mastery: Advanced ZFS”. |