version 1.25.2.1, 2014/08/10 06:56:58 |
version 1.26, 2014/07/10 06:27:15 |
Line 351 ffs_wapbl_start(struct mount *mp) |
|
Line 351 ffs_wapbl_start(struct mount *mp) |
|
#endif |
#endif |
|
|
if ((fs->fs_flags & FS_DOWAPBL) == 0) { |
if ((fs->fs_flags & FS_DOWAPBL) == 0) { |
|
UFS_WAPBL_BEGIN(mp); |
fs->fs_flags |= FS_DOWAPBL; |
fs->fs_flags |= FS_DOWAPBL; |
if ((error = UFS_WAPBL_BEGIN(mp)) != 0) |
|
goto out; |
|
error = ffs_sbupdate(ump, MNT_WAIT); |
error = ffs_sbupdate(ump, MNT_WAIT); |
if (error) { |
if (error) { |
UFS_WAPBL_END(mp); |
UFS_WAPBL_END(mp); |
goto out; |
ffs_wapbl_stop(mp, MNT_FORCE); |
|
return error; |
} |
} |
UFS_WAPBL_END(mp); |
UFS_WAPBL_END(mp); |
error = wapbl_flush(mp->mnt_wapbl, 1); |
error = wapbl_flush(mp->mnt_wapbl, 1); |
if (error) |
if (error) { |
goto out; |
ffs_wapbl_stop(mp, MNT_FORCE); |
|
return error; |
|
} |
} |
} |
} else if (fs->fs_flags & FS_DOWAPBL) { |
} else if (fs->fs_flags & FS_DOWAPBL) { |
fs->fs_fmod = 1; |
fs->fs_fmod = 1; |
Line 389 ffs_wapbl_start(struct mount *mp) |
|
Line 391 ffs_wapbl_start(struct mount *mp) |
|
} |
} |
|
|
return 0; |
return 0; |
out: |
|
ffs_wapbl_stop(mp, MNT_FORCE); |
|
return error; |
|
} |
} |
|
|
int |
int |