xref: /original-bsd/sys/ufs/ffs/ufsmount.h (revision 10020db5)
1 /*
2  * Copyright (c) 1982, 1986, 1989 Regents of the University of California.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that the above copyright notice and this paragraph are
7  * duplicated in all such forms and that any documentation,
8  * advertising materials, and other materials related to such
9  * distribution and use acknowledge that the software was developed
10  * by the University of California, Berkeley.  The name of the
11  * University may not be used to endorse or promote products derived
12  * from this software without specific prior written permission.
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  *	@(#)ufsmount.h	7.6 (Berkeley) 05/04/90
18  */
19 
20 /*
21  * Mount structure.
22  * One allocated on every mount.
23  * Used to find the super block.
24  */
25 struct	ufsmount {
26 	struct	mount *um_mountp;	/* vfs structure for this filesystem */
27 	dev_t	um_dev;			/* device mounted */
28 	struct	vnode *um_devvp;	/* vnode for block device mounted */
29 	struct	fs *um_fs;		/* pointer to superblock */
30 	struct	vnode *um_quotas[MAXQUOTAS]; /* pointer to quota files */
31 	struct	ucred *um_cred[MAXQUOTAS]; /* cred for access to quota file */
32 	time_t	um_btime[MAXQUOTAS];	/* block quota time limit */
33 	time_t	um_itime[MAXQUOTAS];	/* inode quota time limit */
34 	char	um_qflags[MAXQUOTAS];	/* quota specific flags, see below */
35 };
36 /*
37  * Flags describing the state of quotas.
38  */
39 #define	QTF_OPENING	0x01		/* Q_QUOTAON in progress */
40 #define	QTF_CLOSING	0x02		/* Q_QUOTAOFF in progress */
41 
42 #ifdef KERNEL
43 /*
44  * Convert mount ptr to ufsmount ptr.
45  */
46 #define VFSTOUFS(mp)	((struct ufsmount *)((mp)->mnt_data))
47 #endif /* KERNEL */
48