version 1.51, 2006/01/14 17:41:16 |
version 1.51.10.1, 2006/05/24 15:50:47 |
|
|
#define FFS_LOG_CHANGEOPT 5 /* log optimalization strategy change */ |
#define FFS_LOG_CHANGEOPT 5 /* log optimalization strategy change */ |
#define FFS_MAXID 6 /* number of valid ffs ids */ |
#define FFS_MAXID 6 /* number of valid ffs ids */ |
|
|
#define FFS_NAMES { \ |
|
{ 0, 0 }, \ |
|
{ "doclusterread", CTLTYPE_INT }, \ |
|
{ "doclusterwrite", CTLTYPE_INT }, \ |
|
{ "doreallocblks", CTLTYPE_INT }, \ |
|
{ "doasyncfree", CTLTYPE_INT }, \ |
|
{ "log_changeopt", CTLTYPE_INT }, \ |
|
} |
|
|
|
#define FFS_ITIMES(ip, acc, mod, cre) \ |
#define FFS_ITIMES(ip, acc, mod, cre) \ |
while ((ip)->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \ |
while ((ip)->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \ |
ffs_itimes(ip, acc, mod, cre) |
ffs_itimes(ip, acc, mod, cre) |
|
|
struct statvfs; |
struct statvfs; |
struct timeval; |
struct timeval; |
struct timespec; |
struct timespec; |
struct ucred; |
|
struct ufsmount; |
struct ufsmount; |
struct uio; |
struct uio; |
struct vnode; |
struct vnode; |
struct mbuf; |
struct mbuf; |
struct cg; |
struct cg; |
|
|
|
#if defined(_KERNEL) |
|
|
|
#define FFS_ITIMES(ip, acc, mod, cre) \ |
|
while ((ip)->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \ |
|
ffs_itimes(ip, acc, mod, cre) |
|
|
extern struct pool ffs_inode_pool; /* memory pool for inodes */ |
extern struct pool ffs_inode_pool; /* memory pool for inodes */ |
extern struct pool ffs_dinode1_pool; /* memory pool for UFS1 dinodes */ |
extern struct pool ffs_dinode1_pool; /* memory pool for UFS1 dinodes */ |
extern struct pool ffs_dinode2_pool; /* memory pool for UFS2 dinodes */ |
extern struct pool ffs_dinode2_pool; /* memory pool for UFS2 dinodes */ |
|
|
|
#endif /* defined(_KERNEL) */ |
|
|
__BEGIN_DECLS |
__BEGIN_DECLS |
|
|
|
#if defined(_KERNEL) |
|
|
/* ffs_alloc.c */ |
/* ffs_alloc.c */ |
int ffs_alloc(struct inode *, daddr_t, daddr_t , int, struct ucred *, |
int ffs_alloc(struct inode *, daddr_t, daddr_t , int, kauth_cred_t, |
daddr_t *); |
daddr_t *); |
int ffs_realloccg(struct inode *, daddr_t, daddr_t, int, int , |
int ffs_realloccg(struct inode *, daddr_t, daddr_t, int, int , |
struct ucred *, struct buf **, daddr_t *); |
kauth_cred_t, struct buf **, daddr_t *); |
#if 0 |
#if 0 |
int ffs_reallocblks(void *); |
int ffs_reallocblks(void *); |
#endif |
#endif |
int ffs_valloc(struct vnode *, int, struct ucred *, struct vnode **); |
int ffs_valloc(struct vnode *, int, kauth_cred_t, struct vnode **); |
daddr_t ffs_blkpref_ufs1(struct inode *, daddr_t, int, int32_t *); |
daddr_t ffs_blkpref_ufs1(struct inode *, daddr_t, int, int32_t *); |
daddr_t ffs_blkpref_ufs2(struct inode *, daddr_t, int, int64_t *); |
daddr_t ffs_blkpref_ufs2(struct inode *, daddr_t, int, int64_t *); |
void ffs_blkfree(struct fs *, struct vnode *, daddr_t, long, ino_t); |
void ffs_blkfree(struct fs *, struct vnode *, daddr_t, long, ino_t); |
Line 99 void ffs_clusteracct(struct fs *, struct |
|
Line 99 void ffs_clusteracct(struct fs *, struct |
|
int ffs_checkfreefile(struct fs *, struct vnode *, ino_t); |
int ffs_checkfreefile(struct fs *, struct vnode *, ino_t); |
|
|
/* ffs_balloc.c */ |
/* ffs_balloc.c */ |
int ffs_balloc(struct vnode *, off_t, int, struct ucred *, int, |
int ffs_balloc(struct vnode *, off_t, int, kauth_cred_t, int, |
struct buf **); |
struct buf **); |
|
|
/* ffs_bswap.c */ |
|
void ffs_sb_swap(struct fs*, struct fs *); |
|
void ffs_dinode1_swap(struct ufs1_dinode *, struct ufs1_dinode *); |
|
void ffs_dinode2_swap(struct ufs2_dinode *, struct ufs2_dinode *); |
|
struct csum; |
|
void ffs_csum_swap(struct csum *, struct csum *, int); |
|
struct csum_total; |
|
void ffs_csumtotal_swap(struct csum_total *, struct csum_total *); |
|
void ffs_cg_swap(struct cg *, struct cg *, struct fs *); |
|
|
|
/* ffs_inode.c */ |
/* ffs_inode.c */ |
int ffs_update(struct vnode *, const struct timespec *, |
int ffs_update(struct vnode *, const struct timespec *, |
const struct timespec *, int); |
const struct timespec *, int); |
int ffs_truncate(struct vnode *, off_t, int, struct ucred *, struct lwp *); |
int ffs_truncate(struct vnode *, off_t, int, kauth_cred_t, struct lwp *); |
|
|
/* ffs_subr.c */ |
|
void ffs_load_inode(struct buf *, struct inode *, struct fs *, ino_t); |
|
int ffs_freefile(struct fs *, struct vnode *, ino_t, int); |
|
void ffs_fragacct(struct fs *, int, int32_t[], int, int); |
|
int ffs_isblock(struct fs *, u_char *, int32_t); |
|
int ffs_isfreeblock(struct fs *, u_char *, int32_t); |
|
void ffs_clrblock(struct fs *, u_char *, int32_t); |
|
void ffs_setblock(struct fs *, u_char *, int32_t); |
|
void ffs_itimes(struct inode *, const struct timespec *, |
|
const struct timespec *, const struct timespec *); |
|
|
|
/* ffs_vfsops.c */ |
/* ffs_vfsops.c */ |
void ffs_init(void); |
void ffs_init(void); |
Line 135 void ffs_done(void); |
|
Line 114 void ffs_done(void); |
|
int ffs_mountroot(void); |
int ffs_mountroot(void); |
int ffs_mount(struct mount *, const char *, void *, struct nameidata *, |
int ffs_mount(struct mount *, const char *, void *, struct nameidata *, |
struct lwp *); |
struct lwp *); |
int ffs_reload(struct mount *, struct ucred *, struct lwp *); |
int ffs_reload(struct mount *, kauth_cred_t, struct lwp *); |
int ffs_mountfs(struct vnode *, struct mount *, struct lwp *); |
int ffs_mountfs(struct vnode *, struct mount *, struct lwp *); |
int ffs_unmount(struct mount *, int, struct lwp *); |
int ffs_unmount(struct mount *, int, struct lwp *); |
int ffs_flushfiles(struct mount *, int, struct lwp *); |
int ffs_flushfiles(struct mount *, int, struct lwp *); |
int ffs_statvfs(struct mount *, struct statvfs *, struct lwp *); |
int ffs_statvfs(struct mount *, struct statvfs *, struct lwp *); |
int ffs_sync(struct mount *, int, struct ucred *, struct lwp *); |
int ffs_sync(struct mount *, int, kauth_cred_t, struct lwp *); |
int ffs_vget(struct mount *, ino_t, struct vnode **); |
int ffs_vget(struct mount *, ino_t, struct vnode **); |
int ffs_fhtovp(struct mount *, struct fid *, struct vnode **); |
int ffs_fhtovp(struct mount *, struct fid *, struct vnode **); |
int ffs_vptofh(struct vnode *, struct fid *); |
int ffs_vptofh(struct vnode *, struct fid *); |
Line 149 int ffs_extattrctl(struct mount *, int, |
|
Line 128 int ffs_extattrctl(struct mount *, int, |
|
int ffs_sbupdate(struct ufsmount *, int); |
int ffs_sbupdate(struct ufsmount *, int); |
int ffs_cgupdate(struct ufsmount *, int); |
int ffs_cgupdate(struct ufsmount *, int); |
|
|
/* ffs_appleufs.c */ |
|
struct appleufslabel; |
|
u_int16_t ffs_appleufs_cksum(const struct appleufslabel *); |
|
int ffs_appleufs_validate(const char*, const struct appleufslabel *, |
|
struct appleufslabel *); |
|
void ffs_appleufs_set(struct appleufslabel *, const char *, time_t, |
|
uint64_t); |
|
|
|
|
|
/* ffs_vnops.c */ |
/* ffs_vnops.c */ |
int ffs_read(void *); |
int ffs_read(void *); |
int ffs_write(void *); |
int ffs_write(void *); |
Line 176 int ffs_deleteextattr(void *); |
|
Line 146 int ffs_deleteextattr(void *); |
|
SYSCTL_SETUP_PROTO(sysctl_vfs_ffs_setup); |
SYSCTL_SETUP_PROTO(sysctl_vfs_ffs_setup); |
#endif /* SYSCTL_SETUP_PROTO */ |
#endif /* SYSCTL_SETUP_PROTO */ |
|
|
__END_DECLS |
|
|
|
|
|
/* |
/* |
* Snapshot function prototypes. |
* Snapshot function prototypes. |
*/ |
*/ |
Line 195 void ffs_snapgone(struct inode *); |
|
Line 162 void ffs_snapgone(struct inode *); |
|
void softdep_initialize(void); |
void softdep_initialize(void); |
void softdep_reinitialize(void); |
void softdep_reinitialize(void); |
int softdep_mount(struct vnode *, struct mount *, struct fs *, |
int softdep_mount(struct vnode *, struct mount *, struct fs *, |
struct ucred *); |
kauth_cred_t); |
int softdep_flushworklist(struct mount *, int *, struct lwp *); |
int softdep_flushworklist(struct mount *, int *, struct lwp *); |
int softdep_flushfiles(struct mount *, int, struct lwp *); |
int softdep_flushfiles(struct mount *, int, struct lwp *); |
void softdep_update_inodeblock(struct inode *, struct buf *, int); |
void softdep_update_inodeblock(struct inode *, struct buf *, int); |
Line 218 extern int (**ffs_vnodeop_p)(void *); |
|
Line 185 extern int (**ffs_vnodeop_p)(void *); |
|
extern int (**ffs_specop_p)(void *); |
extern int (**ffs_specop_p)(void *); |
extern int (**ffs_fifoop_p)(void *); |
extern int (**ffs_fifoop_p)(void *); |
|
|
|
#endif /* defined(_KERNEL) */ |
|
|
|
/* ffs_appleufs.c */ |
|
struct appleufslabel; |
|
u_int16_t ffs_appleufs_cksum(const struct appleufslabel *); |
|
int ffs_appleufs_validate(const char*, const struct appleufslabel *, |
|
struct appleufslabel *); |
|
void ffs_appleufs_set(struct appleufslabel *, const char *, time_t, |
|
uint64_t); |
|
|
|
/* ffs_bswap.c */ |
|
void ffs_sb_swap(struct fs*, struct fs *); |
|
void ffs_dinode1_swap(struct ufs1_dinode *, struct ufs1_dinode *); |
|
void ffs_dinode2_swap(struct ufs2_dinode *, struct ufs2_dinode *); |
|
struct csum; |
|
void ffs_csum_swap(struct csum *, struct csum *, int); |
|
struct csum_total; |
|
void ffs_csumtotal_swap(struct csum_total *, struct csum_total *); |
|
void ffs_cg_swap(struct cg *, struct cg *, struct fs *); |
|
|
|
/* ffs_subr.c */ |
|
void ffs_load_inode(struct buf *, struct inode *, struct fs *, ino_t); |
|
int ffs_freefile(struct fs *, struct vnode *, ino_t, int); |
|
void ffs_fragacct(struct fs *, int, int32_t[], int, int); |
|
int ffs_isblock(struct fs *, u_char *, int32_t); |
|
int ffs_isfreeblock(struct fs *, u_char *, int32_t); |
|
void ffs_clrblock(struct fs *, u_char *, int32_t); |
|
void ffs_setblock(struct fs *, u_char *, int32_t); |
|
void ffs_itimes(struct inode *, const struct timespec *, |
|
const struct timespec *, const struct timespec *); |
|
|
|
__END_DECLS |
|
|
#endif /* !_UFS_FFS_FFS_EXTERN_H_ */ |
#endif /* !_UFS_FFS_FFS_EXTERN_H_ */ |