@@ -121,6 +121,7 @@ attr_set_f(
char *value_from_file = NULL;
enum xfs_attr_update op = XFS_ATTRUPDATE_UPSERT;
int c;
+ int error;
if (cur_typ == NULL) {
dbprintf(_("no current type\n"));
@@ -260,9 +261,11 @@ attr_set_f(
args.owner = iocur_top->ino;
libxfs_attr_sethash(&args);
- if (libxfs_attr_set(&args, op, false)) {
- dbprintf(_("failed to set attr %s on inode %llu\n"),
- args.name, (unsigned long long)iocur_top->ino);
+ error = -libxfs_attr_set(&args, op, false);
+ if (error) {
+ dbprintf(_("failed to set attr %s on inode %llu: %s\n"),
+ args.name, (unsigned long long)iocur_top->ino,
+ strerror(error));
goto out;
}
@@ -291,6 +294,7 @@ attr_remove_f(
};
char *name_from_file = NULL;
int c;
+ int error;
if (cur_typ == NULL) {
dbprintf(_("no current type\n"));
@@ -379,10 +383,12 @@ attr_remove_f(
args.owner = iocur_top->ino;
libxfs_attr_sethash(&args);
- if (libxfs_attr_set(&args, XFS_ATTRUPDATE_REMOVE, false)) {
- dbprintf(_("failed to remove attr %s from inode %llu\n"),
+ error = -libxfs_attr_set(&args, XFS_ATTRUPDATE_REMOVE, false);
+ if (error) {
+ dbprintf(_("failed to remove attr %s from inode %llu: %s\n"),
(unsigned char *)args.name,
- (unsigned long long)iocur_top->ino);
+ (unsigned long long)iocur_top->ino,
+ strerror(error));
goto out;
}