On Tue, Dec 03, 2013 at 03:57:35PM -0600, Ben Myers wrote: > There is a set checks for corruption in block map btrees in > process_bmbt_reclist_int that we identify but currently do not fix. It > appears that the author's intent in this function was to set error = 1, > and then only clear it when all of the checks were completed > successfully. Unfortunately error can be cleared when it is used for > the return value of blkmap_set_ext. Some kinds of corruption are not > being fixed, including duplicate extents, claiming free blocks, claiming > metadata blocks, and multiply used blocks. > > Fix this by shadowing error for blkmap_set_ext. Shadowing variables is not a very nice way of solving the problem. Someone will come along in a couple of years anf go "huh?" and remove the shadowed declaration because it makes no sense and has no comments explaining it. Better is to use a different variable name for this scope - say "error2" - or to reset error to a value of 1 after the call with a comment explaining it.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs