2010-08-26 18:50:56 +00:00
|
|
|
/*
|
|
|
|
* CDDL HEADER START
|
|
|
|
*
|
|
|
|
* The contents of this file are subject to the terms of the
|
|
|
|
* Common Development and Distribution License, Version 1.0 only
|
|
|
|
* (the "License"). You may not use this file except in compliance
|
|
|
|
* with the License.
|
|
|
|
*
|
|
|
|
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
2022-07-11 21:16:13 +00:00
|
|
|
* or https://opensource.org/licenses/CDDL-1.0.
|
2010-08-26 18:50:56 +00:00
|
|
|
* See the License for the specific language governing permissions
|
|
|
|
* and limitations under the License.
|
|
|
|
*
|
|
|
|
* When distributing Covered Code, include this CDDL HEADER in each
|
|
|
|
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
|
|
|
* If applicable, add the following below this CDDL HEADER, with the
|
|
|
|
* fields enclosed by brackets "[]" replaced with your own identifying
|
|
|
|
* information: Portions Copyright [yyyy] [name of copyright owner]
|
|
|
|
*
|
|
|
|
* CDDL HEADER END
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
|
|
|
|
* Use is subject to license terms.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _LIBSPL_SYS_PARAM_H
|
2013-11-01 19:26:11 +00:00
|
|
|
#define _LIBSPL_SYS_PARAM_H
|
2010-08-26 18:50:56 +00:00
|
|
|
|
|
|
|
#include_next <sys/param.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* File system parameters and macros.
|
|
|
|
*
|
|
|
|
* The file system is made out of blocks of at most MAXBSIZE units,
|
|
|
|
* with smaller units (fragments) only in the last direct block.
|
|
|
|
* MAXBSIZE primarily determines the size of buffers in the buffer
|
|
|
|
* pool. It may be made larger without any effect on existing
|
2019-09-03 00:53:27 +00:00
|
|
|
* file systems; however making it smaller may make some file
|
2010-08-26 18:50:56 +00:00
|
|
|
* systems unmountable.
|
|
|
|
*
|
|
|
|
* Note that the blocked devices are assumed to have DEV_BSIZE
|
|
|
|
* "sectors" and that fragments must be some multiple of this size.
|
|
|
|
*/
|
2013-11-01 19:26:11 +00:00
|
|
|
#define MAXBSIZE 8192
|
|
|
|
#define DEV_BSIZE 512
|
|
|
|
#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
|
2010-08-26 18:50:56 +00:00
|
|
|
|
2013-11-01 19:26:11 +00:00
|
|
|
#define MAXNAMELEN 256
|
|
|
|
#define MAXOFFSET_T LLONG_MAX
|
2010-08-26 18:50:56 +00:00
|
|
|
|
2013-11-01 19:26:11 +00:00
|
|
|
#define UID_NOBODY 60001 /* user ID no body */
|
|
|
|
#define GID_NOBODY UID_NOBODY
|
|
|
|
#define UID_NOACCESS 60002 /* user ID no access */
|
2010-08-26 18:50:56 +00:00
|
|
|
|
2013-11-01 19:26:11 +00:00
|
|
|
#define MAXUID UINT32_MAX /* max user id */
|
|
|
|
#define MAXPROJID MAXUID /* max project id */
|
2010-08-26 18:50:56 +00:00
|
|
|
|
2016-10-26 04:32:23 +00:00
|
|
|
#ifdef PAGESIZE
|
|
|
|
#undef PAGESIZE
|
2014-08-05 14:53:16 +00:00
|
|
|
#endif /* PAGESIZE */
|
2010-08-26 18:50:56 +00:00
|
|
|
|
2016-10-26 04:32:23 +00:00
|
|
|
extern size_t spl_pagesize(void);
|
|
|
|
#define PAGESIZE (spl_pagesize())
|
|
|
|
|
2010-08-26 18:50:56 +00:00
|
|
|
#endif
|