Symbol: jblocks
sbin/fsck_ffs/suj.c
2155
static struct jblocks *suj_jblocks;
sbin/fsck_ffs/suj.c
2157
static struct jblocks *
sbin/fsck_ffs/suj.c
2160
struct jblocks *jblocks;
sbin/fsck_ffs/suj.c
2163
jblocks = errmalloc(sizeof(*jblocks));
sbin/fsck_ffs/suj.c
2164
jblocks->jb_avail = 10;
sbin/fsck_ffs/suj.c
2165
jblocks->jb_used = 0;
sbin/fsck_ffs/suj.c
2166
jblocks->jb_head = 0;
sbin/fsck_ffs/suj.c
2167
jblocks->jb_off = 0;
sbin/fsck_ffs/suj.c
2168
size = sizeof(struct jextent) * jblocks->jb_avail;
sbin/fsck_ffs/suj.c
2169
jblocks->jb_extent = errmalloc(size);
sbin/fsck_ffs/suj.c
2170
bzero(jblocks->jb_extent, size);
sbin/fsck_ffs/suj.c
2172
return (jblocks);
sbin/fsck_ffs/suj.c
2180
jblocks_next(struct jblocks *jblocks, int bytes, int *actual)
sbin/fsck_ffs/suj.c
2188
jext = &jblocks->jb_extent[jblocks->jb_head];
sbin/fsck_ffs/suj.c
2189
freecnt = jext->je_blocks - jblocks->jb_off;
sbin/fsck_ffs/suj.c
2191
jblocks->jb_off = 0;
sbin/fsck_ffs/suj.c
2192
if (++jblocks->jb_head > jblocks->jb_used)
sbin/fsck_ffs/suj.c
2194
jext = &jblocks->jb_extent[jblocks->jb_head];
sbin/fsck_ffs/suj.c
2200
daddr = jext->je_daddr + jblocks->jb_off;
sbin/fsck_ffs/suj.c
2210
jblocks_advance(struct jblocks *jblocks, int bytes)
sbin/fsck_ffs/suj.c
2213
jblocks->jb_off += btodb(bytes);
sbin/fsck_ffs/suj.c
2217
jblocks_destroy(struct jblocks *jblocks)
sbin/fsck_ffs/suj.c
2220
free(jblocks->jb_extent);
sbin/fsck_ffs/suj.c
2221
free(jblocks);
sbin/fsck_ffs/suj.c
2225
jblocks_add(struct jblocks *jblocks, ufs2_daddr_t daddr, int blocks)
sbin/fsck_ffs/suj.c
2230
jext = &jblocks->jb_extent[jblocks->jb_used];
sbin/fsck_ffs/suj.c
2243
if (++jblocks->jb_used == jblocks->jb_avail) {
sbin/fsck_ffs/suj.c
2244
jblocks->jb_avail *= 2;
sbin/fsck_ffs/suj.c
2245
size = sizeof(struct jextent) * jblocks->jb_avail;
sbin/fsck_ffs/suj.c
2248
bcopy(jblocks->jb_extent, jext,
sbin/fsck_ffs/suj.c
2249
sizeof(struct jextent) * jblocks->jb_used);
sbin/fsck_ffs/suj.c
2250
free(jblocks->jb_extent);
sbin/fsck_ffs/suj.c
2251
jblocks->jb_extent = jext;
sbin/fsck_ffs/suj.c
2253
jext = &jblocks->jb_extent[jblocks->jb_used];
sys/ufs/ffs/ffs_softdep.c
2496
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
2501
jblocks = ump->softdep_jblocks;
sys/ufs/ffs/ffs_softdep.c
2502
jseg = TAILQ_LAST(&jblocks->jb_segs, jseglst);
sys/ufs/ffs/ffs_softdep.c
2770
static struct jblocks *
sys/ufs/ffs/ffs_softdep.c
2773
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
2775
jblocks = malloc(sizeof(*jblocks), M_JBLOCKS, M_WAITOK | M_ZERO);
sys/ufs/ffs/ffs_softdep.c
2776
TAILQ_INIT(&jblocks->jb_segs);
sys/ufs/ffs/ffs_softdep.c
2777
jblocks->jb_avail = 10;
sys/ufs/ffs/ffs_softdep.c
2778
jblocks->jb_extent = malloc(sizeof(struct jextent) * jblocks->jb_avail,
sys/ufs/ffs/ffs_softdep.c
2781
return (jblocks);
sys/ufs/ffs/ffs_softdep.c
2785
jblocks_alloc(struct jblocks *jblocks,
sys/ufs/ffs/ffs_softdep.c
2795
jext = &jblocks->jb_extent[jblocks->jb_head];
sys/ufs/ffs/ffs_softdep.c
2796
freecnt = jext->je_blocks - jblocks->jb_off;
sys/ufs/ffs/ffs_softdep.c
2798
jblocks->jb_off = 0;
sys/ufs/ffs/ffs_softdep.c
2799
if (++jblocks->jb_head > jblocks->jb_used)
sys/ufs/ffs/ffs_softdep.c
2800
jblocks->jb_head = 0;
sys/ufs/ffs/ffs_softdep.c
2801
jext = &jblocks->jb_extent[jblocks->jb_head];
sys/ufs/ffs/ffs_softdep.c
2807
daddr = jext->je_daddr + jblocks->jb_off;
sys/ufs/ffs/ffs_softdep.c
2808
jblocks->jb_off += freecnt;
sys/ufs/ffs/ffs_softdep.c
2809
jblocks->jb_free -= freecnt;
sys/ufs/ffs/ffs_softdep.c
2815
jblocks_free(struct jblocks *jblocks,
sys/ufs/ffs/ffs_softdep.c
2821
jblocks->jb_free += bytes / DEV_BSIZE;
sys/ufs/ffs/ffs_softdep.c
2822
if (jblocks->jb_suspended)
sys/ufs/ffs/ffs_softdep.c
2824
wakeup(jblocks);
sys/ufs/ffs/ffs_softdep.c
2828
jblocks_destroy(struct jblocks *jblocks)
sys/ufs/ffs/ffs_softdep.c
2831
if (jblocks->jb_extent)
sys/ufs/ffs/ffs_softdep.c
2832
free(jblocks->jb_extent, M_JBLOCKS);
sys/ufs/ffs/ffs_softdep.c
2833
free(jblocks, M_JBLOCKS);
sys/ufs/ffs/ffs_softdep.c
2837
jblocks_add(struct jblocks *jblocks,
sys/ufs/ffs/ffs_softdep.c
2843
jblocks->jb_blocks += blocks;
sys/ufs/ffs/ffs_softdep.c
2844
jblocks->jb_free += blocks;
sys/ufs/ffs/ffs_softdep.c
2845
jext = &jblocks->jb_extent[jblocks->jb_used];
sys/ufs/ffs/ffs_softdep.c
2858
if (++jblocks->jb_used == jblocks->jb_avail) {
sys/ufs/ffs/ffs_softdep.c
2859
jblocks->jb_avail *= 2;
sys/ufs/ffs/ffs_softdep.c
2860
jext = malloc(sizeof(struct jextent) * jblocks->jb_avail,
sys/ufs/ffs/ffs_softdep.c
2862
memcpy(jext, jblocks->jb_extent,
sys/ufs/ffs/ffs_softdep.c
2863
sizeof(struct jextent) * jblocks->jb_used);
sys/ufs/ffs/ffs_softdep.c
2864
free(jblocks->jb_extent, M_JBLOCKS);
sys/ufs/ffs/ffs_softdep.c
2865
jblocks->jb_extent = jext;
sys/ufs/ffs/ffs_softdep.c
2867
jext = &jblocks->jb_extent[jblocks->jb_used];
sys/ufs/ffs/ffs_softdep.c
2907
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
2933
jblocks = jblocks_create();
sys/ufs/ffs/ffs_softdep.c
2938
jblocks_add(jblocks, blkno, fsbtodb(fs, fs->fs_frag));
sys/ufs/ffs/ffs_softdep.c
2941
jblocks_destroy(jblocks);
sys/ufs/ffs/ffs_softdep.c
2944
jblocks->jb_low = jblocks->jb_free / 3; /* Reserve 33%. */
sys/ufs/ffs/ffs_softdep.c
2945
jblocks->jb_min = jblocks->jb_free / 10; /* Suspend at 10%. */
sys/ufs/ffs/ffs_softdep.c
2946
ump->softdep_jblocks = jblocks;
sys/ufs/ffs/ffs_softdep.c
3048
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
3051
jblocks = ump->softdep_jblocks;
sys/ufs/ffs/ffs_softdep.c
3052
if (jblocks == NULL)
sys/ufs/ffs/ffs_softdep.c
3065
thresh = jblocks->jb_min;
sys/ufs/ffs/ffs_softdep.c
3067
thresh = jblocks->jb_low;
sys/ufs/ffs/ffs_softdep.c
3069
avail = jblocks->jb_free - avail;
sys/ufs/ffs/ffs_softdep.c
3077
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
3085
jblocks = ump->softdep_jblocks;
sys/ufs/ffs/ffs_softdep.c
3095
jblocks->jb_suspended = 1;
sys/ufs/ffs/ffs_softdep.c
3104
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
3108
jblocks = ump->softdep_jblocks;
sys/ufs/ffs/ffs_softdep.c
3110
if (jblocks != NULL && jblocks->jb_suspended &&
sys/ufs/ffs/ffs_softdep.c
3111
journal_space(ump, jblocks->jb_min)) {
sys/ufs/ffs/ffs_softdep.c
3112
jblocks->jb_suspended = 0;
sys/ufs/ffs/ffs_softdep.c
3530
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
3536
jblocks = ump->softdep_jblocks;
sys/ufs/ffs/ffs_softdep.c
3539
jblocks->jb_needseg = 1;
sys/ufs/ffs/ffs_softdep.c
3617
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
3643
jblocks = ump->softdep_jblocks;
sys/ufs/ffs/ffs_softdep.c
3669
jblocks->jb_needseg == 0 && (segwritten || cnt == 0))
sys/ufs/ffs/ffs_softdep.c
3678
while (jblocks->jb_free == 0) {
sys/ufs/ffs/ffs_softdep.c
3683
msleep(jblocks, LOCK_PTR(ump), PRIBIO, "jblocks", hz);
sys/ufs/ffs/ffs_softdep.c
3695
jseg->js_jblocks = jblocks;
sys/ufs/ffs/ffs_softdep.c
3706
if (cnt + jblocks->jb_needseg == 0 || jblocks->jb_free == 0) {
sys/ufs/ffs/ffs_softdep.c
3729
bp->b_blkno = jblocks_alloc(jblocks, size, &size);
sys/ufs/ffs/ffs_softdep.c
3744
jseg->js_seq = jblocks->jb_nextseq++;
sys/ufs/ffs/ffs_softdep.c
3745
if (jblocks->jb_oldestseg == NULL)
sys/ufs/ffs/ffs_softdep.c
3746
jblocks->jb_oldestseg = jseg;
sys/ufs/ffs/ffs_softdep.c
3747
jseg->js_oldseq = jblocks->jb_oldestseg->js_seq;
sys/ufs/ffs/ffs_softdep.c
3748
TAILQ_INSERT_TAIL(&jblocks->jb_segs, jseg, js_next);
sys/ufs/ffs/ffs_softdep.c
3749
if (jblocks->jb_writeseg == NULL)
sys/ufs/ffs/ffs_softdep.c
3750
jblocks->jb_writeseg = jseg;
sys/ufs/ffs/ffs_softdep.c
3832
jblocks->jb_needseg = 0;
sys/ufs/ffs/ffs_softdep.c
3855
TAILQ_LAST(&jblocks->jb_segs, jseglst));
sys/ufs/ffs/ffs_softdep.c
3863
if (flags == 0 && jblocks->jb_suspended) {
sys/ufs/ffs/ffs_softdep.c
3946
struct jblocks *jblocks;
sys/ufs/ffs/ffs_softdep.c
3949
jblocks = jseg->js_jblocks;
sys/ufs/ffs/ffs_softdep.c
3954
if (jseg != jblocks->jb_writeseg)
sys/ufs/ffs/ffs_softdep.c
3958
jblocks->jb_oldestwrseq = jseg->js_oldseq;
sys/ufs/ffs/ffs_softdep.c
3963
jblocks->jb_writeseg = jseg;
sys/ufs/ffs/ffs_softdep.c
3967
free_jsegs(jblocks);
sys/ufs/ffs/ffs_softdep.c
4744
free_jseg(struct jseg *jseg, struct jblocks *jblocks)
sys/ufs/ffs/ffs_softdep.c
4754
if (jblocks->jb_oldestseg == jseg)
sys/ufs/ffs/ffs_softdep.c
4755
jblocks->jb_oldestseg = TAILQ_NEXT(jseg, js_next);
sys/ufs/ffs/ffs_softdep.c
4756
TAILQ_REMOVE(&jblocks->jb_segs, jseg, js_next);
sys/ufs/ffs/ffs_softdep.c
4757
jblocks_free(jblocks, jseg->js_list.wk_mp, jseg->js_size);
sys/ufs/ffs/ffs_softdep.c
4768
free_jsegs(struct jblocks *jblocks)
sys/ufs/ffs/ffs_softdep.c
4776
while ((jseg = TAILQ_FIRST(&jblocks->jb_segs)) != NULL) {
sys/ufs/ffs/ffs_softdep.c
4783
jblocks->jb_oldestseg = jseg;
sys/ufs/ffs/ffs_softdep.c
4788
if (jseg->js_seq > jblocks->jb_oldestwrseq)
sys/ufs/ffs/ffs_softdep.c
4794
if (jseg->js_seq == jblocks->jb_oldestwrseq &&
sys/ufs/ffs/ffs_softdep.c
4797
free_jseg(jseg, jblocks);
sys/ufs/ffs/ffs_softdep.c
4804
for (jseg = jblocks->jb_oldestseg; jseg != NULL;
sys/ufs/ffs/ffs_softdep.c
4808
jblocks->jb_oldestseg = jseg;
sys/ufs/ffs/ffs_softdep.c
4814
if (jblocks->jb_oldestseg == NULL && !TAILQ_EMPTY(&jblocks->jb_segs))
sys/ufs/ffs/ffs_softdep.c
4815
jblocks->jb_needseg = 1;
sys/ufs/ffs/ffs_softdep.c
798
static void free_jsegs(struct jblocks *);
sys/ufs/ffs/ffs_softdep.c
800
static void free_jseg(struct jseg *, struct jblocks *);
sys/ufs/ffs/ffs_softdep.c
919
static struct jblocks *jblocks_create(void);
sys/ufs/ffs/ffs_softdep.c
920
static ufs2_daddr_t jblocks_alloc(struct jblocks *, int, int *);
sys/ufs/ffs/ffs_softdep.c
921
static void jblocks_free(struct jblocks *, struct mount *, int);
sys/ufs/ffs/ffs_softdep.c
922
static void jblocks_destroy(struct jblocks *);
sys/ufs/ffs/ffs_softdep.c
923
static void jblocks_add(struct jblocks *, ufs2_daddr_t, int);
sys/ufs/ffs/softdep.h
1048
struct jblocks *sd_jblocks; /* Journal block information */
sys/ufs/ffs/softdep.h
977
struct jblocks *js_jblocks; /* Back pointer to block/seg list */
sys/ufs/ufs/ufsmount.h
61
struct jblocks;