diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 0937feb..3076a6f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,6 @@ -/gfs2-utils-3.1.0.tar.gz -/gfs2-utils-3.1.1.tar.gz -/gfs2-utils-3.1.2.tar.gz -/gfs2-utils-3.1.3.tar.gz -/gfs2-utils-3.1.4.tar.gz -/gfs2-utils-3.1.5.tar.gz -/gfs2-utils-3.1.6.tar.gz -/gfs2-utils-3.1.7.tar.gz -/gfs2-utils-3.1.8.tar.gz +/gfs2-utils-3.3.0.tar.gz +/gfs2-utils-3.4.0.tar.gz +/gfs2-utils-3.4.1.tar.gz +/gfs2-utils-3.5.0.tar.gz +/gfs2-utils-3.5.1.tar.gz +/gfs2-utils-3.6.1.tar.gz diff --git a/fsck_gfs2_replace_recent_i_goal_fixes_with_simple_logic.patch b/fsck_gfs2_replace_recent_i_goal_fixes_with_simple_logic.patch deleted file mode 100644 index 7411fd8..0000000 --- a/fsck_gfs2_replace_recent_i_goal_fixes_with_simple_logic.patch +++ /dev/null @@ -1,304 +0,0 @@ -commit f1028ec054f2d7f85a449b2bf0894e0435c01d6a -Author: Abhi Das -Date: Tue Apr 14 19:51:55 2015 -0500 - - fsck.gfs2: replace recent i_goal fixes with simple logic - - This patch reverses the recent set of i_goal fixes for fsck.gfs2. - This is because of two problems. - 1. It is not possible to determine if a valid block within the fs - is the correct goal block for a given inode. - 2. Conversely, given an inode, it is also not possible to accurately - determine what its goal block should be. - - The previous patches assumed that the last block of a file is its - goal block, but that is not true if the file is a directory or if - its blocks are not allocated sequentially. fsck.gfs2 would flag - these inodes incorrectly as having bad i_goal values. - - This patch takes a simple approach. It checks if the i_goal of a - given inode is out of bounds of the fs. If so, we can be certain - that it is wrong and we set it to the inode metadata block. This - is a safe starting point for gfs2 to determine where to allocate - from next. - - Resolves: rhbz#1186515 - Signed-off-by: Abhi Das - -diff --git a/gfs2/fsck/metawalk.c b/gfs2/fsck/metawalk.c -index f05fb51..4d5a660 100644 ---- a/gfs2/fsck/metawalk.c -+++ b/gfs2/fsck/metawalk.c -@@ -1428,8 +1428,7 @@ static int build_and_check_metalist(struct gfs2_inode *ip, osi_list_t *mlp, - */ - static int check_data(struct gfs2_inode *ip, struct metawalk_fxns *pass, - struct gfs2_buffer_head *bh, int head_size, -- uint64_t *last_block, uint64_t *blks_checked, -- uint64_t *error_blk) -+ uint64_t *blks_checked, uint64_t *error_blk) - { - int error = 0, rc = 0; - uint64_t block, *ptr; -@@ -1444,7 +1443,7 @@ static int check_data(struct gfs2_inode *ip, struct metawalk_fxns *pass, - - if (skip_this_pass || fsck_abort) - return error; -- *last_block = block = be64_to_cpu(*ptr); -+ block = be64_to_cpu(*ptr); - /* It's important that we don't call valid_block() and - bypass calling check_data on invalid blocks because that - would defeat the rangecheck_block related functions in -@@ -1548,15 +1547,12 @@ int check_metatree(struct gfs2_inode *ip, struct metawalk_fxns *pass) - struct gfs2_buffer_head *bh; - uint32_t height = ip->i_di.di_height; - int i, head_size; -- uint64_t blks_checked = 0, last_block = 0; -+ uint64_t blks_checked = 0; - int error, rc; - int metadata_clean = 0; - uint64_t error_blk = 0; - int hit_error_blk = 0; - -- if (!height && pass->check_i_goal) -- pass->check_i_goal(ip, ip->i_di.di_num.no_addr, -- pass->private); - if (!height && !is_dir(&ip->i_di, ip->i_sbd->gfs1)) - return 0; - -@@ -1575,9 +1571,6 @@ int check_metatree(struct gfs2_inode *ip, struct metawalk_fxns *pass) - * comprise the directory hash table, so we perform the directory - * checks and exit. */ - if (is_dir(&ip->i_di, ip->i_sbd->gfs1)) { -- last_block = ip->i_di.di_num.no_addr; -- if (pass->check_i_goal) -- pass->check_i_goal(ip, last_block, pass->private); - if (!(ip->i_di.di_flags & GFS2_DIF_EXHASH)) - goto out; - /* check validity of leaf blocks and leaf chains */ -@@ -1604,7 +1597,7 @@ int check_metatree(struct gfs2_inode *ip, struct metawalk_fxns *pass) - - if (pass->check_data) - error = check_data(ip, pass, bh, head_size, -- &last_block, &blks_checked, &error_blk); -+ &blks_checked, &error_blk); - if (pass->big_file_msg && ip->i_di.di_blocks > COMFORTABLE_BLKS) - pass->big_file_msg(ip, blks_checked); - } -@@ -1616,8 +1609,6 @@ int check_metatree(struct gfs2_inode *ip, struct metawalk_fxns *pass) - (unsigned long long)ip->i_di.di_num.no_addr); - fflush(stdout); - } -- if (!error && pass->check_i_goal) -- pass->check_i_goal(ip, last_block, pass->private); - undo_metalist: - if (!error) - goto out; -@@ -1958,80 +1949,6 @@ static int alloc_leaf(struct gfs2_inode *ip, uint64_t block, void *private) - return 0; - } - --/** -- * rgrp_contains_block - Check if the rgrp provided contains the -- * given block. Taken directly from the gfs2 kernel code -- * @rgd: The rgrp to search within -- * @block: The block to search for -- * -- * Returns: 1 if present, 0 if not. -- */ --static inline int rgrp_contains_block(struct rgrp_tree *rgd, uint64_t block) --{ -- uint64_t first = rgd->ri.ri_data0; -- uint64_t last = first + rgd->ri.ri_data; -- return first <= block && block < last; --} -- --/** -- * check_i_goal -- * @ip -- * @goal_blk: What the goal block should be for this inode -- * -- * The goal block for a regular file is typically the last -- * data block of the file. If we can't get the right value, -- * the inode metadata block is the next best thing. -- * -- * Returns: 0 if corrected, 1 if not corrected -- */ --int check_i_goal(struct gfs2_inode *ip, uint64_t goal_blk, -- void *private) --{ -- struct gfs2_sbd *sdp = ip->i_sbd; -- uint64_t i_block = ip->i_di.di_num.no_addr; -- -- /* Don't fix gfs1 inodes, system inodes or inodes whose goal blocks are -- * set to the inode blocks themselves. */ -- if (sdp->gfs1 || ip->i_di.di_flags & GFS2_DIF_SYSTEM || -- ip->i_di.di_goal_meta == i_block) -- return 0; -- /* Don't fix directory goal blocks unless we know they're wrong. -- * i.e. out of bounds of the fs. Directories can easily have blocks -- * outside of the dinode's rgrp and thus we have no way of knowing -- * if the goal block is bogus or not. */ -- if (is_dir(&ip->i_di, ip->i_sbd->gfs1) && -- (ip->i_di.di_goal_meta > sdp->sb_addr && -- ip->i_di.di_goal_meta <= sdp->fssize)) -- return 0; -- /* We default to the inode block */ -- if (!goal_blk) -- goal_blk = i_block; -- -- if (ip->i_di.di_goal_meta != goal_blk) { -- /* If the existing goal block is in the same rgrp as the inode, -- * we give the benefit of doubt and assume the value is correct */ -- if (ip->i_rgd && -- rgrp_contains_block(ip->i_rgd, ip->i_di.di_goal_meta)) -- goto skip; -- log_err( _("Error: inode %llu (0x%llx) has invalid " -- "allocation goal block %llu (0x%llx). Should" -- " be %llu (0x%llx)\n"), -- (unsigned long long)i_block, (unsigned long long)i_block, -- (unsigned long long)ip->i_di.di_goal_meta, -- (unsigned long long)ip->i_di.di_goal_meta, -- (unsigned long long)goal_blk, (unsigned long long)goal_blk); -- if (query( _("Fix the invalid goal block? (y/n) "))) { -- ip->i_di.di_goal_meta = ip->i_di.di_goal_data = goal_blk; -- bmodified(ip->i_bh); -- } else { -- log_err(_("Invalid goal block not fixed.\n")); -- return 1; -- } -- } --skip: -- return 0; --} -- - struct metawalk_fxns alloc_fxns = { - .private = NULL, - .check_leaf = alloc_leaf, -@@ -2042,7 +1959,6 @@ struct metawalk_fxns alloc_fxns = { - .check_dentry = NULL, - .check_eattr_entry = NULL, - .check_eattr_extentry = NULL, -- .check_i_goal = check_i_goal, - .finish_eattr_indir = NULL, - }; - -diff --git a/gfs2/fsck/metawalk.h b/gfs2/fsck/metawalk.h -index 779360e..fa4c850 100644 ---- a/gfs2/fsck/metawalk.h -+++ b/gfs2/fsck/metawalk.h -@@ -50,8 +50,6 @@ extern int _fsck_blockmap_set(struct gfs2_inode *ip, uint64_t bblock, - const char *caller, int line); - extern int check_n_fix_bitmap(struct gfs2_sbd *sdp, uint64_t blk, - int error_on_dinode, int new_blockmap_state); --extern int check_i_goal(struct gfs2_inode *ip, uint64_t goal_blk, -- void *private); - extern void reprocess_inode(struct gfs2_inode *ip, const char *desc); - extern struct duptree *dupfind(uint64_t block); - extern struct gfs2_inode *fsck_system_inode(struct gfs2_sbd *sdp, -@@ -91,7 +89,6 @@ enum meta_check_rc { - * check_dentry: - * check_eattr_entry: - * check_eattr_extentry: -- * check_i_goal: - */ - struct metawalk_fxns { - void *private; -@@ -143,8 +140,6 @@ struct metawalk_fxns { - struct gfs2_ea_header *ea_hdr, - struct gfs2_ea_header *ea_hdr_prev, - void *private); -- int (*check_i_goal) (struct gfs2_inode *ip, uint64_t goal_blk, -- void *private); - int (*finish_eattr_indir) (struct gfs2_inode *ip, int leaf_pointers, - int leaf_pointer_errors, void *private); - void (*big_file_msg) (struct gfs2_inode *ip, uint64_t blks_checked); -diff --git a/gfs2/fsck/pass1.c b/gfs2/fsck/pass1.c -index 69c88f4..0909873 100644 ---- a/gfs2/fsck/pass1.c -+++ b/gfs2/fsck/pass1.c -@@ -100,7 +100,6 @@ struct metawalk_fxns pass1_fxns = { - .check_dentry = NULL, - .check_eattr_entry = check_eattr_entries, - .check_eattr_extentry = check_extended_leaf_eattr, -- .check_i_goal = check_i_goal, - .finish_eattr_indir = finish_eattr_indir, - .big_file_msg = big_file_comfort, - .repair_leaf = pass1_repair_leaf, -@@ -1205,12 +1204,37 @@ bad_dinode: - return -1; - } - -+static void check_i_goal(struct gfs2_sbd *sdp, struct gfs2_inode *ip) -+{ -+ if (sdp->gfs1 || ip->i_di.di_flags & GFS2_DIF_SYSTEM) -+ return; -+ -+ if (ip->i_di.di_goal_meta <= sdp->sb_addr || -+ ip->i_di.di_goal_meta > sdp->fssize) { -+ log_err(_("Inode #%llu (0x%llx): Bad allocation goal block " -+ "found: %llu (0x%llx)\n"), -+ (unsigned long long)ip->i_di.di_num.no_addr, -+ (unsigned long long)ip->i_di.di_num.no_addr, -+ (unsigned long long)ip->i_di.di_goal_meta, -+ (unsigned long long)ip->i_di.di_goal_meta); -+ if (query( _("Fix goal block in inode #%llu (0x%llx)? (y/n) "), -+ (unsigned long long)ip->i_di.di_num.no_addr, -+ (unsigned long long)ip->i_di.di_num.no_addr)) { -+ ip->i_di.di_goal_meta = ip->i_di.di_num.no_addr; -+ bmodified(ip->i_bh); -+ } else -+ log_err(_("Allocation goal block in inode #%lld " -+ "(0x%llx) not fixed\n"), -+ (unsigned long long)ip->i_di.di_num.no_addr, -+ (unsigned long long)ip->i_di.di_num.no_addr); -+ } -+} -+ - /* - * handle_di - This is now a wrapper function that takes a gfs2_buffer_head - * and calls handle_ip, which takes an in-code dinode structure. - */ --static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh, -- struct rgrp_tree *rgd) -+static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh) - { - int error = 0; - uint64_t block = bh->b_blocknr; -@@ -1252,7 +1276,7 @@ static int handle_di(struct gfs2_sbd *sdp, struct gfs2_buffer_head *bh, - (unsigned long long)block, - (unsigned long long)block); - } -- ip->i_rgd = rgd; -+ check_i_goal(sdp, ip); - error = handle_ip(sdp, ip); - fsck_inode_put(&ip); - return error; -@@ -1378,6 +1402,7 @@ static int check_system_inode(struct gfs2_sbd *sdp, - "directory entries.\n"), filename); - } - } -+ check_i_goal(sdp, *sysinode); - error = handle_ip(sdp, *sysinode); - return error ? error : err; - } -@@ -1602,7 +1627,7 @@ static int pass1_process_bitmap(struct gfs2_sbd *sdp, struct rgrp_tree *rgd, uin - (unsigned long long)block, - (unsigned long long)block); - check_n_fix_bitmap(sdp, block, 0, GFS2_BLKST_FREE); -- } else if (handle_di(sdp, bh, rgd) < 0) { -+ } else if (handle_di(sdp, bh) < 0) { - stack; - brelse(bh); - gfs2_special_free(&gfs1_rindex_blks); -diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h -index f1f81d3..ccae721 100644 ---- a/gfs2/libgfs2/libgfs2.h -+++ b/gfs2/libgfs2/libgfs2.h -@@ -233,7 +233,6 @@ struct gfs2_inode { - struct gfs2_dinode i_di; - struct gfs2_buffer_head *i_bh; - struct gfs2_sbd *i_sbd; -- struct rgrp_tree *i_rgd; /* The rgrp this inode is in */ - }; - - struct master_dir diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..f075ad7 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,15 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/gfs2-utils.spec b/gfs2-utils.spec index 2d3801f..3f1220a 100644 --- a/gfs2-utils.spec +++ b/gfs2-utils.spec @@ -1,24 +1,14 @@ -############################################################################### -############################################################################### -## -## Copyright (C) 2004-2014 Red Hat, Inc. All rights reserved. -## -## This copyrighted material is made available to anyone wishing to use, -## modify, copy, or redistribute it subject to the terms and conditions -## of the GNU General Public License v.2. -## -############################################################################### -############################################################################### - Name: gfs2-utils -Version: 3.1.8 -Release: 3%{?dist} -License: GPLv2+ and LGPLv2+ -Group: System Environment/Kernel +Version: 3.6.1 +Release: 2%{?dist} +# Refer to doc/README.licence in the upstream tarball +License: GPL-2.0-or-later AND LGPL-2.1-or-later Summary: Utilities for managing the global file system (GFS2) %ifnarch %{arm} -%{?fedora:Requires: kmod(gfs2.ko) kmod(dlm.ko)} +%{?fedora:Recommends: kmod(gfs2.ko) kmod(dlm.ko)} %endif +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} BuildRequires: ncurses-devel BuildRequires: kernel-headers BuildRequires: automake @@ -28,35 +18,35 @@ BuildRequires: gettext-devel BuildRequires: bison BuildRequires: flex BuildRequires: libblkid-devel +BuildRequires: libuuid-devel BuildRequires: check-devel -Source: https://fedorahosted.org/released/gfs2-utils/gfs2-utils-%{version}.tar.gz -URL: https://fedorahosted.org/cluster/wiki/HomePage -Patch0: fsck_gfs2_replace_recent_i_goal_fixes_with_simple_logic.patch +BuildRequires: bzip2-devel +BuildRequires: make +Source: https://releases.pagure.org/gfs2-utils/gfs2-utils-%{version}.tar.gz +URL: https://pagure.io/gfs2-utils %prep -%setup -q -n gfs2-utils-%{version} -%patch0 -p 1 -b .fsck_gfs2_replace_recent_i_goal_fixes_with_simple_logic +%autosetup -p1 %build ./autogen.sh %configure -make %{_smp_mflags} V=1 +%make_build %check make check || { cat tests/testsuite.log; exit 1; } %install -make -C gfs2 install DESTDIR=%{buildroot} +%make_install # Don't ship gfs2_{trace,lockcapture} in this package -rm -f %{buildroot}/usr/sbin/gfs2_trace -rm -f %{buildroot}/usr/sbin/gfs2_lockcapture +rm -f %{buildroot}%{_sbindir}/gfs2_trace +rm -f %{buildroot}%{_sbindir}/gfs2_lockcapture rm -f %{buildroot}%{_mandir}/man8/gfs2_trace.8 rm -f %{buildroot}%{_mandir}/man8/gfs2_lockcapture.8 %description -The gfs2-utils package contains a number of utilities for creating, -checking, modifying, and correcting any inconsistencies in GFS2 -file systems. +The gfs2-utils package contains a number of utilities for creating, checking, +modifying, and correcting inconsistencies in GFS2 file systems. %files %doc doc/COPYING.* doc/COPYRIGHT doc/*.txt @@ -65,13 +55,165 @@ file systems. %{_sbindir}/gfs2_grow %{_sbindir}/gfs2_jadd %{_sbindir}/mkfs.gfs2 -%{_sbindir}/gfs2_convert %{_sbindir}/gfs2_edit %{_sbindir}/tunegfs2 +%{_sbindir}/glocktop +%{_libexecdir}/gfs2_withdraw_helper %{_mandir}/man8/*gfs2* +%{_mandir}/man8/glocktop* %{_mandir}/man5/* +%{_prefix}/lib/udev/rules.d/82-gfs2-withdraw.rules %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 3.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Feb 27 2025 Andrew Price - 3.6.1-1 +- New upstream release + +* Mon Jan 20 2025 Andrew Price - 3.5.1-7 +- Don't hardcode /usr/sbin in the spec + +* Thu Jan 16 2025 Fedora Release Engineering - 3.5.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 3.5.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 3.5.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 3.5.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 3.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Apr 11 2023 Andrew Price - 3.5.1-1 +- New upstream release + +* Thu Feb 09 2023 Andrew Price - 3.5.0-1 +- New upstream release +- Drop all patches +- Exclude i686 for https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +- Migrate to SPDX license identifier + +* Thu Jan 19 2023 Fedora Release Engineering - 3.4.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 3.4.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jun 23 2022 Andrew Price - 3.4.1-4 +- gfs2/edit: always use "%s"-style format for printf()-style functions +- Custom patch to fix a printw() call missed by the above + Fixes a build failure due to format-security warnings being treated as errors + +* Thu Jan 20 2022 Fedora Release Engineering - 3.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 3.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Mar 15 2021 Andrew Price - 3.4.1-1 +- New upstream version + +* Mon Mar 08 2021 Andrew Price - 3.4.0-1 +- New upstream version +- Update testsuite script + +* Tue Jan 26 2021 Fedora Release Engineering - 3.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Sep 03 2020 Andrew Price - 3.3.0-2 +- Version bump to enable gating tests + +* Tue Sep 01 2020 Andrew Price - 3.3.0-1 +- New upstream version +- Add dependency on bzip2 +- Drop all patches +- gfs2_withdraw_helper is now in /usr/libexec/ + +* Wed Jul 29 2020 Andrew Price - 3.2.0-10 +- tests: Don't use fail_unless in unit tests + Fixes build failures due to a regression in check-devel + +* Mon Jul 27 2020 Fedora Release Engineering - 3.2.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 21 2020 Andrew Price - 3.2.0-8 +- Use make_build and make_install macros + https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro +- Remove -C gfs2 - it's a remnant from the cluster.git days +- Remove unnecessary header notice from spec file + +* Tue Jan 28 2020 Fedora Release Engineering - 3.2.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 3.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Feb 04 2019 Andrew Price - 3.2.0-5 +- Fix libuuid linking + +* Thu Jan 31 2019 Fedora Release Engineering - 3.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 3.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jun 21 2018 Andrew Price - 3.2.0-2 +- Recommend the gfs2 and dlm kmods instead of requiring them + Resolves: bz#1593411 + +* Thu May 24 2018 Andrew Price - 3.2.0-1 +- New upstream release + +* Wed Feb 07 2018 Fedora Release Engineering - 3.1.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Oct 13 2017 Andrew Price - 3.1.10-4 +- Update URL in spec file + +* Wed Aug 02 2017 Fedora Release Engineering - 3.1.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.1.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Mar 28 2017 Andrew Price - 3.1.10-1 +- New upstream release +- Make dependency on libuuid explicit + +* Fri Feb 10 2017 Fedora Release Engineering - 3.1.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jun 07 2016 Andrew Price - 3.1.9-1 +- New upstream release +- Drop all patches +- Add glocktop to the package + +* Mon Feb 15 2016 Andrew Price - 3.1.8-7 +- libgfs2: Add support for dirent.de_rahead +- gfs2_edit: Include dirent.de_rahead in directory listings +- gfs2-utils: Add a check for the de_rahead field +- libgfs2: Support the new dirent de_cookie field + Resolves: bz#1307532 + +* Wed Feb 03 2016 Fedora Release Engineering - 3.1.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Aug 20 2015 Andrew Price - 3.1.8-5 +- Add patches to install the withdraw helper script properly: + scripts_rename_gfs2_wd_udev_sh_to_gfs2_withdraw_helper.patch + scripts_install_the_withdraw_helper_script.patch + scripts_install_the_withdraw_udev_rules_script.patch +- Remove the obsolete udev script installation bits + +* Tue Aug 11 2015 Andrew Price - 3.1.8-4 +- gfs2-utils: Fix hang on withdraw +- Install udev withdraw handler scripts + * Wed Jun 17 2015 Fedora Release Engineering - 3.1.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild @@ -131,230 +273,3 @@ file systems. * Wed Feb 13 2013 Fedora Release Engineering - 3.1.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Nov 13 2012 Andrew Price - 3.1.5-1 -- New upstream release - Removes mount.gfs2, gfs2_tool, gfs2_quota -- Remove rawhide_transition.patch - now obsolete -- Update BuildRequires: - Change glibc-kernheaders to kernel-headers - Add bison and flex -- Provide a valid url for Source0 -- Add fix_build_on_rawhide.patch to fix a circular dep introduced in - bison 2.6, and a make -j race between libgfs2 and gfs2l - -* Tue Aug 14 2012 Andrew Price - 3.1.4-6 -- Make the kernel-modules-extra requirement Fedora-specific - Resolves bz#847955 - -* Thu Jul 19 2012 Fedora Release Engineering - 3.1.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Apr 17 2012 Andrew Price - 3.1.4-4 -- Remove commented-out sections -- Clean up some lintian warnings -- Add dependency on kernel-modules-extra as per bz#811547 - -* Wed Mar 07 2012 Andrew Price - 3.1.4-3 -- Remove redundant postinstall scriptlet - -* Thu Feb 2 2012 Fabio M. Di Nitto - 3.1.4-2 -- make sure to Obsolete gfs2-cluster - -* Wed Feb 01 2012 Andrew Price - 3.1.4-1 -- New upstream release - Adds gfs2_lockgather script -- Remove gfs2-cluster (commented out for now) -- Remove dependency on corosynclib-devel and systemd-units -- Add rawhide_transition.patch to stop gfs_controld from building - -* Fri Jan 13 2012 Fedora Release Engineering - 3.1.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Thu Dec 15 2011 Andrew Price - 3.1.3-1 -- New upstream release - Bugfixes and improvements to fsck.gfs2 - Fixes various other bugs - Improve strings and translation support -- Adds gfs2-cluster systemd unit -- Removes gfs2* init scripts - -* Wed Jul 06 2011 Andrew Price - 3.1.2-1 -- New upstream release - Fixes several bugs - Improves translation support - Adds savemeta compression -- Add zlib-devel to BuildRequires -- Add gettext-devel to BuildRequires - -* Wed May 25 2011 Steven Whitehouse - 3.1.1-3 -- Update wiki URL -- Remove gfs2_tool and gfs2_quota from package - -* Fri Feb 25 2011 Bob Peterson - 3.1.1-2 -- Bumping release number to keep upgrades consistent. - -* Wed Feb 23 2011 Bob Peterson - 3.1.1-1 -- gfs2_edit savemeta doesn't save all leafs for big directories -- gfs2_edit improvements -- fsck.gfs2: can't repair rgrps resulting from gfs_grow->gfs2_convert -- fsck.gfs2: reports master/root dinodes as unused and fixes bitmap - -* Tue Feb 08 2011 Fedora Release Engineering - 3.1.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Thu Jan 20 2011 Steven Whitehouse - 3.1.0-4 -- Drop mount.gfs2 and its man page -- Only list gfs2_tool once in the files list - -* Wed Dec 8 2010 Fabio M. Di Nitto - 3.1.0-3 -- Drop circular dependency on cman - -* Fri Dec 3 2010 Fabio M. Di Nitto - 3.1.0-2 -- gfs2-cluster should Obsoletes/Provides gfs-pcmk - -* Tue Sep 30 2010 Steven Whitehouse - 3.1.0-1 -- Bringing this package back for upstream GFS2 - Addition of gfs2tune to the utils - Merge of gfs_controld from cman - -* Thu Jan 22 2009 Fabio M. Di Nitto - 2.03.11-1 -- New upstream release - Fix several bugs and drastically improve startup errors. - -* Wed Dec 10 2008 Fabio M. Di Nitto - 2.03.10-1 -- New upstream release - Fix several bugs and port gfs1 code to match 2.6.27 kernel. - -* Fri Oct 31 2008 Fabio M. Di Nitto - 2.03.09-1 -- New upstream release - Fix rhbz#468966 - Addresses several security issues similar to CVE-2008-4192 and - CVE-2008-4579 after deep code audit from upstream -- cleanup patches to match 2.6.26 kernel in F-9 - -* Tue Oct 21 2008 Fabio M. Di Nitto - 2.03.08-1 -- New upstream release - Fix rhbz#460376 CVE-2008-4192 - Fix rhbz#467386 CVE-2008-4579 -- cleanup/update patches to match 2.6.26 kernel in F-9 - -* Thu Aug 14 2008 Fabio M. Di Nitto - 2.03.07-1 -- New upstream release -- Fix rgmanager startup locking issues -- Apply patch to include kernel headers from 2.6.26 required to build - userland. Userland will run in 2.6.25 compatibility mode -- Apply patch to keep kernel modules at 2.6.25 (upstream is at 2.6.26) - (this patch is purely cosmetic since we don't build kernel modules - but keep the source in sync is Good (tm)) -- Cleanup packaging for installed docs and file permissions - -* Mon Jul 14 2008 Fabio M. Di Nitto - 2.03.05-1 -- New upstream release -- Cleanup installed doc after upstream - -* Wed Jun 11 2008 Fabio M. Di Nitto 2.03.04-1 -- New upstream release -- Resolves: #446995 #318271 #447378 #445662 -- Update license tags after major upstream cleanup -- Include COPYRIGHT file - -* Fri May 30 2008 Fabio M. Di Nitto 2.03.03-1 -- New upstream release -- Fix several build warnings -- Update spec files to use macros -- Update Requires to use packages rather than pointing at files -- Drop BR on kernel-devel since it's not required anymore -- Update build section to use proper _sysconfdir, libdir and sbindir -- Avoid abusing cd when we can ask make to do the work for us -- Remove /usr/sbin from file section. We don't have any file there - and we can avoid shipping stuff by mistake - -* Mon Apr 14 2008 Steven Whitehouse 2.03.00-3 -- Fabbione saves the day. We can get rid of the sed stuff after all - -* Mon Apr 14 2008 Steven Whitehouse 2.03.00-1 -- New upstream sources -- Eric Sandeen's solution to kernel version dep - -* Wed Apr 09 2008 Steven Whitehouse 0.1.25.2.02.01-15 -- Remove obsolete chkconfig patch for initscript -- Enable parallel make -- Remove obsolete copy of gfs2_ondisk.h (this should be in glibc-kernheaders) - -* Wed Apr 09 2008 Steven Whitehouse 0.1.25.2.02.01-14 -- Update URL -- Fix license spec - -* Fri Mar 14 2008 Chris Feist 0.1.25.2.02.00-2 -- New upstream sources. - -* Tue Jan 16 2007 Chris Feist 0.1.24-1 -- New upstream sources. -- Resolves: rhbz#222747 - -* Wed Jan 03 2007 Chris Feist 0.1.24-1 -- Updated sources -- Resolves: rhbz#218560 - -* Thu Dec 21 2006 Chris Feist 0.1.23-1 -- Updated sources -- Resolves: rhbz#218560 - -* Tue Dec 19 2006 Chris Feist 0.1.22-1 -- New upstream sources. -- Resolves: rhbz#219878 - -* Tue Dec 04 2006 Chris Feist 0.1.21-1 -- New upstream sources. -- Resolves: rhbz#218134 rhbz#215962 - -* Thu Nov 30 2006 Chris Feist 0.1.19-1 -- New upstream sources. -- Resolves: rhbz#217798 - -* Wed Nov 29 2006 Chris Feist 0.1.18-1 -- New upstream sources. -- Resolves: rhbz#217460 - -* Thu Oct 26 2006 Chris Feist 0.1.14-1 -- New upstream sources. - -* Fri Oct 13 2006 Chris Feist 0.1.12-1 -- New Upstream sources. - -* Fri Oct 13 2006 Chris Feist 0.1.10-1 -- New Upstream sources. - -* Mon Oct 09 2006 Chris Feist 0.1.9-1 -- New Upstream sources. - -* Mon Sep 25 2006 Chris Feist 0.1.8-1 -- New Upstream sources. - -* Wed Sep 13 2006 Chris Feist 0.1.7-1 -- New Upstream sources. - -* Thu Sep 07 2006 Chris Feist 0.1.6-2 -- Fix typo in uninstall script (turn off gfs2 instead of gfs) - -* Mon Aug 28 2006 Chris Feist 0.1.6-1 -- New Upstream sources. - -* Tue Aug 22 2006 Chris Feist 0.1.5-1 -- New Upstream sources. - -* Mon Aug 14 2006 Chris Feist 0.1.3-0 -- New Upstream sources, use dist tag. - -* Fri Jul 14 2006 Chris Feist -- Rebuild with updated sources - -* Wed Jul 12 2006 Jesse Keating -- rebuild - -* Tue Jun 27 2006 Florian La Roche -- fix typo in preun script - -* Fri Jun 09 2006 Chris Feist - 0.1.0-1.fc6.3 -- Initial build of gfs-utils. diff --git a/plans/testsuite.fmf b/plans/testsuite.fmf new file mode 100644 index 0000000..2f86880 --- /dev/null +++ b/plans/testsuite.fmf @@ -0,0 +1,5 @@ +summary: Run testsuite +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources index 0a3227f..bf0a0ab 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f43b26f006b0a58d86a08eed579871f1 gfs2-utils-3.1.8.tar.gz +SHA512 (gfs2-utils-3.6.1.tar.gz) = c620cd7cac29af927a6325ffe024f3090285083f8a094935f318026e7fadb9b63cdbccc4962141ff93a2994fe32d138bf1ff999a58dfe268c034156132785346 diff --git a/tests/atlocal b/tests/atlocal new file mode 100644 index 0000000..47da8d4 --- /dev/null +++ b/tests/atlocal @@ -0,0 +1,8 @@ +GFS_TGT="../../testvol" +GFS_TGT_SZ=10 +GFS_MKFS="mkfs.gfs2 -O -D" + +gfs_max_blocks() +{ + printf $((GFS_TGT_SZ*1073741824/$1)) +} diff --git a/tests/rgrifieldscheck.sh b/tests/rgrifieldscheck.sh new file mode 100755 index 0000000..1fbf672 --- /dev/null +++ b/tests/rgrifieldscheck.sh @@ -0,0 +1,20 @@ +#!/bin/sh +dev=$1 +i=0 +gfs2_edit -p rg 0 $dev | grep rg_data0 > /dev/null 2>&1 +# New fields not present in /usr/include/linux/gfs2_ondisk.h +test $? = 0 || exit 0 +gfs2_edit -p rindex $dev | while read field rival unused +do + test $field = ri_data0 -o $field = ri_data -o $field = ri_bitbytes || continue + rgfield=$(echo $field | sed 's/ri/rg/') + rgval=$(gfs2_edit -p rg $i $dev | grep " $rgfield " | awk '{print $2}') + + if test "$rival" != "$rgval" + then + echo "Bad $rgfield in rg $i: $rgval (expected: $rival)" >&2 + exit 1 + fi + + test $field = ri_bitbytes && i=$((i+1)) +done diff --git a/tests/rgskipcheck.sh b/tests/rgskipcheck.sh new file mode 100755 index 0000000..4a8f93f --- /dev/null +++ b/tests/rgskipcheck.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +dev=$1 +rgcount=$(gfs2_edit -p rgcount $dev | cut -f1 -d' ') +prevaddr=$(gfs2_edit -p rg 0 $dev | grep ^RG | awk '{print $5}') +prevskip=0 +for i in `seq 0 $(($rgcount - 1))`; do + addr=$(gfs2_edit -p rg $i $dev | grep ^RG | awk '{print $5}') + expected=$(($addr - $prevaddr)) + + if test $prevskip != $expected; then + echo "Bad rg_skip in rg $(($i - 1)): $prevskip (expected: $expected)" >&2 + exit 1 + fi + + prevskip=$(gfs2_edit -p rg $i $dev | grep rg_skip | awk '{print $2}') + prevaddr=$addr +done + diff --git a/tests/testsuite b/tests/testsuite new file mode 100755 index 0000000..7619c86 --- /dev/null +++ b/tests/testsuite @@ -0,0 +1,5612 @@ +#! /bin/sh +# Generated from testsuite.at by GNU Autoconf 2.69. +# +# Copyright (C) 2009-2012 Free Software Foundation, Inc. +# +# This test suite is free software; the Free Software Foundation gives +# unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + + +SHELL=${CONFIG_SHELL-/bin/sh} + +# How were we run? +at_cli_args="$@" + + +# Not all shells have the 'times' builtin; the subshell is needed to make +# sure we discard the 'times: not found' message from the shell. +at_times_p=false +(times) >/dev/null 2>&1 && at_times_p=: + +# CLI Arguments to pass to the debugging scripts. +at_debug_args= +# -e sets to true +at_errexit_p=false +# Shall we be verbose? ':' means no, empty means yes. +at_verbose=: +at_quiet= +# Running several jobs in parallel, 0 means as many as test groups. +at_jobs=1 +at_traceon=: +at_trace_echo=: +at_check_filter_trace=: + +# Shall we keep the debug scripts? Must be `:' when the suite is +# run by a debug script, so that the script doesn't remove itself. +at_debug_p=false +# Display help message? +at_help_p=false +# Display the version message? +at_version_p=false +# List test groups? +at_list_p=false +# --clean +at_clean=false +# Test groups to run +at_groups= +# Whether to rerun failed tests. +at_recheck= +# Whether a write failure occurred +at_write_fail=0 + +# The directory we run the suite in. Default to . if no -C option. +at_dir=`pwd` +# An absolute reference to this testsuite script. +case $as_myself in + [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; + * ) at_myself=$at_dir/$as_myself ;; +esac +# Whether -C is in effect. +at_change_dir=false + +# Whether to enable colored test results. +at_color=auto +# List of the tested programs. +at_tested='mkfs.gfs2 +fsck.gfs2 +gfs2_edit +tunegfs2' +# As many question marks as there are digits in the last test group number. +# Used to normalize the test group numbers so that `ls' lists them in +# numerical order. +at_format='??' +# Description of all the test groups. +at_help_all="1;mkfs.at:4;Locking protocol validation;mkfs.gfs2 mkfs; +2;mkfs.at:9;Resource group size validation;mkfs.gfs2 mkfs; +3;mkfs.at:15;Journal size validation;mkfs.gfs2 mkfs; +4;mkfs.at:21;Block count validation;mkfs.gfs2 mkfs; +5;mkfs.at:28;Quota change file size validation;mkfs.gfs2 mkfs; +6;mkfs.at:34;Format version validation;mkfs.gfs2 mkfs; +7;mkfs.at:44;Locking protocols;mkfs.gfs2 mkfs; +8;mkfs.at:50;Valid block sizes 512-4096;mkfs.gfs2 mkfs; +9;mkfs.at:58;Max. blocks, min. block size;mkfs.gfs2 mkfs; +10;mkfs.at:63;Max. blocks, max. block size;mkfs.gfs2 mkfs; +11;mkfs.at:68;Max. resource group size;mkfs.gfs2 mkfs; +12;mkfs.at:73;Min. resource group size;mkfs.gfs2 mkfs; +13;mkfs.at:78;Max. resource group size, min. block size;mkfs.gfs2 mkfs; +14;mkfs.at:83;Max. journal size;mkfs.gfs2 mkfs; +15;mkfs.at:88;Min. journal size;mkfs.gfs2 mkfs; +16;mkfs.at:95;Max. quota change file size;mkfs.gfs2 mkfs; +17;mkfs.at:100;Min. quota change file size;mkfs.gfs2 mkfs; +18;mkfs.at:105;Lock table validation;mkfs.gfs2 mkfs; +19;mkfs.at:124;Device i/o limits handling;mkfs.gfs2 mkfs; +20;mkfs.at:135;Resource group alignment;mkfs.gfs2 mkfs; +21;mkfs.at:144;Values of rg_skip;mkfs.gfs2 mkfs; +22;mkfs.at:160;Values of rg_data0, rg_data, rg_bitbytes;mkfs.gfs2 mkfs; +23;mkfs.at:176;Small filesystems;mkfs.gfs2 mkfs; +24;fsck.at:4;Conflicting options;fsck.gfs2 fsck; +25;fsck.at:15;Fix invalid block sizes;fsck.gfs2 fsck; +26;fsck.at:24;Fix invalid goal blocks;fsck.gfs2 fsck; +27;fsck.at:29;Fix bad resource group #0;fsck.gfs2 fsck; +28;fsck.at:34;Fix bad resource group #1;fsck.gfs2 fsck; +29;fsck.at:44;Fix bad rindex entry #1;fsck.gfs2 fsck; +30;fsck.at:49;Rebuild bad journal;fsck.gfs2 fsck; +31;fsck.at:58;gfs2 format versions;fsck.gfs2 fsck; +32;edit.at:4;Save/restoremeta, defaults;gfs2_edit edit; +33;edit.at:17;Save/restoremeta, no compression;gfs2_edit edit; +34;edit.at:27;Save/restoremeta, min. block size;gfs2_edit edit; +35;edit.at:37;Save/restoremeta, 4 journals;gfs2_edit edit; +36;edit.at:47;Save/restoremeta, min. block size, 4 journals;gfs2_edit edit; +37;edit.at:57;Save metadata to /dev/null;gfs2_edit edit; +38;tune.at:4;Format version;tunegfs2 tune; +" +# List of the all the test groups. +at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` + +# at_fn_validate_ranges NAME... +# ----------------------------- +# Validate and normalize the test group number contained in each variable +# NAME. Leading zeroes are treated as decimal. +at_fn_validate_ranges () +{ + for at_grp + do + eval at_value=\$$at_grp + if test $at_value -lt 1 || test $at_value -gt 38; then + $as_echo "invalid test group: $at_value" >&2 + exit 1 + fi + case $at_value in + 0*) # We want to treat leading 0 as decimal, like expr and test, but + # AS_VAR_ARITH treats it as octal if it uses $(( )). + # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the + # expr fork, but it is not worth the effort to determine if the + # shell supports XSI when the user can just avoid leading 0. + eval $at_grp='`expr $at_value + 0`' ;; + esac + done +} + +at_prev= +for at_option +do + # If the previous option needs an argument, assign it. + if test -n "$at_prev"; then + at_option=$at_prev=$at_option + at_prev= + fi + + case $at_option in + *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; + *) at_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $at_option in + --help | -h ) + at_help_p=: + ;; + + --list | -l ) + at_list_p=: + ;; + + --version | -V ) + at_version_p=: + ;; + + --clean | -c ) + at_clean=: + ;; + + --color ) + at_color=always + ;; + --color=* ) + case $at_optarg in + no | never | none) at_color=never ;; + auto | tty | if-tty) at_color=auto ;; + always | yes | force) at_color=always ;; + *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` + as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; + esac + ;; + + --debug | -d ) + at_debug_p=: + ;; + + --errexit | -e ) + at_debug_p=: + at_errexit_p=: + ;; + + --verbose | -v ) + at_verbose=; at_quiet=: + ;; + + --trace | -x ) + at_traceon='set -x' + at_trace_echo=echo + at_check_filter_trace=at_fn_filter_trace + ;; + + [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) + at_fn_validate_ranges at_option + as_fn_append at_groups "$at_option$as_nl" + ;; + + # Ranges + [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) + at_range_start=`echo $at_option |tr -d X-` + at_fn_validate_ranges at_range_start + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,$p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) + at_range_end=`echo $at_option |tr -d X-` + at_fn_validate_ranges at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '1,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ + [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ + [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ + [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ + [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ + [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) + at_range_start=`expr $at_option : '\(.*\)-'` + at_range_end=`expr $at_option : '.*-\(.*\)'` + if test $at_range_start -gt $at_range_end; then + at_tmp=$at_range_end + at_range_end=$at_range_start + at_range_start=$at_tmp + fi + at_fn_validate_ranges at_range_start at_range_end + at_range=`$as_echo "$at_groups_all" | \ + sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` + as_fn_append at_groups "$at_range$as_nl" + ;; + + # Directory selection. + --directory | -C ) + at_prev=--directory + ;; + --directory=* ) + at_change_dir=: + at_dir=$at_optarg + if test x- = "x$at_dir" ; then + at_dir=./- + fi + ;; + + # Parallel execution. + --jobs | -j ) + at_jobs=0 + ;; + --jobs=* | -j[0-9]* ) + if test -n "$at_optarg"; then + at_jobs=$at_optarg + else + at_jobs=`expr X$at_option : 'X-j\(.*\)'` + fi + case $at_jobs in *[!0-9]*) + at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` + as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; + esac + ;; + + # Keywords. + --keywords | -k ) + at_prev=--keywords + ;; + --keywords=* ) + at_groups_selected=$at_help_all + at_save_IFS=$IFS + IFS=, + set X $at_optarg + shift + IFS=$at_save_IFS + for at_keyword + do + at_invert= + case $at_keyword in + '!'*) + at_invert="-v" + at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` + ;; + esac + # It is on purpose that we match the test group titles too. + at_groups_selected=`$as_echo "$at_groups_selected" | + grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` + done + # Smash the keywords. + at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` + as_fn_append at_groups "$at_groups_selected$as_nl" + ;; + --recheck) + at_recheck=: + ;; + + *=*) + at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $at_envvar in + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$at_envvar'" ;; + esac + at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` + # Export now, but save eval for later and for debug scripts. + export $at_envvar + as_fn_append at_debug_args " $at_envvar='$at_value'" + ;; + + *) $as_echo "$as_me: invalid option: $at_option" >&2 + $as_echo "Try \`$0 --help' for more information." >&2 + exit 1 + ;; + esac +done + +# Verify our last option didn't require an argument +if test -n "$at_prev"; then : + as_fn_error $? "\`$at_prev' requires an argument" +fi + +# The file containing the suite. +at_suite_log=$at_dir/$as_me.log + +# Selected test groups. +if test -z "$at_groups$at_recheck"; then + at_groups=$at_groups_all +else + if test -n "$at_recheck" && test -r "$at_suite_log"; then + at_oldfails=`sed -n ' + /^Failed tests:$/,/^Skipped tests:$/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^Unexpected passes:$/,/^## Detailed failed tests/{ + s/^[ ]*\([1-9][0-9]*\):.*/\1/p + } + /^## Detailed failed tests/q + ' "$at_suite_log"` + as_fn_append at_groups "$at_oldfails$as_nl" + fi + # Sort the tests, removing duplicates. + at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` +fi + +if test x"$at_color" = xalways \ + || { test x"$at_color" = xauto && test -t 1; }; then + at_red=`printf '\033[0;31m'` + at_grn=`printf '\033[0;32m'` + at_lgn=`printf '\033[1;32m'` + at_blu=`printf '\033[1;34m'` + at_std=`printf '\033[m'` +else + at_red= at_grn= at_lgn= at_blu= at_std= +fi + +# Help message. +if $at_help_p; then + cat <<_ATEOF || at_write_fail=1 +Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] + +Run all the tests, or the selected TESTS, given by numeric ranges, and +save a detailed log file. Upon failure, create debugging scripts. + +Do not change environment variables directly. Instead, set them via +command line arguments. Set \`AUTOTEST_PATH' to select the executables +to exercise. Each relative directory is expanded as build and source +directories relative to the top level of this distribution. +E.g., from within the build directory /tmp/foo-1.0, invoking this: + + $ $0 AUTOTEST_PATH=bin + +is equivalent to the following, assuming the source directory is /src/foo-1.0: + + PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Operation modes: + -h, --help print the help message, then exit + -V, --version print version number, then exit + -c, --clean remove all the files this test suite might create and exit + -l, --list describes all the tests, or the selected TESTS +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Execution tuning: + -C, --directory=DIR + change to directory DIR before starting + --color[=never|auto|always] + disable colored test results, or enable even without terminal + -j, --jobs[=N] + Allow N jobs at once; infinite jobs with no arg (default 1) + -k, --keywords=KEYWORDS + select the tests matching all the comma-separated KEYWORDS + multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD + --recheck select all tests that failed or passed unexpectedly last time + -e, --errexit abort as soon as a test fails; implies --debug + -v, --verbose force more detailed output + default for debugging scripts + -d, --debug inhibit clean up and top-level logging + default for debugging scripts + -x, --trace enable tests shell tracing +_ATEOF +cat <<_ATEOF || at_write_fail=1 + +Report bugs to . +_ATEOF + exit $at_write_fail +fi + +# List of tests. +if $at_list_p; then + cat <<_ATEOF || at_write_fail=1 +gfs2-utils 3.4.0.1.dev test suite test groups: + + NUM: FILE-NAME:LINE TEST-GROUP-NAME + KEYWORDS + +_ATEOF + # Pass an empty line as separator between selected groups and help. + $as_echo "$at_groups$as_nl$as_nl$at_help_all" | + awk 'NF == 1 && FS != ";" { + selected[$ 1] = 1 + next + } + /^$/ { FS = ";" } + NF > 0 { + if (selected[$ 1]) { + printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 + if ($ 4) { + lmax = 79 + indent = " " + line = indent + len = length (line) + n = split ($ 4, a, " ") + for (i = 1; i <= n; i++) { + l = length (a[i]) + 1 + if (i > 1 && len + l > lmax) { + print line + line = indent " " a[i] + len = length (line) + } else { + line = line " " a[i] + len += l + } + } + if (n) + print line + } + } + }' || at_write_fail=1 + exit $at_write_fail +fi +if $at_version_p; then + $as_echo "$as_me (gfs2-utils 3.4.0.1.dev)" && + cat <<\_ATEOF || at_write_fail=1 + +Copyright (C) 2012 Free Software Foundation, Inc. +This test suite is free software; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. +_ATEOF + exit $at_write_fail +fi + +# Should we print banners? Yes if more than one test is run. +case $at_groups in #( + *$as_nl* ) + at_print_banners=: ;; #( + * ) at_print_banners=false ;; +esac +# Text for banner N, set to a single space once printed. +# Banner 1. mkfs.at:2 +# Category starts at test group 1. +at_banner_text_1="mkfs.gfs2 tests" +# Banner 2. fsck.at:2 +# Category starts at test group 24. +at_banner_text_2="fsck.gfs2 tests" +# Banner 3. edit.at:2 +# Category starts at test group 32. +at_banner_text_3="gfs2_edit tests" +# Banner 4. tune.at:2 +# Category starts at test group 38. +at_banner_text_4="tunegfs2 tests" + +# Take any -C into account. +if $at_change_dir ; then + test x != "x$at_dir" && cd "$at_dir" \ + || as_fn_error $? "unable to change directory" + at_dir=`pwd` +fi + +# Load the config files for any default variable assignments. +for at_file in atconfig atlocal +do + test -r $at_file || continue + . ./$at_file || as_fn_error $? "invalid content: $at_file" +done + +# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: +: "${at_top_build_prefix=$at_top_builddir}" + +# Perform any assignments requested during argument parsing. +eval "$at_debug_args" + +# atconfig delivers names relative to the directory the test suite is +# in, but the groups themselves are run in testsuite-dir/group-dir. +if test -n "$at_top_srcdir"; then + builddir=../.. + for at_dir_var in srcdir top_srcdir top_build_prefix + do + eval at_val=\$at_$at_dir_var + case $at_val in + [\\/$]* | ?:[\\/]* ) at_prefix= ;; + *) at_prefix=../../ ;; + esac + eval "$at_dir_var=\$at_prefix\$at_val" + done +fi + +## -------------------- ## +## Directory structure. ## +## -------------------- ## + +# This is the set of directories and files used by this script +# (non-literals are capitalized): +# +# TESTSUITE - the testsuite +# TESTSUITE.log - summarizes the complete testsuite run +# TESTSUITE.dir/ - created during a run, remains after -d or failed test +# + at-groups/ - during a run: status of all groups in run +# | + NNN/ - during a run: meta-data about test group NNN +# | | + check-line - location (source file and line) of current AT_CHECK +# | | + status - exit status of current AT_CHECK +# | | + stdout - stdout of current AT_CHECK +# | | + stder1 - stderr, including trace +# | | + stderr - stderr, with trace filtered out +# | | + test-source - portion of testsuite that defines group +# | | + times - timestamps for computing duration +# | | + pass - created if group passed +# | | + xpass - created if group xpassed +# | | + fail - created if group failed +# | | + xfail - created if group xfailed +# | | + skip - created if group skipped +# + at-stop - during a run: end the run if this file exists +# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction +# + 0..NNN/ - created for each group NNN, remains after -d or failed test +# | + TESTSUITE.log - summarizes the group results +# | + ... - files created during the group + +# The directory the whole suite works in. +# Should be absolute to let the user `cd' at will. +at_suite_dir=$at_dir/$as_me.dir +# The file containing the suite ($at_dir might have changed since earlier). +at_suite_log=$at_dir/$as_me.log +# The directory containing helper files per test group. +at_helper_dir=$at_suite_dir/at-groups +# Stop file: if it exists, do not start new jobs. +at_stop_file=$at_suite_dir/at-stop +# The fifo used for the job dispatcher. +at_job_fifo=$at_suite_dir/at-job-fifo + +if $at_clean; then + test -d "$at_suite_dir" && + find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -f -r "$at_suite_dir" "$at_suite_log" + exit $? +fi + +# Don't take risks: use only absolute directories in PATH. +# +# For stand-alone test suites (ie. atconfig was not found), +# AUTOTEST_PATH is relative to `.'. +# +# For embedded test suites, AUTOTEST_PATH is relative to the top level +# of the package. Then expand it into build/src parts, since users +# may create executables in both places. +AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` +at_path= +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $AUTOTEST_PATH $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR +case $as_dir in + [\\/]* | ?:[\\/]* ) + as_fn_append at_path "$as_dir" + ;; + * ) + if test -z "$at_top_build_prefix"; then + # Stand-alone test suite. + as_fn_append at_path "$as_dir" + else + # Embedded test suite. + as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" + as_fn_append at_path "$at_top_srcdir/$as_dir" + fi + ;; +esac + done +IFS=$as_save_IFS + + +# Now build and simplify PATH. +# +# There might be directories that don't exist, but don't redirect +# builtins' (eg., cd) stderr directly: Ultrix's sh hates that. +at_new_path= +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $at_path +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -d "$as_dir" || continue +case $as_dir in + [\\/]* | ?:[\\/]* ) ;; + * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; +esac +case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in + *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; + $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; + *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; +esac + done +IFS=$as_save_IFS + +PATH=$at_new_path +export PATH + +# Setting up the FDs. + + + +# 5 is the log file. Not to be overwritten if `-d'. +if $at_debug_p; then + at_suite_log=/dev/null +else + : >"$at_suite_log" +fi +exec 5>>"$at_suite_log" + +# Banners and logs. +$as_echo "## ---------------------------------- ## +## gfs2-utils 3.4.0.1.dev test suite. ## +## ---------------------------------- ##" +{ + $as_echo "## ---------------------------------- ## +## gfs2-utils 3.4.0.1.dev test suite. ## +## ---------------------------------- ##" + echo + + $as_echo "$as_me: command line was:" + $as_echo " \$ $0 $at_cli_args" + echo + + # If ChangeLog exists, list a few lines in case it might help determining + # the exact version. + if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then + $as_echo "## ---------- ## +## ChangeLog. ## +## ---------- ##" + echo + sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" + echo + fi + + { +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} + echo + + # Contents of the config files. + for at_file in atconfig atlocal + do + test -r $at_file || continue + $as_echo "$as_me: $at_file:" + sed 's/^/| /' $at_file + echo + done +} >&5 + + +## ------------------------- ## +## Autotest shell functions. ## +## ------------------------- ## + +# at_fn_banner NUMBER +# ------------------- +# Output banner NUMBER, provided the testsuite is running multiple groups and +# this particular banner has not yet been printed. +at_fn_banner () +{ + $at_print_banners || return 0 + eval at_banner_text=\$at_banner_text_$1 + test "x$at_banner_text" = "x " && return 0 + eval "at_banner_text_$1=\" \"" + if test -z "$at_banner_text"; then + $at_first || echo + else + $as_echo "$as_nl$at_banner_text$as_nl" + fi +} # at_fn_banner + +# at_fn_check_prepare_notrace REASON LINE +# --------------------------------------- +# Perform AT_CHECK preparations for the command at LINE for an untraceable +# command; REASON is the reason for disabling tracing. +at_fn_check_prepare_notrace () +{ + $at_trace_echo "Not enabling shell tracing (command contains $1)" + $as_echo "$2" >"$at_check_line_file" + at_check_trace=: at_check_filter=: + : >"$at_stdout"; : >"$at_stderr" +} + +# at_fn_check_prepare_trace LINE +# ------------------------------ +# Perform AT_CHECK preparations for the command at LINE for a traceable +# command. +at_fn_check_prepare_trace () +{ + $as_echo "$1" >"$at_check_line_file" + at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace + : >"$at_stdout"; : >"$at_stderr" +} + +# at_fn_check_prepare_dynamic COMMAND LINE +# ---------------------------------------- +# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate +# preparation function. +at_fn_check_prepare_dynamic () +{ + case $1 in + *$as_nl*) + at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; + *) + at_fn_check_prepare_trace "$2" ;; + esac +} + +# at_fn_filter_trace +# ------------------ +# Remove the lines in the file "$at_stderr" generated by "set -x" and print +# them to stderr. +at_fn_filter_trace () +{ + mv "$at_stderr" "$at_stder1" + grep '^ *+' "$at_stder1" >&2 + grep -v '^ *+' "$at_stder1" >"$at_stderr" +} + +# at_fn_log_failure FILE-LIST +# --------------------------- +# Copy the files in the list on stdout with a "> " prefix, and exit the shell +# with a failure exit code. +at_fn_log_failure () +{ + for file + do $as_echo "$file:"; sed 's/^/> /' "$file"; done + echo 1 > "$at_status_file" + exit 1 +} + +# at_fn_check_skip EXIT-CODE LINE +# ------------------------------- +# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit +# the test group subshell with that same exit code. Use LINE in any report +# about test failure. +at_fn_check_skip () +{ + case $1 in + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$2: hard failure"; exit 99;; + 77) echo 77 > "$at_status_file"; exit 77;; + esac +} + +# at_fn_check_status EXPECTED EXIT-CODE LINE +# ------------------------------------------ +# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. +# Otherwise, if it is 77 or 99, exit the test group subshell with that same +# exit code; if it is anything else print an error message referring to LINE, +# and fail the test. +at_fn_check_status () +{ + case $2 in + $1 ) ;; + 77) echo 77 > "$at_status_file"; exit 77;; + 99) echo 99 > "$at_status_file"; at_failed=: + $as_echo "$3: hard failure"; exit 99;; + *) $as_echo "$3: exit code was $2, expected $1" + at_failed=:;; + esac +} + +# at_fn_diff_devnull FILE +# ----------------------- +# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff +# invocations. +at_fn_diff_devnull () +{ + test -s "$1" || return 0 + $at_diff "$at_devnull" "$1" +} + +# at_fn_test NUMBER +# ----------------- +# Parse out test NUMBER from the tail of this file. +at_fn_test () +{ + eval at_sed=\$at_sed$1 + sed "$at_sed" "$at_myself" > "$at_test_source" +} + +# at_fn_create_debugging_script +# ----------------------------- +# Create the debugging script $at_group_dir/run which will reproduce the +# current test group. +at_fn_create_debugging_script () +{ + { + echo "#! /bin/sh" && + echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && + $as_echo "cd '$at_dir'" && + $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && + echo 'exit 1' + } >"$at_group_dir/run" && + chmod +x "$at_group_dir/run" +} + +## -------------------------------- ## +## End of autotest shell functions. ## +## -------------------------------- ## +{ + $as_echo "## ---------------- ## +## Tested programs. ## +## ---------------- ##" + echo +} >&5 + +# Report what programs are being tested. +for at_program in : $at_tested +do + test "$at_program" = : && continue + case $at_program in + [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; + * ) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -f "$as_dir/$at_program" && break + done +IFS=$as_save_IFS + + at_program_=$as_dir/$at_program ;; + esac + if test -f "$at_program_"; then + { + $as_echo "$at_srcdir/testsuite.at:48: $at_program_ --version" + "$at_program_" --version &5 2>&1 + else + as_fn_error $? "cannot find $at_program" "$LINENO" 5 + fi +done + +{ + $as_echo "## ------------------ ## +## Running the tests. ## +## ------------------ ##" +} >&5 + +at_start_date=`date` +at_start_time=`date +%s 2>/dev/null` +$as_echo "$as_me: starting at: $at_start_date" >&5 + +# Create the master directory if it doesn't already exist. +as_dir="$at_suite_dir"; as_fn_mkdir_p || + as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 + +# Can we diff with `/dev/null'? DU 5.0 refuses. +if diff /dev/null /dev/null >/dev/null 2>&1; then + at_devnull=/dev/null +else + at_devnull=$at_suite_dir/devnull + >"$at_devnull" +fi + +# Use `diff -u' when possible. +if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" +then + at_diff='diff -u' +else + at_diff=diff +fi + +# Get the last needed group. +for at_group in : $at_groups; do :; done + +# Extract the start and end lines of each test group at the tail +# of this file +awk ' +BEGIN { FS="" } +/^#AT_START_/ { + start = NR +} +/^#AT_STOP_/ { + test = substr ($ 0, 10) + print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" + if (test == "'"$at_group"'") exit +}' "$at_myself" > "$at_suite_dir/at-source-lines" && +. "$at_suite_dir/at-source-lines" || + as_fn_error $? "cannot create test line number cache" "$LINENO" 5 +rm -f "$at_suite_dir/at-source-lines" + +# Set number of jobs for `-j'; avoid more jobs than test groups. +set X $at_groups; shift; at_max_jobs=$# +if test $at_max_jobs -eq 0; then + at_jobs=1 +fi +if test $at_jobs -ne 1 && + { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then + at_jobs=$at_max_jobs +fi + +# If parallel mode, don't output banners, don't split summary lines. +if test $at_jobs -ne 1; then + at_print_banners=false + at_quiet=: +fi + +# Set up helper dirs. +rm -rf "$at_helper_dir" && +mkdir "$at_helper_dir" && +cd "$at_helper_dir" && +{ test -z "$at_groups" || mkdir $at_groups; } || +as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 + +# Functions for running a test group. We leave the actual +# test group execution outside of a shell function in order +# to avoid hitting zsh 4.x exit status bugs. + +# at_fn_group_prepare +# ------------------- +# Prepare for running a test group. +at_fn_group_prepare () +{ + # The directory for additional per-group helper files. + at_job_dir=$at_helper_dir/$at_group + # The file containing the location of the last AT_CHECK. + at_check_line_file=$at_job_dir/check-line + # The file containing the exit status of the last command. + at_status_file=$at_job_dir/status + # The files containing the output of the tested commands. + at_stdout=$at_job_dir/stdout + at_stder1=$at_job_dir/stder1 + at_stderr=$at_job_dir/stderr + # The file containing the code for a test group. + at_test_source=$at_job_dir/test-source + # The file containing dates. + at_times_file=$at_job_dir/times + + # Be sure to come back to the top test directory. + cd "$at_suite_dir" + + # Clearly separate the test groups when verbose. + $at_first || $at_verbose echo + + at_group_normalized=$at_group + + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + + + # Create a fresh directory for the next test group, and enter. + # If one already exists, the user may have invoked ./run from + # within that directory; we remove the contents, but not the + # directory itself, so that we aren't pulling the rug out from + # under the shell's notion of the current directory. + at_group_dir=$at_suite_dir/$at_group_normalized + at_group_log=$at_group_dir/$as_me.log + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; + rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* +fi || + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 +$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} + # Be tolerant if the above `rm' was not able to remove the directory. + as_dir="$at_group_dir"; as_fn_mkdir_p + + echo 0 > "$at_status_file" + + # In verbose mode, append to the log file *and* show on + # the standard output; in quiet mode only write to the log. + if test -z "$at_verbose"; then + at_tee_pipe='tee -a "$at_group_log"' + else + at_tee_pipe='cat >> "$at_group_log"' + fi +} + +# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] +# ------------------------------------------------- +# Declare the test group ORDINAL, located at LINE with group description DESC, +# and residing under BANNER. Use PAD to align the status column. +at_fn_group_banner () +{ + at_setup_line="$2" + test -n "$5" && at_fn_banner $5 + at_desc="$3" + case $1 in + [0-9]) at_desc_line=" $1: ";; + [0-9][0-9]) at_desc_line=" $1: " ;; + *) at_desc_line="$1: " ;; + esac + as_fn_append at_desc_line "$3$4" + $at_quiet $as_echo_n "$at_desc_line" + echo "# -*- compilation -*-" >> "$at_group_log" +} + +# at_fn_group_postprocess +# ----------------------- +# Perform cleanup after running a test group. +at_fn_group_postprocess () +{ + # Be sure to come back to the suite directory, in particular + # since below we might `rm' the group directory we are in currently. + cd "$at_suite_dir" + + if test ! -f "$at_check_line_file"; then + sed "s/^ */$as_me: WARNING: /" <<_ATEOF + A failure happened in a test group before any test could be + run. This means that test suite is improperly designed. Please + report this failure to . +_ATEOF + $as_echo "$at_setup_line" >"$at_check_line_file" + at_status=99 + fi + $at_verbose $as_echo_n "$at_group. $at_setup_line: " + $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" + case $at_xfail:$at_status in + yes:0) + at_msg="UNEXPECTED PASS" + at_res=xpass + at_errexit=$at_errexit_p + at_color=$at_red + ;; + no:0) + at_msg="ok" + at_res=pass + at_errexit=false + at_color=$at_grn + ;; + *:77) + at_msg='skipped ('`cat "$at_check_line_file"`')' + at_res=skip + at_errexit=false + at_color=$at_blu + ;; + no:* | *:99) + at_msg='FAILED ('`cat "$at_check_line_file"`')' + at_res=fail + at_errexit=$at_errexit_p + at_color=$at_red + ;; + yes:*) + at_msg='expected failure ('`cat "$at_check_line_file"`')' + at_res=xfail + at_errexit=false + at_color=$at_lgn + ;; + esac + echo "$at_res" > "$at_job_dir/$at_res" + # In parallel mode, output the summary line only afterwards. + if test $at_jobs -ne 1 && test -n "$at_verbose"; then + $as_echo "$at_desc_line $at_color$at_msg$at_std" + else + # Make sure there is a separator even with long titles. + $as_echo " $at_color$at_msg$at_std" + fi + at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" + case $at_status in + 0|77) + # $at_times_file is only available if the group succeeded. + # We're not including the group log, so the success message + # is written in the global log separately. But we also + # write to the group log in case they're using -d. + if test -f "$at_times_file"; then + at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' + rm -f "$at_times_file" + fi + $as_echo "$at_log_msg" >> "$at_group_log" + $as_echo "$at_log_msg" >&5 + + # Cleanup the group directory, unless the user wants the files + # or the success was unexpected. + if $at_debug_p || test $at_res = xpass; then + at_fn_create_debugging_script + if test $at_res = xpass && $at_errexit; then + echo stop > "$at_stop_file" + fi + else + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -fr "$at_group_dir" + fi + rm -f "$at_test_source" + fi + ;; + *) + # Upon failure, include the log into the testsuite's global + # log. The failure message is written in the group log. It + # is later included in the global log. + $as_echo "$at_log_msg" >> "$at_group_log" + + # Upon failure, keep the group directory for autopsy, and create + # the debugging script. With -e, do not start any further tests. + at_fn_create_debugging_script + if $at_errexit; then + echo stop > "$at_stop_file" + fi + ;; + esac +} + + +## ------------ ## +## Driver loop. ## +## ------------ ## + + +if (set -m && set +m && set +b) >/dev/null 2>&1; then + set +b + at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- +else + at_job_control_on=: at_job_control_off=: at_job_group= +fi + +for at_signal in 1 2 15; do + trap 'set +x; set +e + $at_job_control_off + at_signal='"$at_signal"' + echo stop > "$at_stop_file" + trap "" $at_signal + at_pgids= + for at_pgid in `jobs -p 2>/dev/null`; do + at_pgids="$at_pgids $at_job_group$at_pgid" + done + test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null + wait + if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then + echo >&2 + fi + at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` + set x $at_signame + test 1 -gt 2 && at_signame=$at_signal + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 +$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} + as_fn_arith 128 + $at_signal && exit_status=$as_val + as_fn_exit $exit_status' $at_signal +done + +rm -f "$at_stop_file" +at_first=: + +if test $at_jobs -ne 1 && + rm -f "$at_job_fifo" && + test -n "$at_job_group" && + ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null +then + # FIFO job dispatcher. + + trap 'at_pids= + for at_pid in `jobs -p`; do + at_pids="$at_pids $at_job_group$at_pid" + done + if test -n "$at_pids"; then + at_sig=TSTP + test "${TMOUT+set}" = set && at_sig=STOP + kill -$at_sig $at_pids 2>/dev/null + fi + kill -STOP $$ + test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP + + echo + # Turn jobs into a list of numbers, starting from 1. + at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` + + set X $at_joblist + shift + for at_group in $at_groups; do + $at_job_control_on 2>/dev/null + ( + # Start one test group. + $at_job_control_off + if $at_first; then + exec 7>"$at_job_fifo" + else + exec 6<&- + fi + trap 'set +x; set +e + trap "" PIPE + echo stop > "$at_stop_file" + echo >&7 + as_fn_exit 141' PIPE + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source" + then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_fn_group_postprocess + echo >&7 + ) & + $at_job_control_off + if $at_first; then + at_first=false + exec 6<"$at_job_fifo" 7>"$at_job_fifo" + fi + shift # Consume one token. + if test $# -gt 0; then :; else + read at_token <&6 || break + set x $* + fi + test -f "$at_stop_file" && break + done + exec 7>&- + # Read back the remaining ($at_jobs - 1) tokens. + set X $at_joblist + shift + if test $# -gt 0; then + shift + for at_job + do + read at_token + done <&6 + fi + exec 6<&- + wait +else + # Run serially, avoid forks and other potential surprises. + for at_group in $at_groups; do + at_fn_group_prepare + if cd "$at_group_dir" && + at_fn_test $at_group && + . "$at_test_source"; then :; else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_fn_group_postprocess + test -f "$at_stop_file" && break + at_first=false + done +fi + +# Wrap up the test suite with summary statistics. +cd "$at_helper_dir" + +# Use ?..???? when the list must remain sorted, the faster * otherwise. +at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` +at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` +at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` +at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do + echo $f; done | sed '/?/d; s,/xpass,,'` +at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do + echo $f; done | sed '/?/d; s,/fail,,'` + +set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list +shift; at_group_count=$# +set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* +set X $at_xfail_list; shift; at_xfail_count=$# +set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* +set X $at_skip_list; shift; at_skip_count=$# + +as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val +as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val +as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val + +# Back to the top directory. +cd "$at_dir" +rm -rf "$at_helper_dir" + +# Compute the duration of the suite. +at_stop_date=`date` +at_stop_time=`date +%s 2>/dev/null` +$as_echo "$as_me: ending at: $at_stop_date" >&5 +case $at_start_time,$at_stop_time in + [0-9]*,[0-9]*) + as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val + as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val + as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val + as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val + as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val + at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" + $as_echo "$as_me: test suite duration: $at_duration" >&5 + ;; +esac + +echo +$as_echo "## ------------- ## +## Test results. ## +## ------------- ##" +echo +{ + echo + $as_echo "## ------------- ## +## Test results. ## +## ------------- ##" + echo +} >&5 + +if test $at_run_count = 1; then + at_result="1 test" + at_were=was +else + at_result="$at_run_count tests" + at_were=were +fi +if $at_errexit_p && test $at_unexpected_count != 0; then + if test $at_xpass_count = 1; then + at_result="$at_result $at_were run, one passed" + else + at_result="$at_result $at_were run, one failed" + fi + at_result="$at_result unexpectedly and inhibited subsequent tests." + at_color=$at_red +else + # Don't you just love exponential explosion of the number of cases? + at_color=$at_red + case $at_xpass_count:$at_fail_count:$at_xfail_count in + # So far, so good. + 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; + 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; + + # Some unexpected failures + 0:*:0) at_result="$at_result $at_were run, +$at_fail_count failed unexpectedly." ;; + + # Some failures, both expected and unexpected + 0:*:1) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + 0:*:*) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + + # No unexpected failures, but some xpasses + *:0:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly." ;; + + # No expected failures, but failures and xpasses + *:1:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; + *:*:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; + + # All of them. + *:*:1) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + *:*:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + esac + + if test $at_skip_count = 0 && test $at_run_count -gt 1; then + at_result="All $at_result" + fi +fi + +# Now put skips in the mix. +case $at_skip_count in + 0) ;; + 1) at_result="$at_result +1 test was skipped." ;; + *) at_result="$at_result +$at_skip_count tests were skipped." ;; +esac + +if test $at_unexpected_count = 0; then + echo "$at_color$at_result$at_std" + echo "$at_result" >&5 +else + echo "${at_color}ERROR: $at_result$at_std" >&2 + echo "ERROR: $at_result" >&5 + { + echo + $as_echo "## ------------------------ ## +## Summary of the failures. ## +## ------------------------ ##" + + # Summary of failed and skipped tests. + if test $at_fail_count != 0; then + echo "Failed tests:" + $SHELL "$at_myself" $at_fail_list --list + echo + fi + if test $at_skip_count != 0; then + echo "Skipped tests:" + $SHELL "$at_myself" $at_skip_list --list + echo + fi + if test $at_xpass_count != 0; then + echo "Unexpected passes:" + $SHELL "$at_myself" $at_xpass_list --list + echo + fi + if test $at_fail_count != 0; then + $as_echo "## ---------------------- ## +## Detailed failed tests. ## +## ---------------------- ##" + echo + for at_group in $at_fail_list + do + at_group_normalized=$at_group + + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + + cat "$at_suite_dir/$at_group_normalized/$as_me.log" + echo + done + echo + fi + if test -n "$at_top_srcdir"; then + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## ${at_top_build_prefix}config.log ## +_ASBOX + sed 's/^/| /' ${at_top_build_prefix}config.log + echo + fi + } >&5 + + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## $as_me.log was created. ## +_ASBOX + + echo + if $at_debug_p; then + at_msg='per-test log files' + else + at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" + fi + $as_echo "Please send $at_msg and all information you think might help: + + To: + Subject: [gfs2-utils 3.4.0.1.dev] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + +You may investigate any problem if you feel able to do so, in which +case the test suite provides a good starting point. Its output may +be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. +" + exit 1 +fi + +exit 0 + +## ------------- ## +## Actual tests. ## +## ------------- ## +#AT_START_1 +at_fn_group_banner 1 'mkfs.at:4' \ + "Locking protocol validation" " " 1 +at_xfail=no +( + $as_echo "1. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:6: \$GFS_MKFS -p badprotocol \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p badprotocol $GFS_TGT" "mkfs.at:6" +( $at_check_trace; $GFS_MKFS -p badprotocol $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:6" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_1 +#AT_START_2 +at_fn_group_banner 2 'mkfs.at:9' \ + "Resource group size validation" " " 1 +at_xfail=no +( + $as_echo "2. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:11: \$GFS_MKFS -p lock_nolock -r 31 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 31 $GFS_TGT" "mkfs.at:11" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 31 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:11" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:12: \$GFS_MKFS -p lock_nolock -r 2049 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 2049 $GFS_TGT" "mkfs.at:12" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 2049 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:12" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_2 +#AT_START_3 +at_fn_group_banner 3 'mkfs.at:15' \ + "Journal size validation" " " 1 +at_xfail=no +( + $as_echo "3. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:17: \$GFS_MKFS -p lock_nolock -J 7 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -J 7 $GFS_TGT" "mkfs.at:17" +( $at_check_trace; $GFS_MKFS -p lock_nolock -J 7 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:17" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:18: \$GFS_MKFS -p lock_nolock -J 1025 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -J 1025 $GFS_TGT" "mkfs.at:18" +( $at_check_trace; $GFS_MKFS -p lock_nolock -J 1025 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:18" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_3 +#AT_START_4 +at_fn_group_banner 4 'mkfs.at:21' \ + "Block count validation" " " 1 +at_xfail=no +( + $as_echo "4. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:23: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:23" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:23" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:23" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:23" +{ set +x +$as_echo "$at_srcdir/mkfs.at:24: \$GFS_MKFS -p lock_nolock -b 512 \$GFS_TGT \$((\$(gfs_max_blocks 512)+1))" +at_fn_check_prepare_notrace 'a $(...) command substitution' "mkfs.at:24" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 512 $GFS_TGT $(($(gfs_max_blocks 512)+1)) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:25: \$GFS_MKFS -p lock_nolock -b 4096 \$GFS_TGT \$((\$(gfs_max_blocks 4096)+1))" +at_fn_check_prepare_notrace 'a $(...) command substitution' "mkfs.at:25" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 4096 $GFS_TGT $(($(gfs_max_blocks 4096)+1)) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:25" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_4 +#AT_START_5 +at_fn_group_banner 5 'mkfs.at:28' \ + "Quota change file size validation" " " 1 +at_xfail=no +( + $as_echo "5. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:30: \$GFS_MKFS -p lock_nolock -c 0 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -c 0 $GFS_TGT" "mkfs.at:30" +( $at_check_trace; $GFS_MKFS -p lock_nolock -c 0 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:31: \$GFS_MKFS -p lock_nolock -c 65 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -c 65 $GFS_TGT" "mkfs.at:31" +( $at_check_trace; $GFS_MKFS -p lock_nolock -c 65 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_5 +#AT_START_6 +at_fn_group_banner 6 'mkfs.at:34' \ + "Format version validation" " " 1 +at_xfail=no +( + $as_echo "6. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:36: \$GFS_MKFS -p lock_nolock -o format=-1 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=-1 $GFS_TGT" "mkfs.at:36" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=-1 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:37: \$GFS_MKFS -p lock_nolock -o format=0 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=0 $GFS_TGT" "mkfs.at:37" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=0 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:37" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:38: \$GFS_MKFS -p lock_nolock -o format=1800 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=1800 $GFS_TGT" "mkfs.at:38" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=1800 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:38" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:39: \$GFS_MKFS -p lock_nolock -o format=1801 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=1801 $GFS_TGT" "mkfs.at:39" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=1801 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:40: \$GFS_MKFS -p lock_nolock -o format=1802 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=1802 $GFS_TGT" "mkfs.at:40" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=1802 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:41: \$GFS_MKFS -p lock_nolock -o format=1803 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=1803 $GFS_TGT" "mkfs.at:41" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=1803 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_6 +#AT_START_7 +at_fn_group_banner 7 'mkfs.at:44' \ + "Locking protocols" " " 1 +at_xfail=no +( + $as_echo "7. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:46: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:46" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:46" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:46" +{ set +x +$as_echo "$at_srcdir/mkfs.at:46: \$GFS_MKFS -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock $GFS_TGT" "mkfs.at:46" +( $at_check_trace; $GFS_MKFS -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:46: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:46" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:47: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:47" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:47" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:47" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:47" +{ set +x +$as_echo "$at_srcdir/mkfs.at:47: \$GFS_MKFS -p lock_dlm -t foo:bar \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_dlm -t foo:bar $GFS_TGT" "mkfs.at:47" +( $at_check_trace; $GFS_MKFS -p lock_dlm -t foo:bar $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:47" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:47: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:47" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:47" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_7 +#AT_START_8 +at_fn_group_banner 8 'mkfs.at:50' \ + "Valid block sizes 512-4096" " " 1 +at_xfail=no +( + $as_echo "8. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:52: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:52" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:52" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:52" +{ set +x +$as_echo "$at_srcdir/mkfs.at:52: \$GFS_MKFS -p lock_nolock -b 512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -b 512 $GFS_TGT" "mkfs.at:52" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:52: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:52" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:53: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:53" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:53" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:53" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:53" +{ set +x +$as_echo "$at_srcdir/mkfs.at:53: \$GFS_MKFS -p lock_nolock -b 1024 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -b 1024 $GFS_TGT" "mkfs.at:53" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 1024 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:53" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:53: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:53" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:53" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:54: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:54" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:54" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:54" +{ set +x +$as_echo "$at_srcdir/mkfs.at:54: \$GFS_MKFS -p lock_nolock -b 2048 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -b 2048 $GFS_TGT" "mkfs.at:54" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 2048 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:54: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:54" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:55: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:55" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:55" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:55" +{ set +x +$as_echo "$at_srcdir/mkfs.at:55: \$GFS_MKFS -p lock_nolock -b 4096 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -b 4096 $GFS_TGT" "mkfs.at:55" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 4096 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:55: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:55" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_8 +#AT_START_9 +at_fn_group_banner 9 'mkfs.at:58' \ + "Max. blocks, min. block size" " " 1 +at_xfail=no +( + $as_echo "9. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:60: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:60" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:60" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:60" +{ set +x +$as_echo "$at_srcdir/mkfs.at:60: \$GFS_MKFS -p lock_nolock -b 512 \$GFS_TGT \$(gfs_max_blocks 512)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "mkfs.at:60" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 512 $GFS_TGT $(gfs_max_blocks 512) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:60: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:60" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_9 +#AT_START_10 +at_fn_group_banner 10 'mkfs.at:63' \ + "Max. blocks, max. block size" " " 1 +at_xfail=no +( + $as_echo "10. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:65: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:65" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:65" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:65" +{ set +x +$as_echo "$at_srcdir/mkfs.at:65: \$GFS_MKFS -p lock_nolock -b 4096 \$GFS_TGT \$(gfs_max_blocks 4096)" +at_fn_check_prepare_notrace 'a $(...) command substitution' "mkfs.at:65" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 4096 $GFS_TGT $(gfs_max_blocks 4096) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:65: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:65" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:65" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_10 +#AT_START_11 +at_fn_group_banner 11 'mkfs.at:68' \ + "Max. resource group size" " " 1 +at_xfail=no +( + $as_echo "11. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:70: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:70" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:70" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:70" +{ set +x +$as_echo "$at_srcdir/mkfs.at:70: \$GFS_MKFS -p lock_nolock -r 2048 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 2048 $GFS_TGT" "mkfs.at:70" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 2048 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:70: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:70" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_11 +#AT_START_12 +at_fn_group_banner 12 'mkfs.at:73' \ + "Min. resource group size" " " 1 +at_xfail=no +( + $as_echo "12. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:75: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:75" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:75" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:75" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:75" +{ set +x +$as_echo "$at_srcdir/mkfs.at:75: \$GFS_MKFS -p lock_nolock -r 32 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 32 $GFS_TGT" "mkfs.at:75" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 32 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:75" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:75: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:75" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:75" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_12 +#AT_START_13 +at_fn_group_banner 13 'mkfs.at:78' \ + "Max. resource group size, min. block size" " " 1 +at_xfail=no +( + $as_echo "13. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:80: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:80" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:80" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:80" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:80" +{ set +x +$as_echo "$at_srcdir/mkfs.at:80: \$GFS_MKFS -p lock_nolock -r 2048 -b 512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 2048 -b 512 $GFS_TGT" "mkfs.at:80" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 2048 -b 512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:80" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:80: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:80" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:80" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_13 +#AT_START_14 +at_fn_group_banner 14 'mkfs.at:83' \ + "Max. journal size" " " 1 +at_xfail=no +( + $as_echo "14. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:85: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:85" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:85" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:85" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:85" +{ set +x +$as_echo "$at_srcdir/mkfs.at:85: \$GFS_MKFS -p lock_nolock -J 1024 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -J 1024 $GFS_TGT" "mkfs.at:85" +( $at_check_trace; $GFS_MKFS -p lock_nolock -J 1024 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:85" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:85: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:85" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:85" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_14 +#AT_START_15 +at_fn_group_banner 15 'mkfs.at:88' \ + "Min. journal size" " " 1 +at_xfail=no +( + $as_echo "15. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:90: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:90" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:90" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:90" +{ set +x +$as_echo "$at_srcdir/mkfs.at:90: \$GFS_MKFS -p lock_nolock -J 8 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -J 8 $GFS_TGT" "mkfs.at:90" +( $at_check_trace; $GFS_MKFS -p lock_nolock -J 8 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:90: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:90" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:90" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:91: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:91" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:91" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:91" +{ set +x +$as_echo "$at_srcdir/mkfs.at:91: \$GFS_MKFS -p lock_nolock -b 1024 \$GFS_TGT 511996" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -b 1024 $GFS_TGT 511996" "mkfs.at:91" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b 1024 $GFS_TGT 511996 +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:91: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:91" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:91" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:92: gfs2_edit -p journal0 field di_size \$GFS_TGT | tr -d '\\n'" +at_fn_check_prepare_notrace 'a shell pipeline' "mkfs.at:92" +( $at_check_trace; gfs2_edit -p journal0 field di_size $GFS_TGT | tr -d '\n' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; $as_echo "8388608" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:92" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_15 +#AT_START_16 +at_fn_group_banner 16 'mkfs.at:95' \ + "Max. quota change file size" " " 1 +at_xfail=no +( + $as_echo "16. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:97: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:97" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:97" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:97" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:97" +{ set +x +$as_echo "$at_srcdir/mkfs.at:97: \$GFS_MKFS -p lock_nolock -c 64 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -c 64 $GFS_TGT" "mkfs.at:97" +( $at_check_trace; $GFS_MKFS -p lock_nolock -c 64 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:97" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:97: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:97" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:97" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_16 +#AT_START_17 +at_fn_group_banner 17 'mkfs.at:100' \ + "Min. quota change file size" " " 1 +at_xfail=no +( + $as_echo "17. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:102: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:102" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:102" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:102" +{ set +x +$as_echo "$at_srcdir/mkfs.at:102: \$GFS_MKFS -p lock_nolock -c 1 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -c 1 $GFS_TGT" "mkfs.at:102" +( $at_check_trace; $GFS_MKFS -p lock_nolock -c 1 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:102: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:102" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:102" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_17 +#AT_START_18 +at_fn_group_banner 18 'mkfs.at:105' \ + "Lock table validation" " " 1 +at_xfail=no +( + $as_echo "18. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:107: \$GFS_MKFS -p lock_nolock -t \"\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -t \"\" $GFS_TGT" "mkfs.at:107" +( $at_check_trace; $GFS_MKFS -p lock_nolock -t "" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:107" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:108: \$GFS_MKFS -p lock_nolock -t \"123456789012345678901234567890123:12345678\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -t \"123456789012345678901234567890123:12345678\" $GFS_TGT" "mkfs.at:108" +( $at_check_trace; $GFS_MKFS -p lock_nolock -t "123456789012345678901234567890123:12345678" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:108" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:109: \$GFS_MKFS -p lock_nolock -t \"12345678901234567:1234567890123456789012345678901\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -t \"12345678901234567:1234567890123456789012345678901\" $GFS_TGT" "mkfs.at:109" +( $at_check_trace; $GFS_MKFS -p lock_nolock -t "12345678901234567:1234567890123456789012345678901" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:109" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:110: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:110" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:110" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:110" +{ set +x +$as_echo "$at_srcdir/mkfs.at:110: \$GFS_MKFS -p lock_nolock -t \"12345678901234567890123456789012:123456789012345678901234567890\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -t \"12345678901234567890123456789012:123456789012345678901234567890\" $GFS_TGT" "mkfs.at:110" +( $at_check_trace; $GFS_MKFS -p lock_nolock -t "12345678901234567890123456789012:123456789012345678901234567890" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:110: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:110" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:110" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:111: \$GFS_MKFS -p lock_dlm -t \"\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_dlm -t \"\" $GFS_TGT" "mkfs.at:111" +( $at_check_trace; $GFS_MKFS -p lock_dlm -t "" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:111" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:112: \$GFS_MKFS -p lock_dlm -t \"quite_long_cluster_name_test_here:intec34p\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_dlm -t \"quite_long_cluster_name_test_here:intec34p\" $GFS_TGT" "mkfs.at:112" +( $at_check_trace; $GFS_MKFS -p lock_dlm -t "quite_long_cluster_name_test_here:intec34p" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:112" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:113: \$GFS_MKFS -p lock_dlm -t \"financial_cluster:this_time_we_test_fs_naming_len\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_dlm -t \"financial_cluster:this_time_we_test_fs_naming_len\" $GFS_TGT" "mkfs.at:113" +( $at_check_trace; $GFS_MKFS -p lock_dlm -t "financial_cluster:this_time_we_test_fs_naming_len" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 255 $at_status "$at_srcdir/mkfs.at:113" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:114: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:114" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:114" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:114" +{ set +x +$as_echo "$at_srcdir/mkfs.at:114: \$GFS_MKFS -p lock_dlm -t \"a_really_long_named_cluster_here:concurrently_lets_check_fs_len\" \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_dlm -t \"a_really_long_named_cluster_here:concurrently_lets_check_fs_len\" $GFS_TGT" "mkfs.at:114" +( $at_check_trace; $GFS_MKFS -p lock_dlm -t "a_really_long_named_cluster_here:concurrently_lets_check_fs_len" $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:114: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:114" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:114" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_18 +#AT_START_19 +at_fn_group_banner 19 'mkfs.at:124' \ + "Device i/o limits handling" " " 1 +at_xfail=no +( + $as_echo "19. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:126: \$GFS_MKFS -p lock_nolock -o test_topology=0:0:0:0:0 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=0:0:0:0:0 $GFS_TGT" "mkfs.at:126" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=0:0:0:0:0 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:126" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:127: \$GFS_MKFS -p lock_nolock -o test_topology=0:512:512:512:512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=0:512:512:512:512 $GFS_TGT" "mkfs.at:127" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=0:512:512:512:512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:127" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:128: gfs2_edit -p sb field sb_bsize \$GFS_TGT | tr -d '\\n' " +at_fn_check_prepare_notrace 'a shell pipeline' "mkfs.at:128" +( $at_check_trace; gfs2_edit -p sb field sb_bsize $GFS_TGT | tr -d '\n' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; $as_echo "4096" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:128" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:129: \$GFS_MKFS -p lock_nolock -o test_topology=7168:512:0:33553920:512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=7168:512:0:33553920:512 $GFS_TGT" "mkfs.at:129" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=7168:512:0:33553920:512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:129" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:130: \$GFS_MKFS -p lock_nolock -o test_topology=7168:512:8192:33553920:512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=7168:512:8192:33553920:512 $GFS_TGT" "mkfs.at:130" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=7168:512:8192:33553920:512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo >>"$at_stderr"; $as_echo "Warning: device is not properly aligned. This may harm performance. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:130" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:132: \$GFS_MKFS -p lock_nolock -o test_topology=0:512:4194304:8388608:512 -b 1024 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=0:512:4194304:8388608:512 -b 1024 $GFS_TGT" "mkfs.at:132" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=0:512:4194304:8388608:512 -b 1024 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:132" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_19 +#AT_START_20 +at_fn_group_banner 20 'mkfs.at:135' \ + "Resource group alignment" " " 1 +at_xfail=no +( + $as_echo "20. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:137: \$GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 $GFS_TGT" "mkfs.at:137" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:137" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Check rgrp alignment to minimum_io_size: 65536 / 4096 == 16 +{ set +x +$as_echo "$at_srcdir/mkfs.at:139: gfs2_edit -p rindex \$GFS_TGT | grep ri_addr | awk '{print \$2, \$2 % 16; if (\$2 % 16 != 0) { exit 1 }}'" +at_fn_check_prepare_notrace 'a shell pipeline' "mkfs.at:139" +( $at_check_trace; gfs2_edit -p rindex $GFS_TGT | grep ri_addr | awk '{print $2, $2 % 16; if ($2 % 16 != 0) { exit 1 }}' +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:139" +$at_failed && at_fn_log_failure +$at_traceon; } + +# rhbz#1698858 +{ set +x +$as_echo "$at_srcdir/mkfs.at:141: \$GFS_MKFS -p lock_nolock -o test_topology=0:512:131072:6291456:512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=0:512:131072:6291456:512 $GFS_TGT" "mkfs.at:141" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=0:512:131072:6291456:512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:141" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_20 +#AT_START_21 +at_fn_group_banner 21 'mkfs.at:144' \ + "Values of rg_skip" " " 1 +at_xfail=no +( + $as_echo "21. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:146: \$GFS_MKFS -p lock_nolock -r 2048 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 2048 $GFS_TGT" "mkfs.at:146" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 2048 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:146" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:147: rgskipcheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:147" +( $at_check_trace; rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:147" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:148: \$GFS_MKFS -p lock_nolock -r 1024 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 1024 $GFS_TGT" "mkfs.at:148" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 1024 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:148" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:149: rgskipcheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:149" +( $at_check_trace; rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:149" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:150: \$GFS_MKFS -p lock_nolock -r 512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 512 $GFS_TGT" "mkfs.at:150" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:150" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:151: rgskipcheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:151" +( $at_check_trace; rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:151" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:152: \$GFS_MKFS -p lock_nolock -r 219 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 219 $GFS_TGT" "mkfs.at:152" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 219 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:152" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:153: rgskipcheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:153" +( $at_check_trace; rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:153" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:154: \$GFS_MKFS -p lock_nolock -r 32 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 32 $GFS_TGT" "mkfs.at:154" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 32 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:154" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:155: rgskipcheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:155" +( $at_check_trace; rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:155" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:156: \$GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 $GFS_TGT" "mkfs.at:156" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:156" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:157: rgskipcheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:157" +( $at_check_trace; rgskipcheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:157" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_21 +#AT_START_22 +at_fn_group_banner 22 'mkfs.at:160' \ + "Values of rg_data0, rg_data, rg_bitbytes" " " 1 +at_xfail=no +( + $as_echo "22. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:162: \$GFS_MKFS -p lock_nolock -r 2048 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 2048 $GFS_TGT" "mkfs.at:162" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 2048 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:162" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:163: rgrifieldscheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:163" +( $at_check_trace; rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:163" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:164: \$GFS_MKFS -p lock_nolock -r 1024 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 1024 $GFS_TGT" "mkfs.at:164" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 1024 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:164" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:165: rgrifieldscheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:165" +( $at_check_trace; rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:165" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:166: \$GFS_MKFS -p lock_nolock -r 512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 512 $GFS_TGT" "mkfs.at:166" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:166" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:167: rgrifieldscheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:167" +( $at_check_trace; rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:167" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:168: \$GFS_MKFS -p lock_nolock -r 219 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 219 $GFS_TGT" "mkfs.at:168" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 219 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:168" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:169: rgrifieldscheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:169" +( $at_check_trace; rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:169" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:170: \$GFS_MKFS -p lock_nolock -r 32 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -r 32 $GFS_TGT" "mkfs.at:170" +( $at_check_trace; $GFS_MKFS -p lock_nolock -r 32 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:170" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:171: rgrifieldscheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:171" +( $at_check_trace; rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:171" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:172: \$GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 $GFS_TGT" "mkfs.at:172" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o test_topology=0:512:65536:393216:512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:172" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:173: rgrifieldscheck.sh \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "mkfs.at:173" +( $at_check_trace; rgrifieldscheck.sh $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:173" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_22 +#AT_START_23 +at_fn_group_banner 23 'mkfs.at:176' \ + "Small filesystems" " " 1 +at_xfail=no +( + $as_echo "23. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/mkfs.at:178: rm -f \$GFS_TGT && truncate -s 32M \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:178" +( $at_check_trace; rm -f $GFS_TGT && truncate -s 32M ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:178" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:178" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:178" +{ set +x +$as_echo "$at_srcdir/mkfs.at:179: \$GFS_MKFS -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock $GFS_TGT" "mkfs.at:179" +( $at_check_trace; $GFS_MKFS -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:179" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:180: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:180" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:180" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:181: rm -f \$GFS_TGT && truncate -s 64M \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "mkfs.at:181" +( $at_check_trace; rm -f $GFS_TGT && truncate -s 64M ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/mkfs.at:181" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "mkfs.at:181" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/mkfs.at:181" +{ set +x +$as_echo "$at_srcdir/mkfs.at:182: \$GFS_MKFS -p lock_nolock -j2 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -j2 $GFS_TGT" "mkfs.at:182" +( $at_check_trace; $GFS_MKFS -p lock_nolock -j2 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:182" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/mkfs.at:183: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "mkfs.at:183" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/mkfs.at:183" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_23 +#AT_START_24 +at_fn_group_banner 24 'fsck.at:4' \ + "Conflicting options" " " 2 +at_xfail=no +( + $as_echo "24. $at_setup_line: testing $at_desc ..." + $at_traceon + + +# Error code 16 is FSCK_USAGE +{ set +x +$as_echo "$at_srcdir/fsck.at:7: fsck.gfs2 -y -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y -n $GFS_TGT" "fsck.at:7" +( $at_check_trace; fsck.gfs2 -y -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 16 $at_status "$at_srcdir/fsck.at:7" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:8: fsck.gfs2 -n -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n -y $GFS_TGT" "fsck.at:8" +( $at_check_trace; fsck.gfs2 -n -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 16 $at_status "$at_srcdir/fsck.at:8" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:9: fsck.gfs2 -n -p \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n -p $GFS_TGT" "fsck.at:9" +( $at_check_trace; fsck.gfs2 -n -p $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 16 $at_status "$at_srcdir/fsck.at:9" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:10: fsck.gfs2 -p -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -p -n $GFS_TGT" "fsck.at:10" +( $at_check_trace; fsck.gfs2 -p -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 16 $at_status "$at_srcdir/fsck.at:10" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:11: fsck.gfs2 -y -p \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y -p $GFS_TGT" "fsck.at:11" +( $at_check_trace; fsck.gfs2 -y -p $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 16 $at_status "$at_srcdir/fsck.at:11" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:12: fsck.gfs2 -p -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -p -y $GFS_TGT" "fsck.at:12" +( $at_check_trace; fsck.gfs2 -p -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 16 $at_status "$at_srcdir/fsck.at:12" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_24 +#AT_START_25 +at_fn_group_banner 25 'fsck.at:15' \ + "Fix invalid block sizes" " " 2 +at_xfail=no +( + $as_echo "25. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/fsck.at:17: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:17" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:17" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:17" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:17" +{ set +x +$as_echo "$at_srcdir/fsck.at:17: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:17" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:17" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:17: echo \"set sb { sb_bsize: 0 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:17" +( $at_check_trace; echo "set sb { sb_bsize: 0 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:17" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:17: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:17" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:17" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:17: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:17" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:17" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:18: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:18" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:18" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:18" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:18" +{ set +x +$as_echo "$at_srcdir/fsck.at:18: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:18" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:18" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:18: echo \"set sb { sb_bsize: 1 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:18" +( $at_check_trace; echo "set sb { sb_bsize: 1 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:18" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:18: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:18" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:18" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:18: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:18" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:18" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:19: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:19" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:19" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:19" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:19" +{ set +x +$as_echo "$at_srcdir/fsck.at:19: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:19" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:19" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:19: echo \"set sb { sb_bsize: 513 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:19" +( $at_check_trace; echo "set sb { sb_bsize: 513 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:19" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:19: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:19" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:19" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:19: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:19" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:19" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:20: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:20" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:20" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:20" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:20" +{ set +x +$as_echo "$at_srcdir/fsck.at:20: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:20" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:20" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:20: echo \"set sb { sb_bsize: 4095 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:20" +( $at_check_trace; echo "set sb { sb_bsize: 4095 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:20" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:20: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:20" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:20" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:20: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:20" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:20" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:21: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:21" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:21" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:21" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:21" +{ set +x +$as_echo "$at_srcdir/fsck.at:21: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:21" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:21" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:21: echo \"set sb { sb_bsize: 4097 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:21" +( $at_check_trace; echo "set sb { sb_bsize: 4097 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:21" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:21: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:21" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:21" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:21: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:21" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:21" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_25 +#AT_START_26 +at_fn_group_banner 26 'fsck.at:24' \ + "Fix invalid goal blocks" " " 2 +at_xfail=no +( + $as_echo "26. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/fsck.at:26: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:26" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:26" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:26" +{ set +x +$as_echo "$at_srcdir/fsck.at:26: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:26" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:26: echo \"set '/' { di_goal_meta: 0 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:26" +( $at_check_trace; echo "set '/' { di_goal_meta: 0 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:26: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:26" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:26: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:26" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:26" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_26 +#AT_START_27 +at_fn_group_banner 27 'fsck.at:29' \ + "Fix bad resource group #0" " " 2 +at_xfail=no +( + $as_echo "27. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/fsck.at:31: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:31" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:31" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:31" +{ set +x +$as_echo "$at_srcdir/fsck.at:31: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:31" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:31: nukerg -r 0 \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "nukerg -r 0 $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "fsck.at:31" +( $at_check_trace; nukerg -r 0 $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:31: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:31" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:31: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:31" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_27 +#AT_START_28 +at_fn_group_banner 28 'fsck.at:34' \ + "Fix bad resource group #1" " " 2 +at_xfail=no +( + $as_echo "28. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/fsck.at:36: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:36" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:36" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:36" +{ set +x +$as_echo "$at_srcdir/fsck.at:36: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:36" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:36: nukerg -r 1 \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "nukerg -r 1 $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "fsck.at:36" +( $at_check_trace; nukerg -r 1 $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:36: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:36" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:36: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:36" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:36" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_28 +#AT_START_29 +at_fn_group_banner 29 'fsck.at:44' \ + "Fix bad rindex entry #1" " " 2 +at_xfail=no +( + $as_echo "29. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/fsck.at:46: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:46" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:46" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:46" +{ set +x +$as_echo "$at_srcdir/fsck.at:46: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:46" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:46: nukerg -i 1 \$GFS_TGT; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_dynamic "nukerg -i 1 $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi" "fsck.at:46" +( $at_check_trace; nukerg -i 1 $GFS_TGT; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:46: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:46" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:46: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:46" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:46" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_29 +#AT_START_30 +at_fn_group_banner 30 'fsck.at:49' \ + "Rebuild bad journal" " " 2 +at_xfail=no +( + $as_echo "30. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/fsck.at:51: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:51" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:51" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:51" +{ set +x +$as_echo "$at_srcdir/fsck.at:52: mkfs.gfs2 -O -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "mkfs.gfs2 -O -p lock_nolock $GFS_TGT" "fsck.at:52" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:53: gfs2_edit -p journal0 field di_header.mh_magic 0 \$GFS_TGT" +at_fn_check_prepare_dynamic "gfs2_edit -p journal0 field di_header.mh_magic 0 $GFS_TGT" "fsck.at:53" +( $at_check_trace; gfs2_edit -p journal0 field di_header.mh_magic 0 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:53" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:54: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:54" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:55: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:55" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:55" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_30 +#AT_START_31 +at_fn_group_banner 31 'fsck.at:58' \ + "gfs2 format versions" " " 2 +at_xfail=no +( + $as_echo "31. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/fsck.at:60: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:60" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/fsck.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "fsck.at:60" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/fsck.at:60" +{ set +x +$as_echo "$at_srcdir/fsck.at:61: mkfs.gfs2 -O -p lock_nolock \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:61" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:62: echo \"set sb { sb_fs_format: 1803 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:62" +( $at_check_trace; echo "set sb { sb_fs_format: 1803 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Unsupported format, FSCK_USAGE == 16 +{ set +x +$as_echo "$at_srcdir/fsck.at:64: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:64" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 16 $at_status "$at_srcdir/fsck.at:64" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Format out of range +{ set +x +$as_echo "$at_srcdir/fsck.at:66: echo \"set sb { sb_fs_format: 4242 }\" | gfs2l \${GFS_TGT}; x=\$?; if test \$x -eq 127; then exit 77; else exit \$x; fi" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:66" +( $at_check_trace; echo "set sb { sb_fs_format: 4242 }" | gfs2l ${GFS_TGT}; x=$?; if test $x -eq 127; then exit 77; else exit $x; fi +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:66" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:67: fsck.gfs2 -y \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -y $GFS_TGT" "fsck.at:67" +( $at_check_trace; fsck.gfs2 -y $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 1 $at_status "$at_srcdir/fsck.at:67" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:68: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:68" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:68" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:69: mkfs.gfs2 -O -p lock_nolock -o format=1802 \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "fsck.at:69" +( $at_check_trace; mkfs.gfs2 -O -p lock_nolock -o format=1802 ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:69" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/fsck.at:70: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "fsck.at:70" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/fsck.at:70" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_31 +#AT_START_32 +at_fn_group_banner 32 'edit.at:4' \ + "Save/restoremeta, defaults" " " 3 +at_xfail=no +( + $as_echo "32. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/edit.at:6: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:6" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:6" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:6" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:6" +{ set +x +$as_echo "$at_srcdir/edit.at:7: \$GFS_MKFS -p lock_nolock \$GFS_TGT \$((\$(gfs_max_blocks 4096)/2))" +at_fn_check_prepare_notrace 'a $(...) command substitution' "edit.at:7" +( $at_check_trace; $GFS_MKFS -p lock_nolock $GFS_TGT $(($(gfs_max_blocks 4096)/2)) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:7" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:8: gfs2_edit savemeta \$GFS_TGT test.meta > savemeta.log" +at_fn_check_prepare_dynamic "gfs2_edit savemeta $GFS_TGT test.meta > savemeta.log" "edit.at:8" +( $at_check_trace; gfs2_edit savemeta $GFS_TGT test.meta > savemeta.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:8" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:9: head -2 savemeta.log" +at_fn_check_prepare_trace "edit.at:9" +( $at_check_trace; head -2 savemeta.log +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo >>"$at_stdout"; $as_echo "There are 1310716 blocks of 4096 bytes in the filesystem. +Filesystem size: 5.00GB +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:9" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:12: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:12" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:12" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:12" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:12" +{ set +x +$as_echo "$at_srcdir/edit.at:13: gfs2_edit restoremeta test.meta \$GFS_TGT" +at_fn_check_prepare_dynamic "gfs2_edit restoremeta test.meta $GFS_TGT" "edit.at:13" +( $at_check_trace; gfs2_edit restoremeta test.meta $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:13" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:14: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "edit.at:14" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:14" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_32 +#AT_START_33 +at_fn_group_banner 33 'edit.at:17' \ + "Save/restoremeta, no compression" " " 3 +at_xfail=no +( + $as_echo "33. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/edit.at:19: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:19" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:19" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:19" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:19" +{ set +x +$as_echo "$at_srcdir/edit.at:20: \$GFS_MKFS -p lock_nolock \$GFS_TGT \$((\$(gfs_max_blocks 4096)/2))" +at_fn_check_prepare_notrace 'a $(...) command substitution' "edit.at:20" +( $at_check_trace; $GFS_MKFS -p lock_nolock $GFS_TGT $(($(gfs_max_blocks 4096)/2)) +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:20" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:21: gfs2_edit savemeta -z0 \$GFS_TGT test.meta" +at_fn_check_prepare_dynamic "gfs2_edit savemeta -z0 $GFS_TGT test.meta" "edit.at:21" +( $at_check_trace; gfs2_edit savemeta -z0 $GFS_TGT test.meta +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:21" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:22: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:22" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:22" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:22" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:22" +{ set +x +$as_echo "$at_srcdir/edit.at:23: gfs2_edit restoremeta test.meta \$GFS_TGT" +at_fn_check_prepare_dynamic "gfs2_edit restoremeta test.meta $GFS_TGT" "edit.at:23" +( $at_check_trace; gfs2_edit restoremeta test.meta $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:23" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:24: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "edit.at:24" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:24" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_33 +#AT_START_34 +at_fn_group_banner 34 'edit.at:27' \ + "Save/restoremeta, min. block size" " " 3 +at_xfail=no +( + $as_echo "34. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/edit.at:29: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:29" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:29" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:29" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:29" +{ set +x +$as_echo "$at_srcdir/edit.at:30: \$GFS_MKFS -p lock_nolock -b512 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -b512 $GFS_TGT" "edit.at:30" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b512 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:30" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:31: gfs2_edit savemeta -z0 \$GFS_TGT test.meta" +at_fn_check_prepare_dynamic "gfs2_edit savemeta -z0 $GFS_TGT test.meta" "edit.at:31" +( $at_check_trace; gfs2_edit savemeta -z0 $GFS_TGT test.meta +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:31" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:32: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:32" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:32" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:32" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:32" +{ set +x +$as_echo "$at_srcdir/edit.at:33: gfs2_edit restoremeta test.meta \$GFS_TGT" +at_fn_check_prepare_dynamic "gfs2_edit restoremeta test.meta $GFS_TGT" "edit.at:33" +( $at_check_trace; gfs2_edit restoremeta test.meta $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:33" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:34: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "edit.at:34" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:34" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_34 +#AT_START_35 +at_fn_group_banner 35 'edit.at:37' \ + "Save/restoremeta, 4 journals" " " 3 +at_xfail=no +( + $as_echo "35. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/edit.at:39: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:39" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:39" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:39" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:39" +{ set +x +$as_echo "$at_srcdir/edit.at:40: \$GFS_MKFS -p lock_nolock -j4 -J8 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -j4 -J8 $GFS_TGT" "edit.at:40" +( $at_check_trace; $GFS_MKFS -p lock_nolock -j4 -J8 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:40" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:41: gfs2_edit savemeta -z0 \$GFS_TGT test.meta" +at_fn_check_prepare_dynamic "gfs2_edit savemeta -z0 $GFS_TGT test.meta" "edit.at:41" +( $at_check_trace; gfs2_edit savemeta -z0 $GFS_TGT test.meta +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:41" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:42: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:42" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:42" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:42" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:42" +{ set +x +$as_echo "$at_srcdir/edit.at:43: gfs2_edit restoremeta test.meta \$GFS_TGT" +at_fn_check_prepare_dynamic "gfs2_edit restoremeta test.meta $GFS_TGT" "edit.at:43" +( $at_check_trace; gfs2_edit restoremeta test.meta $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:43" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:44: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "edit.at:44" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:44" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_35 +#AT_START_36 +at_fn_group_banner 36 'edit.at:47' \ + "Save/restoremeta, min. block size, 4 journals" " " 3 +at_xfail=no +( + $as_echo "36. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/edit.at:49: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:49" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:49" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:49" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:49" +{ set +x +$as_echo "$at_srcdir/edit.at:50: \$GFS_MKFS -p lock_nolock -b512 -j4 -J8 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -b512 -j4 -J8 $GFS_TGT" "edit.at:50" +( $at_check_trace; $GFS_MKFS -p lock_nolock -b512 -j4 -J8 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:50" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:51: gfs2_edit savemeta -z0 \$GFS_TGT test.meta" +at_fn_check_prepare_dynamic "gfs2_edit savemeta -z0 $GFS_TGT test.meta" "edit.at:51" +( $at_check_trace; gfs2_edit savemeta -z0 $GFS_TGT test.meta +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:51" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:52: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:52" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:52" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:52" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:52" +{ set +x +$as_echo "$at_srcdir/edit.at:53: gfs2_edit restoremeta test.meta \$GFS_TGT" +at_fn_check_prepare_dynamic "gfs2_edit restoremeta test.meta $GFS_TGT" "edit.at:53" +( $at_check_trace; gfs2_edit restoremeta test.meta $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:53" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:54: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "edit.at:54" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:54" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_36 +#AT_START_37 +at_fn_group_banner 37 'edit.at:57' \ + "Save metadata to /dev/null" " " 3 +at_xfail=no +( + $as_echo "37. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/edit.at:59: rm -f \$GFS_TGT && truncate -s \${GFS_TGT_SZ}G \${GFS_TGT}" +at_fn_check_prepare_notrace 'a ${...} parameter expansion' "edit.at:59" +( $at_check_trace; rm -f $GFS_TGT && truncate -s ${GFS_TGT_SZ}G ${GFS_TGT} +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_skip $at_status "$at_srcdir/edit.at:59" +$at_failed && at_fn_log_failure +$at_traceon; } + +$as_echo "edit.at:59" >"$at_check_line_file" +(test ! -f ${GFS_TGT}) \ + && at_fn_check_skip 77 "$at_srcdir/edit.at:59" +{ set +x +$as_echo "$at_srcdir/edit.at:60: \$GFS_MKFS -p lock_nolock \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock $GFS_TGT" "edit.at:60" +( $at_check_trace; $GFS_MKFS -p lock_nolock $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:60" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:61: gfs2_edit savemeta -z0 \$GFS_TGT /dev/null" +at_fn_check_prepare_dynamic "gfs2_edit savemeta -z0 $GFS_TGT /dev/null" "edit.at:61" +( $at_check_trace; gfs2_edit savemeta -z0 $GFS_TGT /dev/null +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:61" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/edit.at:62: gfs2_edit savemeta \$GFS_TGT /dev/null" +at_fn_check_prepare_dynamic "gfs2_edit savemeta $GFS_TGT /dev/null" "edit.at:62" +( $at_check_trace; gfs2_edit savemeta $GFS_TGT /dev/null +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/edit.at:62" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_37 +#AT_START_38 +at_fn_group_banner 38 'tune.at:4' \ + "Format version" " " 4 +at_xfail=no +( + $as_echo "38. $at_setup_line: testing $at_desc ..." + $at_traceon + + +{ set +x +$as_echo "$at_srcdir/tune.at:6: \$GFS_MKFS -p lock_nolock -o format=1802 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=1802 $GFS_TGT" "tune.at:6" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=1802 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tune.at:6" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Exit code 65 == EX_DATAERR (sysexits.h) +{ set +x +$as_echo "$at_srcdir/tune.at:8: tunegfs2 -r 0 \$GFS_TGT" +at_fn_check_prepare_dynamic "tunegfs2 -r 0 $GFS_TGT" "tune.at:8" +( $at_check_trace; tunegfs2 -r 0 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 65 $at_status "$at_srcdir/tune.at:8" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Regress not supported +{ set +x +$as_echo "$at_srcdir/tune.at:10: tunegfs2 -r 1801 \$GFS_TGT" +at_fn_check_prepare_dynamic "tunegfs2 -r 1801 $GFS_TGT" "tune.at:10" +( $at_check_trace; tunegfs2 -r 1801 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 65 $at_status "$at_srcdir/tune.at:10" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Format 1803 does not exist +{ set +x +$as_echo "$at_srcdir/tune.at:12: tunegfs2 -r 1803 \$GFS_TGT" +at_fn_check_prepare_dynamic "tunegfs2 -r 1803 $GFS_TGT" "tune.at:12" +( $at_check_trace; tunegfs2 -r 1803 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 65 $at_status "$at_srcdir/tune.at:12" +$at_failed && at_fn_log_failure +$at_traceon; } + +# Normal version bump +{ set +x +$as_echo "$at_srcdir/tune.at:14: \$GFS_MKFS -p lock_nolock -o format=1801 \$GFS_TGT" +at_fn_check_prepare_dynamic "$GFS_MKFS -p lock_nolock -o format=1801 $GFS_TGT" "tune.at:14" +( $at_check_trace; $GFS_MKFS -p lock_nolock -o format=1801 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tune.at:14" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/tune.at:15: tunegfs2 -r 1802 \$GFS_TGT" +at_fn_check_prepare_dynamic "tunegfs2 -r 1802 $GFS_TGT" "tune.at:15" +( $at_check_trace; tunegfs2 -r 1802 $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tune.at:15" +$at_failed && at_fn_log_failure +$at_traceon; } + +{ set +x +$as_echo "$at_srcdir/tune.at:16: fsck.gfs2 -n \$GFS_TGT" +at_fn_check_prepare_dynamic "fsck.gfs2 -n $GFS_TGT" "tune.at:16" +( $at_check_trace; fsck.gfs2 -n $GFS_TGT +) >>"$at_stdout" 2>>"$at_stderr" 5>&- +at_status=$? at_failed=false +$at_check_filter +echo stderr:; cat "$at_stderr" +echo stdout:; cat "$at_stdout" +at_fn_check_status 0 $at_status "$at_srcdir/tune.at:16" +$at_failed && at_fn_log_failure +$at_traceon; } + + set +x + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 7>&- | eval $at_tee_pipe +read at_status <"$at_status_file" +#AT_STOP_38 diff --git a/tests/testsuite.fmf b/tests/testsuite.fmf new file mode 100644 index 0000000..dd9714f --- /dev/null +++ b/tests/testsuite.fmf @@ -0,0 +1,2 @@ +summary: Upstream testsuite +test: ./testsuite