+ if (havepart) {
+ dpart.part->p_fstype = FS_BSDFFS;
+ dpart.part->p_fsize = fs->fs_fsize;
+ dpart.part->p_frag = fs->fs_frag;
+ fs->fs_dbsize = size;
+ }
+#ifdef SECSIZE
+ /*
+ * If we have a disk label, force per-partition
+ * filesystem information to be correct
+ * and set correct current fsbtodb shift.
+ */
+#endif SECSIZE
+ if (havepart) {
+ dpart.part->p_fstype = FS_BSDFFS;
+ dpart.part->p_fsize = fs->fs_fsize;
+ dpart.part->p_frag = fs->fs_frag;
+#ifdef SECSIZE
+#ifdef tahoe
+ /*
+ * Save the original fsbtodb shift to restore on updates.
+ * (Console doesn't understand fsbtodb changes.)
+ */
+ fs->fs_sparecon[0] = fs->fs_fsbtodb;
+#endif
+ i = fs->fs_fsize / size;
+ for (fs->fs_fsbtodb = 0; i > 1; i >>= 1)
+ fs->fs_fsbtodb++;
+#endif SECSIZE
+ fs->fs_dbsize = size;
+ }