2007-04-06 03:09:06 +02:00
|
|
|
# $FreeBSD$
|
|
|
|
|
2008-03-28 00:21:25 +01:00
|
|
|
.include "${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/Makefile.files"
|
2007-04-06 03:09:06 +02:00
|
|
|
|
|
|
|
# ZFS_COMMON_SRCS
|
2008-03-28 00:21:25 +01:00
|
|
|
.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
|
2007-04-06 03:09:06 +02:00
|
|
|
# ZFS_SHARED_SRCS
|
2008-03-28 00:21:25 +01:00
|
|
|
.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs
|
2007-04-06 03:09:06 +02:00
|
|
|
# KERNEL_SRCS
|
2008-03-28 00:21:25 +01:00
|
|
|
.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzpool/common
|
2007-04-06 03:09:06 +02:00
|
|
|
# LIST_SRCS
|
2008-03-28 00:21:25 +01:00
|
|
|
.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/os
|
2007-04-06 03:09:06 +02:00
|
|
|
# ATOMIC_SRCS
|
2011-02-27 20:41:40 +01:00
|
|
|
.if exists(${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
|
2008-03-28 00:21:25 +01:00
|
|
|
.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
|
2009-05-09 07:39:35 +02:00
|
|
|
ATOMIC_SRCS= opensolaris_atomic.S
|
2014-07-07 02:27:09 +02:00
|
|
|
.if ${MACHINE_ARCH} != "sparc64"
|
2011-02-15 23:03:09 +01:00
|
|
|
ACFLAGS+= -Wa,--noexecstack
|
2011-02-15 23:28:15 +01:00
|
|
|
.endif
|
2007-06-08 14:35:47 +02:00
|
|
|
.else
|
2008-03-28 00:21:25 +01:00
|
|
|
.PATH: ${.CURDIR}/../../../sys/cddl/compat/opensolaris/kern
|
2007-06-08 14:35:47 +02:00
|
|
|
ATOMIC_SRCS= opensolaris_atomic.c
|
|
|
|
.endif
|
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system
creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache.
Huge performance improvements mostly for random read of mostly
static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up
operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored
on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one
can select from one of three failure modes:
- panic - panic on write error
- wait - wait for disk to reappear
- continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed
by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
2008-11-17 21:49:29 +01:00
|
|
|
# UNICODE_SRCS
|
|
|
|
.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/unicode
|
2007-04-16 23:20:26 +02:00
|
|
|
|
|
|
|
LIB= zpool
|
|
|
|
|
2012-09-23 21:40:58 +02:00
|
|
|
ZFS_COMMON_SRCS= ${ZFS_COMMON_OBJS:C/.o$/.c/} vdev_file.c trim_map.c
|
2007-04-16 23:20:26 +02:00
|
|
|
ZFS_SHARED_SRCS= ${ZFS_SHARED_OBJS:C/.o$/.c/}
|
|
|
|
KERNEL_SRCS= kernel.c taskq.c util.c
|
|
|
|
LIST_SRCS= list.c
|
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system
creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache.
Huge performance improvements mostly for random read of mostly
static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up
operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored
on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one
can select from one of three failure modes:
- panic - panic on write error
- wait - wait for disk to reappear
- continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed
by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
2008-11-17 21:49:29 +01:00
|
|
|
UNICODE_SRCS= u8_textprep.c
|
2007-04-16 23:20:26 +02:00
|
|
|
|
|
|
|
SRCS= ${ZFS_COMMON_SRCS} ${ZFS_SHARED_SRCS} \
|
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system
creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache.
Huge performance improvements mostly for random read of mostly
static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up
operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored
on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one
can select from one of three failure modes:
- panic - panic on write error
- wait - wait for disk to reappear
- continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed
by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
2008-11-17 21:49:29 +01:00
|
|
|
${KERNEL_SRCS} ${LIST_SRCS} ${ATOMIC_SRCS} \
|
|
|
|
${UNICODE_SRCS}
|
|
|
|
|
2010-03-02 20:04:07 +01:00
|
|
|
WARNS?= 0
|
2008-03-28 00:21:25 +01:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/compat/opensolaris
|
2011-02-27 20:41:40 +01:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../compat/opensolaris/include
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../compat/opensolaris/lib/libumem
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/lib/libzpool/common
|
2008-03-28 00:21:25 +01:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common
|
2011-02-27 20:41:40 +01:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/head
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../lib/libumem
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/lib/libnvpair
|
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system
creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache.
Huge performance improvements mostly for random read of mostly
static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up
operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored
on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one
can select from one of three failure modes:
- panic - panic on write error
- wait - wait for disk to reappear
- continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed
by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
2008-11-17 21:49:29 +01:00
|
|
|
# XXX: pthread doesn't have mutex_owned() equivalent, so we need to look
|
|
|
|
# into libthr private structures. That's sooo evil, but it's only for
|
|
|
|
# ZFS debugging tools needs.
|
|
|
|
CFLAGS+= -DWANTS_MUTEX_OWNED
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../../lib/libpthread/thread
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../../lib/libpthread/sys
|
2010-08-24 00:24:11 +02:00
|
|
|
CFLAGS+= -I${.CURDIR}/../../../lib/libthr/arch/${MACHINE_CPUARCH}/include
|
2007-04-16 23:20:26 +02:00
|
|
|
|
2011-02-27 20:41:40 +01:00
|
|
|
DPADD= ${LIBMD} ${LIBPTHREAD} ${LIBZ}
|
|
|
|
LDADD= -lmd -lpthread -lz
|
2007-04-06 03:09:06 +02:00
|
|
|
|
|
|
|
# atomic.S doesn't like profiling.
|
2014-04-25 21:25:26 +02:00
|
|
|
MK_PROFILE= no
|
2007-04-06 03:09:06 +02:00
|
|
|
|
2009-03-14 18:55:16 +01:00
|
|
|
CSTD= c99
|
|
|
|
|
2013-08-27 06:01:31 +02:00
|
|
|
# Since there are many asserts in this library, it makes no sense to compile
|
|
|
|
# it without debugging.
|
|
|
|
|
|
|
|
CFLAGS+= -g -DDEBUG=1
|
Merge recent zfs vendor changes, sync code and adjust userland DEBUG.
Illumos issued covered:
1884 Empty "used" field for zfs *space commands
3006 VERIFY[S,U,P] and ASSERT[S,U,P] frequently check if first argument
is zero
3028 zfs {group,user}space -n prints (null) instead of numeric GID/UID
3048 zfs {user,group}space [-s|-S] is broken
3049 zfs {user,group}space -t doesn't really filter the results
3060 zfs {user,group}space -H output isn't tab-delimited
3061 zfs {user,group}space -o doesn't use specified fields order
3064 usr/src/cmd/zpool/zpool_main.c misspells "successful"
3093 zfs {user,group}space's -i is noop
3098 zfs userspace/groupspace fail without saying why when run as non-root
References:
https://www.illumos.org/issues/ + [issue_id]
Obtained from: illumos (vendor/illumos, vendor/illumos-sys)
MFC after: 2 weeks
2012-09-12 20:05:43 +02:00
|
|
|
|
2007-04-06 03:09:06 +02:00
|
|
|
.include <bsd.lib.mk>
|