Changeset View
Changeset View
Standalone View
Standalone View
sys/ufs/ffs/softdep.h
Show First 20 Lines • Show All 556 Lines • ▼ Show 20 Lines | |||||
struct freefrag { | struct freefrag { | ||||
struct worklist ff_list; /* id_inowait or delayed worklist */ | struct worklist ff_list; /* id_inowait or delayed worklist */ | ||||
# define ff_state ff_list.wk_state | # define ff_state ff_list.wk_state | ||||
struct worklist *ff_jdep; /* Associated journal entry. */ | struct worklist *ff_jdep; /* Associated journal entry. */ | ||||
struct workhead ff_jwork; /* Journal work pending. */ | struct workhead ff_jwork; /* Journal work pending. */ | ||||
ufs2_daddr_t ff_blkno; /* fragment physical block number */ | ufs2_daddr_t ff_blkno; /* fragment physical block number */ | ||||
long ff_fragsize; /* size of fragment being deleted */ | long ff_fragsize; /* size of fragment being deleted */ | ||||
ino_t ff_inum; /* owning inode number */ | ino_t ff_inum; /* owning inode number */ | ||||
enum vtype ff_vtype; /* owning inode's file type */ | __enum_uint8(vtype) ff_vtype; /* owning inode's file type */ | ||||
int ff_key; /* trim key when deleted */ | int ff_key; /* trim key when deleted */ | ||||
}; | }; | ||||
/* | /* | ||||
* A "freeblks" structure is attached to an "inodedep" when the | * A "freeblks" structure is attached to an "inodedep" when the | ||||
* corresponding file's length is reduced to zero. It records all | * corresponding file's length is reduced to zero. It records all | ||||
* the information needed to free the blocks of a file after its | * the information needed to free the blocks of a file after its | ||||
* zero'ed inode has been written to disk. The actual work is done | * zero'ed inode has been written to disk. The actual work is done | ||||
Show All 11 Lines | # define fb_state fb_list.wk_state /* inode and dirty block state */ | ||||
struct vnode *fb_devvp; /* filesystem device vnode */ | struct vnode *fb_devvp; /* filesystem device vnode */ | ||||
#ifdef QUOTA | #ifdef QUOTA | ||||
struct dquot *fb_quota[MAXQUOTAS]; /* quotas to be adjusted */ | struct dquot *fb_quota[MAXQUOTAS]; /* quotas to be adjusted */ | ||||
#endif | #endif | ||||
uint64_t fb_modrev; /* Inode revision at start of trunc. */ | uint64_t fb_modrev; /* Inode revision at start of trunc. */ | ||||
off_t fb_len; /* Length we're truncating to. */ | off_t fb_len; /* Length we're truncating to. */ | ||||
ufs2_daddr_t fb_chkcnt; /* Blocks released. */ | ufs2_daddr_t fb_chkcnt; /* Blocks released. */ | ||||
ino_t fb_inum; /* inode owner of blocks */ | ino_t fb_inum; /* inode owner of blocks */ | ||||
enum vtype fb_vtype; /* inode owner's file type */ | __enum_uint8(vtype) fb_vtype; /* inode owner's file type */ | ||||
uid_t fb_uid; /* uid of previous owner of blocks */ | uid_t fb_uid; /* uid of previous owner of blocks */ | ||||
int fb_ref; /* Children outstanding. */ | int fb_ref; /* Children outstanding. */ | ||||
int fb_cgwait; /* cg writes outstanding. */ | int fb_cgwait; /* cg writes outstanding. */ | ||||
}; | }; | ||||
/* | /* | ||||
* A "freework" structure handles the release of a tree of blocks or a single | * A "freework" structure handles the release of a tree of blocks or a single | ||||
* block. Each indirect block in a tree is allocated its own freework | * block. Each indirect block in a tree is allocated its own freework | ||||
▲ Show 20 Lines • Show All 520 Lines • Show Last 20 Lines |