mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-06 13:09:50 +00:00
- Add a mutex to the ufsmount structure. This mutex is used to protect
any per-instance global data that is not already protected by a buf or vnode lock. Presently, only fields in ffs's struct fs utilize this lock. - Sort some ufsmount members so that fields used for quotas are grouped together. This is in anticipation of quota locking. Sponsored By: Isilon Systems, Inc.
This commit is contained in:
parent
8a22eb497b
commit
751d0d9fc9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=140700
@ -65,13 +65,14 @@ struct ufsmount {
|
||||
struct vnode *um_devvp; /* block device mounted vnode */
|
||||
u_long um_fstype; /* type of filesystem */
|
||||
struct fs *um_fs; /* pointer to superblock */
|
||||
struct vnode *um_quotas[MAXQUOTAS]; /* pointer to quota files */
|
||||
struct ucred *um_cred[MAXQUOTAS]; /* quota file access cred */
|
||||
struct ufs_extattr_per_mount um_extattr; /* extended attrs */
|
||||
u_long um_nindir; /* indirect ptrs per block */
|
||||
u_long um_bptrtodb; /* indir ptr to disk block */
|
||||
u_long um_seqinc; /* inc between seq blocks */
|
||||
long um_numindirdeps; /* indirdeps for this filesys */
|
||||
struct mtx um_lock; /* Protects ufsmount & fs */
|
||||
long um_numindirdeps; /* outstanding indirdeps */
|
||||
struct vnode *um_quotas[MAXQUOTAS]; /* pointer to quota files */
|
||||
struct ucred *um_cred[MAXQUOTAS]; /* quota file access cred */
|
||||
time_t um_btime[MAXQUOTAS]; /* block quota time limit */
|
||||
time_t um_itime[MAXQUOTAS]; /* inode quota time limit */
|
||||
char um_qflags[MAXQUOTAS]; /* quota specific flags */
|
||||
@ -93,6 +94,10 @@ struct ufsmount {
|
||||
#define UFS_VFREE(aa, bb, cc) VFSTOUFS((aa)->v_mount)->um_vfree(aa, bb, cc)
|
||||
#define UFS_IFREE(aa, bb) ((aa)->um_ifree(aa, bb))
|
||||
|
||||
#define UFS_LOCK(aa) mtx_lock(&(aa)->um_lock)
|
||||
#define UFS_UNLOCK(aa) mtx_unlock(&(aa)->um_lock)
|
||||
#define UFS_MTX(aa) (&(aa)->um_lock)
|
||||
|
||||
/*
|
||||
* Filesystem types
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user