NULL, currententry->namelen,
currententry->valuelen);
+ if ((currententry->flags & XFS_ATTR_PARENT) &&
+ !xfs_has_parent(mp)) {
+ do_warn(
+ _("parent pointer found on filesystem that doesn't support parent pointers\n"));
+ junkit |= 1;
+ }
+
remainingspace = remainingspace -
xfs_attr_sf_entsize(currententry);
return -1;
}
}
+
+ if ((entry->flags & XFS_ATTR_PARENT) && !xfs_has_parent(mp)) {
+ do_warn(
+ _("parent pointer found in attribute entry %d in attr block %u, inode %"
+ PRIu64 " on filesystem that doesn't support parent pointers\n"),
+ i, da_bno, ino);
+ return -1;
+ }
+
return xfs_attr_leaf_entsize_local(local->namelen,
be16_to_cpu(local->valuelen));
}
return -1;
}
+ if (entry->flags & XFS_ATTR_PARENT) {
+ if (!xfs_has_parent(mp))
+ do_warn(
+ _("parent pointer found in attribute entry %d in attr block %u, inode %"
+ PRIu64 " on filesystem that doesn't support parent pointers\n"),
+ i, da_bno, ino);
+ else
+ do_warn(
+ _("parent pointer found in attribute entry %d in attr block %u, inode %"
+ PRIu64 " with bogus remote value\n"),
+ i, da_bno, ino);
+ return -1;
+ }
+
value = malloc(be32_to_cpu(remotep->valuelen));
if (value == NULL) {
do_warn(