public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* re: xfs: xfs_swap_extents needs to handle dynamic fork offsets
@ 2011-08-08 23:18 Linda A. Walsh
  2011-08-09  0:04 ` Dave Chinner
  0 siblings, 1 reply; 2+ messages in thread
From: Linda A. Walsh @ 2011-08-08 23:18 UTC (permalink / raw)
  To: xfs-oss

Saw this description from a patch set to lkml:
( http://lkml.indiana.edu/hypermail/linux/kernel/1004.2/02461.html )
========================================================
From: Greg KH
Date: Thu Apr 22 2010 - 16:43:40 EST
Subj: [022/197] xfs: xfs_swap_extents needs to handle dynamic fork offsets

2.6.32-stable review patch. If anyone has any objections, please let us 
know.
------------------
From: Dave Chinner <david@xxxxxxxxxxxxx>
commit e09f98606dcc156de1146c209d45a0d6d5f51c3f upstream
=========================================================
Description says...(brackets, [], added to highlight/break apart
some sections):

...
Changing the way xfs_fsr sets up the attribute fork will prevent
this situation from ever occurring, so in the kernel code we can get
by with a preventative fix - check that the data fork in the
defragmented inode is in a format valid for the inode it is being
swapped into.  [
]
This will lead to files that will silently and
potentially repeatedly fail defragmentation, [
***] so _issue_ _a_ _warning_ to the log when this particular
failure occurs to let us know that [
***]_xfs_fsr_ _needs_ _updating/fixing_.[***]


"To help identify how to improve xfs_fsr to avoid this issue, add
trace points for the inodes being swapped so that we can determine
why the swap was rejected and to confirm that the code is making the
right decisions and modifications when swapping forks. "
....
=========================================================
lower in the code you added the message:
=========================================================
+ /* check inode formats now that data is flushed */
+ error = xfs_swap_extents_check_format(ip, tip);
+ if (error) {
+ xfs_fs_cmn_err(CE_NOTE, mp,
+ "%s: inode 0x%llx format is incompatible for exchanging.",
+ __FILE__, ip->i_ino);
goto out_unlock;
}
=========================================================

I'm seeing several of these in 'dmesg':

[873569.328221] Filesystem dm-6: fs/xfs/xfs_dfrag.c: inode 0x8227a310 
format is incompatible for exchanging.
[873623.752724] Filesystem dm-6: fs/xfs/xfs_dfrag.c: inode 0x8227a310 
format is incompatible for exchanging.
[873669.721127] Filesystem dm-6: fs/xfs/xfs_dfrag.c: inode 0x8227a310 
format is incompatible for exchanging.
...

----
am running 2.6.38.3,

& version 3.1.4-2.1 of 'xfsprogs'....

Is there a version of xfs_fsr that fixes these problems, or is this
this still something on the 'todo list' (I don't notice any other 
aberrant behaviors
that might have anything to do with this)...Just thought I'd ask about
the weird messages...

Thanks,
Linda



_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: xfs: xfs_swap_extents needs to handle dynamic fork offsets
  2011-08-08 23:18 xfs: xfs_swap_extents needs to handle dynamic fork offsets Linda A. Walsh
@ 2011-08-09  0:04 ` Dave Chinner
  0 siblings, 0 replies; 2+ messages in thread
From: Dave Chinner @ 2011-08-09  0:04 UTC (permalink / raw)
  To: Linda A. Walsh; +Cc: xfs-oss

On Mon, Aug 08, 2011 at 04:18:37PM -0700, Linda A. Walsh wrote:
> I'm seeing several of these in 'dmesg':
> 
> [873569.328221] Filesystem dm-6: fs/xfs/xfs_dfrag.c: inode
> 0x8227a310 format is incompatible for exchanging.
> [873623.752724] Filesystem dm-6: fs/xfs/xfs_dfrag.c: inode
> 0x8227a310 format is incompatible for exchanging.
> [873669.721127] Filesystem dm-6: fs/xfs/xfs_dfrag.c: inode
> 0x8227a310 format is incompatible for exchanging.
> ...
> 
> ----
> am running 2.6.38.3,
> 
> & version 3.1.4-2.1 of 'xfsprogs'....

That's no surprise - there are still some formats of inodes that we
cannot exchange because the code in xfs_fsr cannot precisely control
the format of the inode forks from userspace. If you use the event
tracing to capture the before and after swap extent trace points, I
can tell you why they were incompatible for exchange, and whether
xfs_fsr can be further modified to enable those files to be
defragmented....

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-08-09  0:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-08 23:18 xfs: xfs_swap_extents needs to handle dynamic fork offsets Linda A. Walsh
2011-08-09  0:04 ` Dave Chinner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox