All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans-Peter Jansen <hpj@urpla.net>
To: Mark Tinguely <tinguely@sgi.com>
Cc: xfs@oss.sgi.com
Subject: Re: Fwd: xfs_reno
Date: Tue, 12 Mar 2013 10:02:09 +0100	[thread overview]
Message-ID: <5202910.jIRzyplXT6@xrated> (raw)
In-Reply-To: <513E5113.60508@sgi.com>

Am Montag, 11. März 2013, 16:48:03 schrieb Mark Tinguely:
> On 03/06/13 08:55, Hans-Peter Jansen wrote:
> > Hi Dave,
> > 
> > I tried to gather Barrys SOB, but failed so far. His trace ends in 2009
> > google wise.
> > 
> > How is this case usually handled?
> > 
> > Here's the current state of things.
> > 
> > Cheers,
> > Pete
> > 
> > 
> > ----------  Weitergeleitete Nachricht  ----------
> > 
> > Betreff: xfs_reno
> > Datum: Mittwoch, 6. März 2013, 12:52:19
> > Von: Hans-Peter Jansen<hpj@urpla.net>
> > An: bnaujok@sgi.com
> > 
> > Hi Barry,
> > 
> > attached is a slightly mangled version of your xfs_reno tool, that I badly
> > needed recently. While at it, I plan to submit it, as it saved my *ss.
> > Thanks.
> > 
> > Apart from relocation to xfsprogs, I just changed this
> > 
> > +       log_message(LOG_DEBUG, "%s: %llu %lu %s", msg, node->ino,
> > +                       node->numpaths, node->paths[0]);
> > 
> > from %llu to %lu for the node->numpaths argument. It might still be wrong,
> > as numpath is defined as nlink_t which is a __u32 type, but the %s
> > printed garbage like this:
> > 
> > Scanning directory tree...
> > xfs_reno: add_node_path: ino 8611163235, path
> > /work/dlbase/hosts/11.2/pico/var/run/screens
> > xfs_reno: add_node_path: ino 8611163233, path
> > /work/dlbase/hosts/11.2/pico/var/run/pcscd/pcscd.events
> > xfs_reno: add_node_path: ino 8611163234, path
> > /work/dlbase/hosts/11.2/pico/var/run/uscreens
> > xfs_reno: nodehash: 8611163233 692488159933497345 ��]��f�e�
> > xfs_reno: nodehash: 8611163234 692366801337581569 ��]��f�e�
> > xfs_reno: nodehash: 8611163235 692223830466232321 ��]��f�e�
> > 
> > I guess, gcc is smart enough to see, that the struct members overlap here,
> > and prints the paths[0] argument as a %llu value. What do you think?
> > 
> > Anyway, I will revise this during the course of creating a xlstests test
> > for xfs_reno...
> > 
> > Do you allow me to add your Signed-off-by to this patch?
> > 
> > If you want to build this, apply both patches to xfsprogs.
> > 
> > TIA,
> > Pete
> 
> Have you been getting "Out of memory" warnings on your runs? I am.

No, I would have mentioned them. But I guess, my file systems are tiny 
compared to yours. The affected FS have 2.8T and 4.1T, with former with many 
small files and directories, the latter with many 2G files.
 
> Compiling, I get the warnings about having "\r" in the strings. For example:
> 
> reno/xfs_reno.c:1415: internationalized messages should not contain the
> `\r' escape sequence

Well, that's for the spin wheel, that might have interesting effects, when 
localized to right-to-left languages...

>                      ----------
> I wonder if we should add a temp directory option. It seems to want to
> use the parent directory of the directory as a temporary. 

Without digging into this, I can only guess, but the whole point of xfs_reno 
is relocating the inodes on the FS in question *without* copying files around. 
Using a separate TEMP defeats this purpose, don't it?

It might be in order to add a note to the man page to not try to use it in
"cross mount operation" scenarios.

> Below is the
> result of running xfs_reno on the target directory is "/mnt/xxx
> (changing the \r to <^M>\n for the email):
> 
> xfs_reno: directory: 128 1 /mn<^M>
> xfs_reno: /mnt/xfs_reno_epdaJc: Cannet set target extended attributes<^M>
> xfs_reno: failed to rename: '/mnt/xxx/origin' to
> '/mnt/xfs_reno_NXQLWI/origin'
> <^M>
> xfs_reno: unable to move directory contents: /mnt/xxx to
> /mnt/xfs_reno_NXQLWI
> <^M>
> xfs_reno: Cannot stat /mnt/xfs_reno_epdaJc: Inappropriate ioctl for device
> 
> <^M>
> xfs_reno: unable to duplicate directory attributes: /mnt/xfs_reno_epdaJc
> t/xxx
>                      ------
> /mnt is not an XFS filesystem. When mounting on the root, say /mnt, the
> message look like:
> 
> xfs_reno: Cannot stat //xfs_reno_epdaJc: Inappropriate ioctl for device

You lost me here. What I can say, is that using eg. "xfs_reno -vpn /work", 
hence on the mount point directly, did as advertised.

Cheers,
Pete

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

  reply	other threads:[~2013-03-12  9:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-06 14:55 Fwd: xfs_reno Hans-Peter Jansen
2013-03-06 20:37 ` Eric Sandeen
2013-03-07  4:13 ` Dave Chinner
2013-03-07 20:16   ` Ben Myers
2013-03-11 21:48 ` Mark Tinguely
2013-03-12  9:02   ` Hans-Peter Jansen [this message]
2013-03-12 13:48     ` Mark Tinguely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5202910.jIRzyplXT6@xrated \
    --to=hpj@urpla.net \
    --cc=tinguely@sgi.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.