xfs
[Top] [All Lists]

Re: xfs_repair deleting realtime files.

To: Anand Tiwari <tiwarikanand@xxxxxxxxx>
Subject: Re: xfs_repair deleting realtime files.
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 28 Sep 2012 16:47:42 +1000
Cc: Eric Sandeen <sandeen@xxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <CAHt31__59_XJw9EF7MniiYH5sS6CX44q9gGwxiqxx43k5OFZ4A@xxxxxxxxxxxxxx>
References: <CAHt31_9K_vrzoqwSVsz-6VNVmMUzMyGCFEZfviRV-xPcUqv8-w@xxxxxxxxxxxxxx> <505BF45D.5050909@xxxxxxxxxxx> <20120924075551.GF20960@dastard> <CAHt31_8rEc93vpnbbKngY4uS0kAct3Z5A+2G0LmBzv5rWKdSfA@xxxxxxxxxxxxxx> <CAHt31__s2TNhXPa9JfDLdWPqr60Te9VDPKb4ieORF8JAL07YmQ@xxxxxxxxxxxxxx> <20120926024403.GH29154@dastard> <CAHt31__FPLsDdVCVwwLO0Sh9v_KK2pzU577nywFPAmf_C-gRcQ@xxxxxxxxxxxxxx> <20120926061732.GI29154@dastard> <CAHt31__59_XJw9EF7MniiYH5sS6CX44q9gGwxiqxx43k5OFZ4A@xxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, Sep 27, 2012 at 07:27:16PM -0600, Anand Tiwari wrote:
> On Wed, Sep 26, 2012 at 12:17 AM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
> 
> > On Tue, Sep 25, 2012 at 09:45:07PM -0600, Anand Tiwari wrote:
> > > thanks Dave for prompt reply, I meant to implement option 2 as you
> > > explained (option 3).  I will start working on it tomorrow. In the mean
> > > time, I also had  to put something in xfs_repair for the files which
> > > already exists on the disk. Would you guys willing to review/comment on
> > > that ?
> >
> > Sure.
> >
> > Cheers,
> >
> > Dave.
> > --
> > Dave Chinner
> > david@xxxxxxxxxxxxx
> >
> 
> following are my changes for xfs_repair. my goal  is to keep changes
> minimum as they may not included in upstream. I had to do these changes as
> we already have files with extent map not properly aligned.
> As we know, this happens only when we are growing a file in a realtime
> volume. by keeping this in mind, I am checking if start of a record in
> extent map is not aligned, check previous record and if they are
> contiguous, we can skip that part of record.
> 
> let me know if you any issues with this or if someone has better approach.
> I would like to use pointers for prev and irec but again, I wanted to keep
> changes minimum
> 
> thanks
> anand
> 
> 
> XFS currently can have records in extent map, which starts from unaligned
> block w.r.t rextsize.
> 
> --------------------------------------
> 
> xfs_repair considers this as a bug (multiple claims for a one real time
> extent) and deletes the file.
> This patch addresses the issue, by comparing current and previous records
> and make sure they are
> contiguous and not overlapped.
> 
> diff --git a/repair/dinode.c b/repair/dinode.c
> index 5a2da39..5537f1c 100644
> --- a/repair/dinode.c
> +++ b/repair/dinode.c
> @@ -406,6 +406,7 @@ verify_agbno(xfs_mount_t *mp,
>  static int
>  process_rt_rec(
>   xfs_mount_t *mp,
> + xfs_bmbt_irec_t *prev,
>   xfs_bmbt_irec_t *irec,
>   xfs_ino_t ino,
>   xfs_drfsbno_t *tot,

Your mailer has removed all the whitespace from the patch. The files
Documentation/SubmittingPatches and Documentation/email-clients.txt
for help with how to send patches sanely via email. ;)

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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