--- src/sys/vfs/hammer/hammer_vfsops.c 2008/06/20 21:24:53 1.51 +++ src/sys/vfs/hammer/hammer_vfsops.c 2008/06/23 21:42:48 1.52 @@ -249,6 +249,10 @@ hammer_vfs_mount(struct mount *mp, char if (info.nvolumes <= 0 || info.nvolumes >= 32768) return (EINVAL); } + if ((info.hflags & HMNT_MASTERID) && + (info.masterid < -1 || info.masterid >= HAMMER_MAX_MASTERS)) { + return (EINVAL); + } /* * Interal mount data structure @@ -292,6 +296,10 @@ hammer_vfs_mount(struct mount *mp, char } hmp->hflags &= ~HMNT_USERFLAGS; hmp->hflags |= info.hflags & HMNT_USERFLAGS; + if (info.hflags & HMNT_MASTERID) + hmp->masterid = -1; + else + hmp->masterid = info.masterid; if (info.asof) { kprintf("ASOF\n"); mp->mnt_flag |= MNT_RDONLY;