<div dir="ltr"><div>I think what makes PFS difficult to understand is the way nresolve finds PFS by checking two consecutive '@' within the name (followed by master/slave:PFS#), and then look for the root inode of that localization.</div><div><br></div><div>This gets a bit nasty when there are more than 1 hammer mounted, and each hammer has a PFS with the same PFS#.</div><div>For example, the same "@@-1:00001" string indicates different PFSes depending on which hammer you are at, but anywhere in that hammer.</div><div><br></div><div>You could pfs-destroy "@@-1:00001" even if you don't see "@@-1:00001" in the current directory, because all it cares about is two consecutive '@' somewhere in the hammer you're currently at.</div><div>This is weird from the way filesystems usually behave.</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-12-15 4:53 GMT+09:00 Matthew Dillon <span dir="ltr"><<a href="mailto:dillon@apollo.backplane.com" target="_blank">dillon@apollo.backplane.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">    Master has gotten an installer revamp w/regards to the partition<br>
    setup.<br>
<br>
    Previously the installer used radically different arrangements for UFS<br>
    vs HAMMER.  UFS put an integrated boot+root on partition 'a', swap on 'b',<br>
    and HAMMER put boot on 'a', swap on 'b', and root on 'd'.  HAMMER installs<br>
    also created a whole bunch of PFS's for various major directories such<br>
    as /home.<br>
<br>
    The new setup is more uniform.  An 'a' boot, 'b' swap, 'd' root, and<br>
    'e' /build is created whether UFS or HAMMER is chosen.  PFS's are no<br>
    longer used.  Instead, major directories which generally do not have<br>
    to be backed up (such as /usr/obj) are put on /build and null-mounted<br>
    to their appropriate places via the fstab.  Major directories which<br>
    typically do need to be backed up, such as (most of /var), /home, /usr,<br>
    and /usr/local remain on the root filesystem.<br>
<br>
    The new setup handles small drives (typically < 40GB) by not creating<br>
    a separate /build partition.  It still creates the /build directory<br>
    infrastructure on the root filesystem and still creates the null-mounts,<br>
    making it relatively easy for the user to manage later on if/when moving<br>
    to a setup with more storage.<br>
<br>
    --<br>
<br>
    I've been using this scheme very successfully at home and on servers<br>
    for more than a year now and really like the flexibility and ease of<br>
    management.  The null mounts are a lot easier for users to manage than<br>
    the hammer PFS's, and the separation reduces the chances of the root<br>
    filesystem becoming corrupt during a crash.<br>
<br>
    These changes also allow UFS installs to use encrypted roots which they<br>
    could not before.  While we recommend HAMMER over UFS generally, there<br>
    are still a few cases where UFS is more convenient, such as on small<br>
    storage media / USB flash drives.<br>
<br>
                                        -Matt<br>
<span class="HOEnZb"><font color="#888888">                                        Matthew Dillon<br>
                                        <<a href="mailto:dillon@backplane.com">dillon@backplane.com</a>><br>
</font></span></blockquote></div><br></div>