summaryrefslogtreecommitdiff
path: root/resize
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2011-10-16 20:29:00 -0400
committerTheodore Ts'o <tytso@mit.edu>2011-10-16 20:46:49 -0400
commit0c80c44bd08c60f3cd0ad87f12a71a75cac3bcaa (patch)
tree67a7c88cc9f1ec48d47664d8c06f655acf568ae4 /resize
parent515e555a0c36ae0294d71ba9ba45f7fa576cfd0f (diff)
downloade2fsprogs-0c80c44bd08c60f3cd0ad87f12a71a75cac3bcaa.tar.gz
libext2fs: ext2fs_[set_]file_acl_block needs to check for 64-bit feature flag
The ext2fs_file_acl_block() and ext2fs_set_file_acl_block() needs to only check i_file_acl_high if the 64-bit flag is set. This is needed because otherwise we will run into problems on Hurd systems which actually use that field for h_i_mode_high. This involves an ABI change since we need to pass ext2_filsys to these functions. Fortunately these functions were first included in the 1.42-WIP series, so it's OK for us to change them now. (This is why we have 1.42-WIP releases. :-) Addresses-Sourceforge-Bug: #3379227 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'resize')
-rw-r--r--resize/resize2fs.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index a957850c..06ce73e5 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -1371,18 +1371,19 @@ static errcode_t inode_scan_and_fix(ext2_resize_t rfs)
pb.is_dir = LINUX_S_ISDIR(inode->i_mode);
pb.changed = 0;
- if (ext2fs_file_acl_block(inode) && rfs->bmap) {
+ if (ext2fs_file_acl_block(rfs->old_fs, inode) && rfs->bmap) {
new_block = ext2fs_extent_translate(rfs->bmap,
- ext2fs_file_acl_block(inode));
+ ext2fs_file_acl_block(rfs->old_fs, inode));
if (new_block) {
- ext2fs_file_acl_block_set(inode, new_block);
+ ext2fs_file_acl_block_set(rfs->old_fs, inode,
+ new_block);
retval = ext2fs_write_inode_full(rfs->old_fs,
ino, inode, inode_size);
if (retval) goto errout;
}
}
- if (ext2fs_inode_has_valid_blocks(inode) &&
+ if (ext2fs_inode_has_valid_blocks2(rfs->old_fs, inode) &&
(rfs->bmap || pb.is_dir)) {
pb.ino = ino;
retval = ext2fs_block_iterate3(rfs->old_fs,