From: Richard W.M. Jones Date: Sat, 6 Nov 2010 10:22:41 +0000 (+0000) Subject: RHEL 5: Don't pass BLOCK_FLAG_READ_ONLY to ext2_block_iterate if not defined. X-Git-Tag: 2.11~6 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=f6ca1f0328b16824b5239f026d82c598401f0ab7;p=febootstrap.git RHEL 5: Don't pass BLOCK_FLAG_READ_ONLY to ext2_block_iterate if not defined. --- diff --git a/helper/ext2.c b/helper/ext2.c index a27fb47..7ad120b 100644 --- a/helper/ext2.c +++ b/helper/ext2.c @@ -304,9 +304,19 @@ ext2_clean_path (ext2_ino_t dir_ino, if (err != 0) error (EXIT_FAILURE, 0, "ext2fs_write_inode: %s", error_message (err)); - if (ext2fs_inode_has_valid_blocks (&inode)) - ext2fs_block_iterate (fs, ino, BLOCK_FLAG_READ_ONLY, NULL, + if (ext2fs_inode_has_valid_blocks (&inode)) { + int flags = 0; + /* From the docs: "BLOCK_FLAG_READ_ONLY is a promise by the + * caller that it will not modify returned block number." + * RHEL 5 does not have this flag, so just omit it if it is + * not defined. + */ +#ifdef BLOCK_FLAG_READ_ONLY + flags |= BLOCK_FLAG_READ_ONLY; +#endif + ext2fs_block_iterate (fs, ino, flags, NULL, release_block, NULL); + } ext2fs_inode_alloc_stats2 (fs, ino, -1, isdir); }