if (bits & LA_RDEV)
inode->i_rdev = attr->la_rdev;
- if (bits & LA_FLAGS) {
- struct ldiskfs_inode_info *li = LDISKFS_I(inode);
-
- li->i_flags = (li->i_flags & ~LDISKFS_FL_USER_MODIFIABLE) |
- (attr->la_flags & LDISKFS_FL_USER_MODIFIABLE);
- }
+ if (bits & LA_FLAGS)
+ inode->i_flags = ll_ext_to_inode_flags(attr->la_flags);
return 0;
}
link $DIR/d52a/foo $DIR/d52a/foo_link 2>/dev/null && error "link worked"
echo foo >> $DIR/d52a/foo || error "append foo failed"
mrename $DIR/d52a/foo $DIR/d52a/foo_ren && error "rename worked"
- lsattr $DIR/d52a/foo | egrep -q "^-+[ae]-+ $DIR/d52a/foo" || error "lsattr"
+ lsattr $DIR/d52a/foo | egrep -q "^-+a[-e]+ $DIR/d52a/foo" || error "lsattr"
chattr -a $DIR/d52a/foo || error "chattr -a failed"
cp -r $DIR/d52a /tmp/
rm -fr $DIR/d52a || error "cleanup rm failed"
mrename $DIR/d52b/foo $DIR/d52b/foo_ren && error "rename worked"
[ -f $DIR/d52b/foo ] || error
[ -f $DIR/d52b/foo_ren ] && error
- lsattr $DIR/d52b/foo | egrep -q "^-+[ie]-+ $DIR/d52b/foo" || error "lsattr"
+ lsattr $DIR/d52b/foo | egrep -q "^-+i[-e]+ $DIR/d52b/foo" || error "lsattr"
chattr -i $DIR/d52b/foo || error "chattr failed"
rm -fr $DIR/d52b || error