When file handle thread gets timeout while perfoming write request, the thread will remove the last log record and return SA_AIS_TRY_AGAIN
to user.
In that case, in lseek
function, logsv passed an negative number to off_t offset
without converting to off_t
type. Then,lseek
sees the offset
as an possitive number with signed bit set. And return value of lseek
- the offset location, is very very big.
The log file size got big big size when passing that big number to ftruncate
.
changeset: 7671:577afb0aa443
tag: tip
parent: 7666:17d25dbd9352
user: Tai Dinh tai.dinh@dektech.com.au
date: Thu May 26 09:10:56 2016 +0700
summary: log: fix log file sizes grow rapidly and cannot open [#1851]
changeset: 7670:8b273b35351a
branch: opensaf-5.0.x
parent: 7667:eb3eca9d29bd
user: Tai Dinh tai.dinh@dektech.com.au
date: Thu May 26 09:10:56 2016 +0700
summary: log: fix log file sizes grow rapidly and cannot open [#1851]
changeset: 7669:2a4b9b67b425
branch: opensaf-4.7.x
user: Tai Dinh tai.dinh@dektech.com.au
date: Thu May 26 14:28:50 2016 +0700
summary: log: fix log file sizes grow rapidly and cannot open [#1851]
Related
Tickets:
#1851