|To:||Christoph Hellwig <hch@xxxxxxxxxxxxx>|
|Subject:||Re: [PATCH 5/6] xfs: xlog_recover_process_data leaks like a sieve|
|From:||Mark Tinguely <tinguely@xxxxxxx>|
|Date:||Tue, 17 Dec 2013 11:58:57 -0600|
|Cc:||Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx|
|References:||<1386826478-13846-1-git-send-email-david@xxxxxxxxxxxxx> <1386826478-13846-6-git-send-email-david@xxxxxxxxxxxxx> <20131213123205.GA17935@xxxxxxxxxxxxx> <20131213221102.GX10988@dastard> <20131216152339.GC12360@xxxxxxxxxxxxx>|
|User-agent:||Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0|
On 12/16/13 09:23, Christoph Hellwig wrote:
On Sat, Dec 14, 2013 at 09:11:02AM +1100, Dave Chinner wrote:> I'll rework it, but hte main issue is that it has to be freed > regardless of the error value in commit record processing, so it's > not as simple as just freeing it on error....Indeed, but think that's another reason to move the freeing to xlog_recover_process_data. Right now or with the proposed patch xlog_recover_commit_trans frees trans, but there's nothing that breaks out of the loop in xlog_recover_process_data after that case. By moving the freeing there for all cases we can add a corruption check for that case, and we have a single function that controls the lifetime of the xlog_recover structure.
I like that idea of doing the frees in xlog_recover_process_data(). Each loop allocates a new trans, so each loop is self contained. --Mark.
|<Prev in Thread]||Current Thread||[Next in Thread>|
|Previous by Date:||Re: [PATCH 04/11] xfs: add xfs_ilock_attr_map_shared, Ben Myers|
|Next by Date:||Re: [PATCH v4 4/10] xfsprog: xfsio: Add support FALLOC_FL_COLLAPSE_RANGE for fallocate, Dave Chinner|
|Previous by Thread:||Re: [PATCH 5/6] xfs: xlog_recover_process_data leaks like a sieve, Christoph Hellwig|
|Next by Thread:||[PATCH 3/6] xfs: prevent spurious "space > BBTOB(tail_blocks)" warnings, Dave Chinner|
|Indexes:||[Date] [Thread] [Top] [All Lists]|