Changeset View
Changeset View
Standalone View
Standalone View
sys/ufs/ffs/ffs_balloc.c
Show First 20 Lines • Show All 318 Lines • ▼ Show 20 Lines | if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, | ||||
brelse(bp); | brelse(bp); | ||||
UFS_LOCK(ump); | UFS_LOCK(ump); | ||||
if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | ||||
softdep_request_cleanup(fs, vp, cred, | softdep_request_cleanup(fs, vp, cred, | ||||
FLUSH_BLOCKS_WAIT); | FLUSH_BLOCKS_WAIT); | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
if (ppsratecheck(&ump->um_last_fullmsg, | if (!ffs_fsfail_cleanup_locked(ump, error) && | ||||
ppsratecheck(&ump->um_last_fullmsg, | |||||
&ump->um_secs_fullmsg, 1)) { | &ump->um_secs_fullmsg, 1)) { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
ffs_fserr(fs, ip->i_number, "filesystem full"); | ffs_fserr(fs, ip->i_number, "filesystem full"); | ||||
uprintf("\n%s: write failed, filesystem " | uprintf("\n%s: write failed, filesystem " | ||||
"is full\n", fs->fs_fsmnt); | "is full\n", fs->fs_fsmnt); | ||||
} else { | } else { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | if (error) { | ||||
brelse(bp); | brelse(bp); | ||||
UFS_LOCK(ump); | UFS_LOCK(ump); | ||||
if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | ||||
softdep_request_cleanup(fs, vp, cred, | softdep_request_cleanup(fs, vp, cred, | ||||
FLUSH_BLOCKS_WAIT); | FLUSH_BLOCKS_WAIT); | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
if (ppsratecheck(&ump->um_last_fullmsg, | if (!ffs_fsfail_cleanup_locked(ump, error) && | ||||
ppsratecheck(&ump->um_last_fullmsg, | |||||
&ump->um_secs_fullmsg, 1)) { | &ump->um_secs_fullmsg, 1)) { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
ffs_fserr(fs, ip->i_number, "filesystem full"); | ffs_fserr(fs, ip->i_number, "filesystem full"); | ||||
uprintf("\n%s: write failed, filesystem " | uprintf("\n%s: write failed, filesystem " | ||||
"is full\n", fs->fs_fsmnt); | "is full\n", fs->fs_fsmnt); | ||||
} else { | } else { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 495 Lines • ▼ Show 20 Lines | if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize, | ||||
brelse(bp); | brelse(bp); | ||||
UFS_LOCK(ump); | UFS_LOCK(ump); | ||||
if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | ||||
softdep_request_cleanup(fs, vp, cred, | softdep_request_cleanup(fs, vp, cred, | ||||
FLUSH_BLOCKS_WAIT); | FLUSH_BLOCKS_WAIT); | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
if (ppsratecheck(&ump->um_last_fullmsg, | if (!ffs_fsfail_cleanup_locked(ump, error) && | ||||
ppsratecheck(&ump->um_last_fullmsg, | |||||
&ump->um_secs_fullmsg, 1)) { | &ump->um_secs_fullmsg, 1)) { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
ffs_fserr(fs, ip->i_number, "filesystem full"); | ffs_fserr(fs, ip->i_number, "filesystem full"); | ||||
uprintf("\n%s: write failed, filesystem " | uprintf("\n%s: write failed, filesystem " | ||||
"is full\n", fs->fs_fsmnt); | "is full\n", fs->fs_fsmnt); | ||||
} else { | } else { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 67 Lines • ▼ Show 20 Lines | if (error) { | ||||
brelse(bp); | brelse(bp); | ||||
UFS_LOCK(ump); | UFS_LOCK(ump); | ||||
if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | if (DOINGSOFTDEP(vp) && ++reclaimed == 1) { | ||||
softdep_request_cleanup(fs, vp, cred, | softdep_request_cleanup(fs, vp, cred, | ||||
FLUSH_BLOCKS_WAIT); | FLUSH_BLOCKS_WAIT); | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
goto retry; | goto retry; | ||||
} | } | ||||
if (ppsratecheck(&ump->um_last_fullmsg, | if (!ffs_fsfail_cleanup_locked(ump, error) && | ||||
ppsratecheck(&ump->um_last_fullmsg, | |||||
&ump->um_secs_fullmsg, 1)) { | &ump->um_secs_fullmsg, 1)) { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
ffs_fserr(fs, ip->i_number, "filesystem full"); | ffs_fserr(fs, ip->i_number, "filesystem full"); | ||||
uprintf("\n%s: write failed, filesystem " | uprintf("\n%s: write failed, filesystem " | ||||
"is full\n", fs->fs_fsmnt); | "is full\n", fs->fs_fsmnt); | ||||
} else { | } else { | ||||
UFS_UNLOCK(ump); | UFS_UNLOCK(ump); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 157 Lines • Show Last 20 Lines |