From: Bill Kendall <wkendall@sgi.com>
To: xfs@oss.sgi.com
Subject: [PATCH 2/2] use lpath_to_handle when restoring symlinks
Date: Thu, 22 Oct 2009 11:52:32 -0500 [thread overview]
Message-ID: <4AE08DD0.50304@sgi.com> (raw)
Update xfsrestore to use the new lpath_to_handle function
when dealing with symlinks.
Signed-off-by: Bill Kendall <wkendall@sgi.com>
diff --git a/restore/content.c b/restore/content.c
index eb6e78c..99549a8 100644
--- a/restore/content.c
+++ b/restore/content.c
@@ -797,7 +797,6 @@ static void partial_reg(ix_t d_index, xfs_ino_t ino, off64_t fsize,
off64_t offset, off64_t sz);
static bool_t partial_check (xfs_ino_t ino, off64_t fsize);
static bool_t partial_check2 (partial_rest_t *isptr, off64_t fsize);
-static int do_fssetdm_by_handle( char *path, fsdmidata_t *fdmp);
static int quotafilecheck(char *type, char *dstdir, char *quotafile);
/* definition of locally defined global variables ****************************/
@@ -7895,14 +7894,28 @@ restore_symlink( drive_t *drivep,
}
if ( persp->a.restoredmpr) {
- fsdmidata_t fssetdm;
-
- /* Restore DMAPI fields. */
+ fsdmidata_t fssetdm;
+ void *hanp;
+ size_t hlen=0;
- fssetdm.fsd_dmevmask = bstatp->bs_dmevmask;
- fssetdm.fsd_padding = 0;
- fssetdm.fsd_dmstate = bstatp->bs_dmstate;
- rval = do_fssetdm_by_handle(path, &fssetdm);
+ /* Restore DMAPI fields. */
+ fssetdm.fsd_dmevmask = bstatp->bs_dmevmask;
+ fssetdm.fsd_padding = 0;
+ fssetdm.fsd_dmstate = bstatp->bs_dmstate;
+
+ if (lpath_to_handle(persp->a.dstdir, path, &hanp, &hlen)) {
+ mlog( MLOG_NORMAL | MLOG_WARNING, _(
+ "lpath_to_handle of %s failed: %s\n"),
+ path, strerror( errno ));
+ } else {
+ if (fssetdm_by_handle(hanp, hlen, &fssetdm)) {
+ mlog( MLOG_NORMAL | MLOG_WARNING,
+ _("fssetdm_by_handle of %s "
+ "failed: %s\n"),
+ path, strerror( errno ));
+ }
+ free_handle(hanp, hlen);
+ }
}
}
@@ -9525,32 +9538,6 @@ display_needed_objects( purp_t purp,
}
static int
-do_fssetdm_by_handle(
- char *path,
- fsdmidata_t *fdmp)
-{
- void *hanp;
- size_t hlen=0;
- int rc;
-
- if (path_to_handle(path, &hanp, &hlen)) {
- mlog( MLOG_NORMAL | MLOG_WARNING, _(
- "path_to_handle of %s failed:%s\n"),
- path, strerror( errno ));
- return -1;
- }
-
- rc = fssetdm_by_handle(hanp, hlen, fdmp);
- free_handle(hanp, hlen);
- if (rc) {
- mlog( MLOG_NORMAL | MLOG_WARNING, _(
- "fssetdm_by_handle of %s failed %s\n"),
- path, strerror( errno ));
- }
- return rc;
-}
-
-static int
quotafilecheck(char *type, char *dstdir, char *quotafile)
{
struct stat s;
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next reply other threads:[~2009-10-22 16:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-22 16:52 Bill Kendall [this message]
2009-10-23 18:13 ` [PATCH 2/2] use lpath_to_handle when restoring symlinks Alex Elder
2009-10-25 7:05 ` Christoph Hellwig
2009-10-27 15:36 ` Bill Kendall
2009-10-28 3:34 ` Christoph Hellwig
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=4AE08DD0.50304@sgi.com \
--to=wkendall@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox