xfs
[Top] [All Lists]

Re: [PATCH 4/6] xfs: xfs_trans_read_buf() should return an error on fail

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 4/6] xfs: xfs_trans_read_buf() should return an error on failure
From: Alex Elder <aelder@xxxxxxx>
Date: Fri, 25 Mar 2011 16:01:01 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1300860870-15471-5-git-send-email-david@xxxxxxxxxxxxx>
References: <1300860870-15471-1-git-send-email-david@xxxxxxxxxxxxx> <1300860870-15471-5-git-send-email-david@xxxxxxxxxxxxx>
Reply-to: aelder@xxxxxxx
On Wed, 2011-03-23 at 17:14 +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> When inside a transaction and we fail to read a buffer,
> xfs_trans_read_buf returns a null buffer pointer and no error.
> xfs_do_da_buf() checks the error return, but not the buffer, and as
> a result this read failure condition causes a panic when it attempts
> to dereference the non-existant buffer.
> 
> Make xfs_trans_read_buf() return the same error for this situation
> regardless of whether it is in a transaction or not. This means
> every caller does not need to check both the error return and the
> buffer before proceeding to use the buffer.

Good idea.  Later we can clean up callers.  I see that not
all callers currently check for a null buffer return...

Reviewed-by: Alex Elder <aelder@xxxxxxx>

> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> ---
>  fs/xfs/xfs_trans_buf.c |    3 ++-

<Prev in Thread] Current Thread [Next in Thread>