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
next prev parent 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.