version 1.64, 2008/04/17 09:52:47 |
version 1.64.6.2, 2008/09/18 04:37:05 |
|
|
|
|
#include <sys/pool.h> |
#include <sys/pool.h> |
|
|
|
#define FFS_NOBLK ((daddr_t)-1) |
|
|
#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) |
|
|
|
|
#include <sys/param.h> |
#include <sys/param.h> |
#include <sys/mount.h> |
#include <sys/mount.h> |
|
#include <sys/wapbl.h> |
|
|
/* ffs_alloc.c */ |
/* ffs_alloc.c */ |
int ffs_alloc(struct inode *, daddr_t, daddr_t , int, kauth_cred_t, |
int ffs_alloc(struct inode *, daddr_t, daddr_t , int, 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 , |
kauth_cred_t, struct buf **, daddr_t *); |
kauth_cred_t, struct buf **, daddr_t *); |
Line 92 int ffs_realloccg(struct inode *, daddr_ |
|
Line 95 int ffs_realloccg(struct inode *, daddr_ |
|
int ffs_reallocblks(void *); |
int ffs_reallocblks(void *); |
#endif |
#endif |
int ffs_valloc(struct vnode *, int, kauth_cred_t, 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, 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, int, int64_t *); |
|
int ffs_blkalloc(struct inode *, daddr_t, long); |
void ffs_blkfree(struct fs *, struct vnode *, daddr_t, long, ino_t); |
void ffs_blkfree(struct fs *, struct vnode *, daddr_t, long, ino_t); |
int ffs_vfree(struct vnode *, ino_t, int); |
int ffs_vfree(struct vnode *, ino_t, int); |
void ffs_clusteracct(struct fs *, struct cg *, int32_t, int); |
void ffs_clusteracct(struct fs *, struct cg *, int32_t, int); |
Line 124 int ffs_fsync(void *); |
|
Line 128 int ffs_fsync(void *); |
|
int ffs_reclaim(void *); |
int ffs_reclaim(void *); |
int ffs_getpages(void *); |
int ffs_getpages(void *); |
void ffs_gop_size(struct vnode *, off_t, off_t *, int); |
void ffs_gop_size(struct vnode *, off_t, off_t *, int); |
|
int ffs_gop_write(struct vnode *, struct vm_page **, int, int); |
int ffs_openextattr(void *); |
int ffs_openextattr(void *); |
int ffs_closeextattr(void *); |
int ffs_closeextattr(void *); |
int ffs_getextattr(void *); |
int ffs_getextattr(void *); |
Line 135 int ffs_unlock(void *); |
|
Line 140 int ffs_unlock(void *); |
|
int ffs_islocked(void *); |
int ffs_islocked(void *); |
int ffs_full_fsync(struct vnode *, int); |
int ffs_full_fsync(struct vnode *, int); |
|
|
#ifdef SYSCTL_SETUP_PROTO |
|
SYSCTL_SETUP_PROTO(sysctl_vfs_ffs_setup); |
|
#endif /* SYSCTL_SETUP_PROTO */ |
|
|
|
/* |
/* |
* Snapshot function prototypes. |
* Snapshot function prototypes. |
*/ |
*/ |
Line 150 int ffs_snapshot(struct mount *, struct |
|
Line 151 int ffs_snapshot(struct mount *, struct |
|
void ffs_snapshot_mount(struct mount *); |
void ffs_snapshot_mount(struct mount *); |
void ffs_snapshot_unmount(struct mount *); |
void ffs_snapshot_unmount(struct mount *); |
void ffs_snapgone(struct inode *); |
void ffs_snapgone(struct inode *); |
|
int ffs_snapshot_read(struct vnode *, struct uio *, int); |
|
|
/* |
/* |
* Soft dependency function prototypes. |
* Soft dependency function prototypes. |
Line 177 void softdep_setup_allocindir_page(struc |
|
Line 179 void softdep_setup_allocindir_page(struc |
|
void softdep_fsync_mountdev(struct vnode *); |
void softdep_fsync_mountdev(struct vnode *); |
int softdep_sync_metadata(struct vnode *); |
int softdep_sync_metadata(struct vnode *); |
|
|
|
/* Write Ahead Physical Block Logging */ |
|
void ffs_wapbl_verify_inodes(struct mount *, const char *); |
|
void ffs_wapbl_replay_finish(struct mount *); |
|
int ffs_wapbl_start(struct mount *); |
|
int ffs_wapbl_stop(struct mount *, int); |
|
int ffs_wapbl_replay_start(struct mount *, struct fs *, struct vnode *); |
|
void ffs_wapbl_blkalloc(struct fs *, struct vnode *, daddr_t, int); |
|
|
|
void ffs_wapbl_sync_metadata(struct mount *, daddr_t *, int *, int); |
|
void ffs_wapbl_abort_sync_metadata(struct mount *, daddr_t *, int *, int); |
|
|
extern int (**ffs_vnodeop_p)(void *); |
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 *); |
Line 202 void ffs_csumtotal_swap(struct csum_tota |
|
Line 215 void ffs_csumtotal_swap(struct csum_tota |
|
void ffs_cg_swap(struct cg *, struct cg *, struct fs *); |
void ffs_cg_swap(struct cg *, struct cg *, struct fs *); |
|
|
/* ffs_subr.c */ |
/* ffs_subr.c */ |
|
#if defined(_KERNEL) |
void ffs_load_inode(struct buf *, struct inode *, struct fs *, ino_t); |
void ffs_load_inode(struct buf *, struct inode *, struct fs *, ino_t); |
|
int ffs_getblk(struct vnode *, daddr_t, daddr_t, int, bool, buf_t **); |
|
#endif /* defined(_KERNEL) */ |
int ffs_freefile(struct fs *, struct vnode *, ino_t, int); |
int ffs_freefile(struct fs *, struct vnode *, ino_t, int); |
void ffs_fragacct(struct fs *, int, int32_t[], int, int); |
void ffs_fragacct(struct fs *, int, int32_t[], int, int); |
int ffs_isblock(struct fs *, u_char *, int32_t); |
int ffs_isblock(struct fs *, u_char *, int32_t); |