Skip to contentSkip to conversation

Add new testcases for ext4 new features

PATCH In review Miao Xie 3 participants 3 messages Sep 24, 2009 – Oct 9, 2009

lore
Share & tools
lore

Miao Xie

author
#0 lore raw

PATCH 1/1 Add new testcases for ext4 new features

This is the patch of testcases for the ext4 new features test.
It contains multi-block alloc/delayed alloc test, inode version test, journal checksumming test, nanosec timestamps test, online defrag test, persist prealloc test, subdirectory limit test and uninit groups test of ext4.

In this test suite, there is two FAIL in the subdirectory limit test. It is because we cann't create more than 32000 subdirectory when block size is small, such as 1024, and the name of every subdirectory is very long, such as every name is 255 bytes. I think it is the bug of the ext4.

Note: Your MUST run configure in the directory
testcases/kernel/fs/ext4-new-features
to config the tool of ffsb, and specify a partition to be used for test before compiling the tool. The data on the specified partition would be DESTROYED.

---
  runtest/fs_ext4                                    |    1 +
  testcases/kernel/fs/Makefile                       |    2 +-
  testcases/kernel/fs/ext4-new-features/Makefile     |   24 +
  testcases/kernel/fs/ext4-new-features/README       |  112 +
  testcases/kernel/fs/ext4-new-features/configure    |   23 +
  .../ext4-delalloc-mballoc/Makefile                 |   12 +
  .../ext4-delalloc-mballoc/ext4-alloc-test.sh       |  167 +
  .../fs/ext4-new-features/ext4-ffsb-config/Makefile |   17 +
  .../ext4-ffsb-config/ffsb-config0                  |   23 +
  .../ext4-ffsb-config/ffsb-config1                  |   23 +
  .../ext4-ffsb-config/ffsb-config2                  |   23 +
  .../ext4-ffsb-config/ffsb-config3                  |   29 +
  .../ext4-ffsb-config/ffsb-config4                  |   29 +
  .../ext4-ffsb-config/ffsb-config5                  |   29 +
  .../ext4-ffsb-config/ffsb-config6                  |   29 +
  .../ext4-ffsb-config/ffsb-config7                  |   29 +
  .../ext4-new-features/ext4-inode-version/Makefile  |   19 +
  .../ext4-inode-version/ext4_get_inode_version.sh   |   41 +
  .../ext4-inode-version/ext4_inode_version_test.sh  |  205 +
  .../ext4-inode-version/ext4_test_inode_version.c   |  219 +
  .../ext4-journal-checksum/Makefile                 |   12 +
  .../ext4-journal-checksum/ext4_journal_checksum.sh |  148 +
  .../ext4-nsec-timestamps/Makefile                  |   17 +
  .../ext4-nsec-timestamps/ext4_file_time.c          |   70 +
  .../ext4_nsec_timestamps_test.sh                   |  196 +
  .../ext4-new-features/ext4-online-defrag/Makefile  |   18 +
  .../ext4-online-defrag/e4defrag.c                  | 2171 ++++++
  .../ext4-online-defrag/ext4_online_defrag_test.sh  |  192 +
  .../ext4-persist-prealloc/Makefile                 |   12 +
  .../ext4_persist_prealloc_test.sh                  |  113 +
  .../ext4-new-features/ext4-subdir-limit/Makefile   |   18 +
  .../ext4-subdir-limit/create_long_dirs.c           |  156 +
  .../ext4-subdir-limit/create_short_dirs.c          |  158 +
  .../ext4-subdir-limit/ext4_subdir_limit_test.sh    |  167 +
  .../ext4-new-features/ext4-uninit-groups/Makefile  |   12 +
  .../ext4-uninit-groups/ext4_uninit_groups_test.sh  |  161 +
  .../kernel/fs/ext4-new-features/ext4_funcs.sh      |   47 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS      |    7 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/COPYING      |  340 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/INSTALL      |  182 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/LICENSE      |  347 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am  |   46 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in  |  628 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/README       |  413 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4   |  880 +++
  .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c    |  107 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h    |   41 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/config.guess | 1450 ++++
  .../fs/ext4-new-features/ffsb-6.0-rc2/config.h.in  |  130 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/config.sub   | 1545 +++++
  .../fs/ext4-new-features/ffsb-6.0-rc2/configure    | 7000 ++++++++++++++++++++
  .../fs/ext4-new-features/ffsb-6.0-rc2/configure.in |   49 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/depcomp      |  472 ++
  .../ffsb-6.0-rc2/examples/profile_everything       |  119 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h       |  105 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c    |  112 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c    |  634 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h    |  184 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c    |  178 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h    |  102 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c |  241 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h |  109 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c    |  369 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h    |  206 +
  .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c   |  171 +
  .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h   |  108 +
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c  |  278 +
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h  |   41 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.c   |  503 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.h   |  145 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.c    |  547 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.h    |   51 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/install-sh   |  251 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/list.c       |   55 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/list.h       |   53 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/main.c       |  258 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.c    |  112 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.h    |   28 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/missing      |  336 +
  .../ext4-new-features/ffsb-6.0-rc2/mkinstalldirs   |   40 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/parser.c     | 1034 +++
  .../fs/ext4-new-features/ffsb-6.0-rc2/parser.h     |  151 +
  .../ffsb-6.0-rc2/public-description                |    4 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rand.c       |  188 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rand.h       |   60 +
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c | 1040 +++
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h |  316 +
  .../ffsb-6.0-rc2/registration-description          |    7 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c     |  109 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h     |   51 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in   |    1 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/util.c       |  351 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/util.h       |   94 +
  .../kernel/fs/ext4-new-features/run_ext4_test.sh   |  179 +
  94 files changed, 27281 insertions(+), 1 deletions(-)

create mode 100644 runtest/fs_ext4
create mode 100644 testcases/kernel/fs/ext4-new-features/Makefile
create mode 100644 testcases/kernel/fs/ext4-new-features/README
create mode 100755 testcases/kernel/fs/ext4-new-features/configure
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh
create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/Makefile
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/Makefile
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh
create mode 100755 testcases/kernel/fs/ext4-new-features/ext4_funcs.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ChangeLog create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/INSTALL create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/LICENSE create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/NEWS create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/README create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.guess create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.h.in create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.sub create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure.in create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/depcomp create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/examples/profile_everything
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c
create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/install-sh create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/main.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/missing create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/mkinstalldirs
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.h create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/public-description
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/registration-description
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.h create mode 100755 testcases/kernel/fs/ext4-new-features/run_ext4_test.sh

runtest/fs_ext4 new file +1 -0
new file mode 100644
index 0000000..c65ebab
@@ -0,0 +1 @@
+ext4_new_feature_test	run_ext4_test.sh
testcases/kernel/fs/Makefile +0 -1
index 0881714..f767ac6 100644
@@ -1,4 +1,4 @@
-SUBDIRS = acls doio fs_inod fsstress fs_perms fsx-linux ftest inode lftest 

linktest openfile proc stream fs_di fs_bind racer quota_remount +SUBDIRS = acls doio fs_inod fsstress fs_perms fsx-linux ftest inode lftest linktest openfile proc stream fs_di fs_bind racer quota_remount ext4-new-features

all:
@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i ; done

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/Makefile
new file mode 100644
index 0000000..19a053a

testcases/kernel/fs/ext4-new-features/Makefile new file +24 -0
@@ -0,0 +1,24 @@
+SUBDIRS = ext4-delalloc-mballoc ext4-journal-checksum ext4-subdir-limit
+SUBDIRS += ext4-nsec-timestamps ext4-persist-prealloc ext4-inode-version
+SUBDIRS += ext4-uninit-groups ext4-online-defrag ext4-ffsb-config
+
+all:
+	@set -e; \
+	for i in $(SUBDIRS); do $(MAKE) -C $$i $@; done;
+	$(MAKE) -C ffsb-6.0-rc2 $@;
+
+install:
+	@set -e; \
+	for i in $(SUBDIRS); do $(MAKE) -C $$i install ; done;
+	ln -f run_ext4_test.sh ../../../bin/run_ext4_test.sh;
+	chmod +x run_ext4_test.sh;
+	ln -f ext4_funcs.sh ../../../bin/ext4_funcs.sh;
+	chmod +x ext4_funcs.sh;
+	ln -f ffsb-6.0-rc2/ffsb ../../../bin/ffsb;
+	chmod +x ffsb-6.0-rc2/ffsb;
+	ln -f ext4-test-config ../../../bin/ext4-test-config;
+
+clean:
+	@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i clean; done
+	rm -rf ext4-test-config
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/README
new file mode 100644
index 0000000..85e9b49

testcases/kernel/fs/ext4-new-features/README new file +112 -0

112 lines not on this page · raw message

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/configure
new file mode 100755
index 0000000..a39f13f

testcases/kernel/fs/ext4-new-features/configure new file +23 -0
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+echo "Run the ffsb's configure"
+cd ./ffsb-6.0-rc2
+./configure
+cd ..
+
+EXT4_DEV=
+RESULT=
+
+echo "Ext4 new features test configure"
+echo "Please specify a partition to create ext4 filesystem:"
+read EXT4_DEV
+
+echo "The partition is: $EXT4_DEV, Are you sure(Y/N)?"
+read RESULT
+if [ "$RESULT" == "Y" ]; then
+	echo "EXT4_DEV=$EXT4_DEV" > ./ext4-test-config
+elif [ "$RESULT" == "N" ]; then
+	echo "Give up specifing a partition!"
+else
+	echo "Your input is wrong($RESULT)."
+fi
(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile new file mode 100644
index 0000000..4396397

testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile new file +12 -0
@@ -0,0 +1,12 @@
+SRCS = $(wildcard *.sh)
+
+all:
+	@true
+
+install:
+	@set -e;
+	for i in $(SRCS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+
+clean:
+	@true
+
(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh b/testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh new file mode 100755
index 0000000..ec2f389

testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh new file +167 -0

167 lines not on this page · raw message

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile new file mode 100644
index 0000000..ed07019

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile new file +17 -0
@@ -0,0 +1,17 @@
+all:
+	@true
+
+install:
+	@set -e;
+	ln -f ffsb-config0 ../../../../bin/ffsb-config0;
+	ln -f ffsb-config1 ../../../../bin/ffsb-config1;
+	ln -f ffsb-config2 ../../../../bin/ffsb-config2;
+	ln -f ffsb-config3 ../../../../bin/ffsb-config3;
+	ln -f ffsb-config4 ../../../../bin/ffsb-config4;
+	ln -f ffsb-config5 ../../../../bin/ffsb-config5;
+	ln -f ffsb-config6 ../../../../bin/ffsb-config6;
+	ln -f ffsb-config7 ../../../../bin/ffsb-config7;
+
+clean:
+	@true
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 new file mode 100644
index 0000000..caf1928

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0 new file +23 -0
@@ -0,0 +1,23 @@
+directio=0
+time=500
+
+[filesystem0]
+location=mnt_point
+num_files=100000
+num_dirs=40
+max_filesize=40960
+min_filesize=4096
+[end0]
+
+
+[threadgroup0]
+num_threads=10
+read_weight=3
+write_weight=1
+append_weight=1
+write_random=1
+write_size=4096
+write_blocksize=4096
+read_size=4096
+read_blocksize=4096
+[end0]
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 new file mode 100644
index 0000000..9fe820d

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1 new file +23 -0
@@ -0,0 +1,23 @@
+directio=1
+time=400
+
+[filesystem0]
+location=mnt_point
+num_files=100000
+num_dirs=40
+max_filesize=4096
+min_filesize=4096
+[end0]
+
+
+[threadgroup0]
+num_threads=10
+read_weight=3
+write_weight=1
+append_weight=1
+write_random=1
+write_size=4096
+write_blocksize=4096
+read_size=4096
+read_blocksize=4096
+[end0]
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 new file mode 100644
index 0000000..993fe14

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2 new file +23 -0
@@ -0,0 +1,23 @@
+directio=0
+time=500
+
+[filesystem0]
+location=mnt_point
+num_files=100000
+num_dirs=40
+max_filesize=20480
+min_filesize=4096
+[end0]
+
+
+[threadgroup0]
+num_threads=10
+read_weight=3
+write_weight=1
+append_weight=1
+write_random=1
+write_size=4096
+write_blocksize=4096
+read_size=4096
+read_blocksize=4096
+[end0]
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 new file mode 100644
index 0000000..d95149d

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3 new file +29 -0
@@ -0,0 +1,29 @@
+directio=0
+time=0
+
+[filesystem0]
+	location=mnt_point/
+	num_files=1
+	num_dirs=1
+	max_filesize=409600
+	min_filesize=40960
+	agefs=1
+	[threadgroup0]
+		num_threads=10
+		write_size=409600
+		write_blocksize=40960
+		create_weight=10
+		append_weight=10
+		delete_weight=1
+	[end0]
+		desired_util=0.20
+[end0]
+
+[threadgroup0]
+	num_threads=32
+	read_weight=1
+
+	read_size=4096
+	read_blocksize=4096
+[end0]
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 new file mode 100644
index 0000000..f1a432e

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4 new file +29 -0
@@ -0,0 +1,29 @@
+directio=0
+time=0
+
+[filesystem0]
+	location=mnt_point/
+	num_files=1
+	num_dirs=1
+	max_filesize=409600
+	min_filesize=40960
+	agefs=1
+	[threadgroup0]
+		num_threads=10
+		write_size=409600
+		write_blocksize=40960
+		create_weight=10
+		append_weight=10
+		delete_weight=1
+	[end0]
+		desired_util=0.40
+[end0]
+
+[threadgroup0]
+	num_threads=32
+	read_weight=1
+
+	read_size=4096
+	read_blocksize=4096
+[end0]
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 new file mode 100644
index 0000000..758eded

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5 new file +29 -0
@@ -0,0 +1,29 @@
+directio=0
+time=0
+
+[filesystem0]
+	location=mnt_point/
+	num_files=1
+	num_dirs=1
+	max_filesize=409600
+	min_filesize=40960
+	agefs=1
+	[threadgroup0]
+		num_threads=10
+		write_size=409600
+		write_blocksize=40960
+		create_weight=10
+		append_weight=10
+		delete_weight=1
+	[end0]
+		desired_util=0.60
+[end0]
+
+[threadgroup0]
+	num_threads=32
+	read_weight=1
+
+	read_size=4096
+	read_blocksize=4096
+[end0]
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 new file mode 100644
index 0000000..6592177

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6 new file +29 -0
@@ -0,0 +1,29 @@
+directio=0
+time=0
+
+[filesystem0]
+	location=mnt_point/
+	num_files=1
+	num_dirs=1
+	max_filesize=409600
+	min_filesize=40960
+	agefs=1
+	[threadgroup0]
+		num_threads=10
+		write_size=409600
+		write_blocksize=40960
+		create_weight=10
+		append_weight=10
+		delete_weight=1
+	[end0]
+		desired_util=0.80
+[end0]
+
+[threadgroup0]
+	num_threads=32
+	read_weight=1
+
+	read_size=4096
+	read_blocksize=4096
+[end0]
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 new file mode 100644
index 0000000..0f6df51

testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7 new file +29 -0
@@ -0,0 +1,29 @@
+directio=0
+time=0
+
+[filesystem0]
+	location=mnt_point/
+	num_files=1
+	num_dirs=1
+	max_filesize=409600
+	min_filesize=40960
+	agefs=1
+	[threadgroup0]
+		num_threads=10
+		write_size=409600
+		write_blocksize=40960
+		create_weight=10
+		append_weight=10
+		delete_weight=1
+	[end0]
+		desired_util=1.00
+[end0]
+
+[threadgroup0]
+	num_threads=32
+	read_weight=1
+
+	read_size=4096
+	read_blocksize=4096
+[end0]
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile new file mode 100644
index 0000000..0e3ff1d

testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile new file +19 -0
@@ -0,0 +1,19 @@
+CFLAGS += -Wall -g -Wextra
+LDLIBS += -lm
+
+SRCS=$(wildcard *.c)
+OBJECTS=$(patsubst %.c,%.o,$(SRCS))
+TARGETS=$(patsubst %.c,%,$(SRCS))
+
+SHELL_SRCS=$(wildcard *.sh)
+
+all: $(TARGETS)
+
+install:
+	@set -e;
+	for i in $(SHELL_SRCS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+	for i in $(TARGETS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+
+clean:
+	rm -rf $(TARGETS) $(OBJECTS)
+
(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh new file mode 100755
index 0000000..8f5c907
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh @@ -0,0 +1,41 @@
+#! /bin/bash
+
+################################################################################

+#                                                                              #
+# Copyright (c) 2009 FUJITSU LIMITED                                           #
+#                                                                              #
+# This program is free software;  you can redistribute it and#or modify        #
+# it under the terms of the GNU General Public License as published by         #
+# the Free Software Foundation; either version 2 of the License, or            #
+# (at your option) any later version.                                          #
+#                                                                              #
+# This program is distributed in the hope that it will be useful, but          #
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY   #
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License     #
+# for more details.                                                            #
+#                                                                              #
+# You should have received a copy of the GNU General Public License            #
+# along with this program;  if not, write to the Free Software                 #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA      #
+#                                                                              #

+################################################################################
+
+#$1: inode version of which file
+#$2: 1 - return inode version by return value
+# !1 - writting inode version to stddev
+
+inode_version=debugfs -R "stat $1" $EXT4_DEV | grep 'Version' | awk '{ +print $NF }'
+
+# The inode_version's format: '0x0000000a' or '0x00000000:0000000a', +# so delete ':'
+inode_version=echo $inode_version | sed 's/://'
+
+inode_version=$(( $inode_version ))
+
+if [ "$2" == "1" ]; then
+ exit $inode_version
+else
+ echo $inode_version
+fi
+

(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh new file mode 100755
index 0000000..f27248b
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh @@ -0,0 +1,205 @@
+#!/bin/bash
+
+################################################################################

+##                                                                            ##
+## Copyright (c) 2009 FUJITSU LIMITED                                         ##
+##                                                                            ##
+## This program is free software;  you can redistribute it and#or modify      ##
+## it under the terms of the GNU General Public License as published by       ##
+## the Free Software Foundation; either version 2 of the License, or          ##
+## (at your option) any later version.                                        ##
+##                                                                            ##
+## This program is distributed in the hope that it will be useful, but        ##
+## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
+## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   ##
+## for more details.                                                          ##
+##                                                                            ##
+## You should have received a copy of the GNU General Public License          ##
+## along with this program;  if not, write to the Free Software               ##
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    ##
+##                                                                            ##
+## Author: Li Zefan <[email protected]>                                     ##
+##         Miao Xie <[email protected]>                                    ##
+##                                                                            ##

+################################################################################
+
+cd $LTPROOT/testcases/bin
+
+. ./ext4_funcs.sh
+
+export TCID="ext4-inode-version"
+export TST_TOTAL=8
+export TST_COUNT=1
+
+export TEST_DIR=$PWD
+
+# $1: the test config
+read_config $1
+
+# Test that inode version is not 32 bits with 128 inode size +ext4_test_128_inode_version()
+{
+ tst_resm TINFO "Test inode version is 32 bits with 128 inode size"
+
+ mkfs.ext4 -I 128 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ tune2fs -E test_fs -O extents $EXT4_DEV
+
+ mount -t ext4 -o i_version $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ # inode version > 0
+ touch mnt_point/tmp_file
+ sync
+ version=./ext4_get_inode_version.sh tmp_file
+
+ if [ $version -lt 1 ]; then
+ tst_resm TFAIL "inode version is smaller than 1"
+ umount mnt_point
+ return 1
+ fi
+
+ # inode version is 32 bits: 0x00000000
+ version=debugfs $EXT4_DEV -R "stat tmp_file" | grep 'Version'
+ version=echo $version | awk '{ print $NF }'
+ version=echo $version | sed 's/^0x//'
+ len=${#version}
+
+ if [ $len -ne 8 ]; then
+ tst_resm TFAIL "inode version is not 32 bits"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ tst_resm TPASS "32 bits inode version with 128 inode size test pass"
+}
+
+# Test file timestamps is nanosecond with 256 inode size +# $1: file operation
+test_inode_version()
+{
+ mkfs.ext3 -I 256 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ tune2fs -E test_fs $EXT4_DEV > /dev/null
+
+ mount -t ext4 -o i_version $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ # Check the inode version after some file operation
+ old_version=./ext4_test_inode_version $1 mnt_point/tmp_file tmp_file
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "inode version is wrong"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ # Test mount to ext3 and then mount back to ext4
+ mount -t ext3 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount to ext3"
+ return 1
+ fi
+ umount mnt_point
+
+ mount -t ext4 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount back to ext4"
+ return 1
+ fi
+
+ version=./ext4_get_inode_version.sh tmp_file
+# echo "remount: old - $old_version"
+# echo "remount: new - $version"
+ if [ $old_version -ne $version ]; then
+ tst_resm TFAIL "inode version has changed unexpected"
+ umount mnt_point
+ return 1
+ else
+ tst_resm TPASS "inode version with 256 inode size test pass"
+ umount mnt_point
+ fi
+}
+
+# main
+ext4_setup
+
+RET=0
+
+ext4_test_128_inode_version
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+test_inode_version create
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+test_inode_version chmod
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+test_inode_version chown
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+test_inode_version read
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+test_inode_version write
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+test_inode_version mmap_read
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+test_inode_version mmap_write
+if [ $? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+ext4_cleanup
+
+exit $RET
+

(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c new file mode 100644
index 0000000..e9f3840
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c @@ -0,0 +1,219 @@ +/******************************************************************************/

+/*                                                                            */
+/* Copyright (c) 2009 FUJITSU LIMITED                                         */
+/*                                                                            */
+/* This program is free software;  you can redistribute it and/or modify      */
+/* it under the terms of the GNU General Public License as published by       */
+/* the Free Software Foundation; either version 2 of the License, or          */
+/* (at your option) any later version.                                        */
+/*                                                                            */
+/* This program is distributed in the hope that it will be useful,            */
+/* but WITHOUT ANY WARRANTY;  without even the implied warranty of            */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See                  */
+/* the GNU General Public License for more details.                           */
+/*                                                                            */
+/* You should have received a copy of the GNU General Public License          */
+/* along with this program;  if not, write to the Free Software               */
+/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    */
+/*                                                                            */
+/* Author: Li Zefan <[email protected]>                                     */
+/*                                                                            */

+/******************************************************************************/ +
+#include <unistd.h>
+#include <wait.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+
+char *filename;
+char *filepath;
+int fd;
+
+int old_inode_version;
+int new_inode_version;
+
+int get_inode_version(void)
+{
+ char buf[1024];
+
+ sprintf(buf, "./ext4_get_inode_version.sh %s 1", filename);
+
+ /* sync before run debugfs to get inode version */
+ sync();
+
+ return WEXITSTATUS(system(buf));
+}
+
+void test_chmod(void)
+{
+ if (fchmod(fd, S_IRUSR | S_IWUSR)) {
+ fprintf(stderr, "fchmod failed\n");
+ exit(1);
+ }
+}
+
+void test_chown(void)
+{
+ if (fchown(fd, 1, 1)) {
+ fprintf(stderr, "fchown failed\n");
+ exit(1);
+ }
+}
+
+void test_read(void)
+{
+ char buf[2];
+
+ /* write something before read */
+ if (write(fd, "abc", 4) == -1) {
+ perror("write");
+ exit(1);
+ }
+ close(fd);
+
+ if (open(filepath, O_RDONLY) == -1) {
+ perror("open");
+ exit(1);
+ }
+
+ old_inode_version = get_inode_version();
+
+ if (read(fd, buf, 1) == -1) {
+ perror("read");
+ exit(1);
+ }
+}
+
+void test_write(void)
+{
+ if (write(fd, "a", 1) == -1) {
+ fprintf(stderr, "write failed\n");
+ exit(1);
+ }
+}
+
+void test_mmap_read(void)
+{
+ char *p;
+ char c;
+
+ /* write something before read */
+ if (write(fd, "abc", 4) == -1) {
+ perror("write");
+ exit(1);
+ }
+ close(fd);
+
+ if (open(filepath, O_RDONLY) == -1) {
+ perror("open");
+ exit(1);
+ }
+
+ old_inode_version = get_inode_version();
+
+ p = mmap(NULL, 1, PROT_READ, MAP_PRIVATE | MAP_FILE, fd, 0);
+ if (p == (void *)-1) {
+ perror("mmap");
+ exit(1);
+ }
+ c = *p;
+
+ new_inode_version = get_inode_version();
+
+ msync(p, 1, MS_SYNC);
+}
+
+void test_mmap_write(void)
+{
+ char *p;
+
+ if (write(fd, "abc", 4) == -1) {
+ perror("write");
+ exit(1);
+ }
+ close(fd);
+
+ if (open(filepath, O_RDWR) == -1) {
+ perror("open");
+ exit(1);
+ }
+
+ old_inode_version = get_inode_version();
+
+ p = mmap(NULL, 1, PROT_WRITE,
+ MAP_PRIVATE | MAP_FILE, fd, 0);
+ if (p == (void *)-1) {
+ perror("mmap");
+ exit(1);
+ }
+ *p = 'x';
+
+ new_inode_version = get_inode_version();
+
+ msync(p, 1, MS_SYNC);
+}
+
+/**
+ * argv[1]: file operation
+ * argv[2]: file to test (with path)
+ * argv[3]: file to test (without path)
+ */
+int main(int argc, char *argv[])
+{
+ if (argc != 4) {
+ fprintf(stderr, "wrong argument number\n");
+ return 1;
+ }
+ filepath = argv[2];
+ filename = argv[3];
+
+ /* create file and get the initial inode version */
+ fd = creat(argv[2], O_RDWR);
+ if (fd == -1) {
+ fprintf(stderr, "failed to create file: %s\n", argv[2]);
+ return 1;
+ }
+
+ old_inode_version = get_inode_version();
+
+ if (strcmp(argv[1], "create") == 0) {
+ printf("%d\n", old_inode_version);
+ return 0;
+ } else if (strcmp(argv[1], "chmod") == 0) {
+ test_chmod();
+ } else if (strcmp(argv[1], "chown") == 0) {
+ test_chown();
+ } else if (strcmp(argv[1], "read") == 0) {
+ test_read();
+ } else if (strcmp(argv[1], "write") == 0) {
+ test_write();
+ } else if (strcmp(argv[1], "mmap_read") == 0) {
+ test_mmap_read();
+ } else if (strcmp(argv[1], "mmap_write") == 0) {
+ test_mmap_write();
+ } else {
+ fprintf(stderr, "wrong file operation: %s\n", argv[1]);
+ return 1;
+ }
+
+ new_inode_version = get_inode_version();
+#if 0
+ fprintf(stderr, "test_inode_version: old - %d\n", old_inode_version);
+ fprintf(stderr, "test_inode_version: new - %d\n", new_inode_version);
+#endif
+ /* wrong inode version, test failed */
+ if (new_inode_version <= old_inode_version)
+ return 1;
+
+ printf("%d\n", new_inode_version);
+
+ close(fd);
+
+ return 0;
+}
+

(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile new file mode 100644
index 0000000..4396397

testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile new file +12 -0
@@ -0,0 +1,12 @@
+SRCS = $(wildcard *.sh)
+
+all:
+	@true
+
+install:
+	@set -e;
+	for i in $(SRCS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+
+clean:
+	@true
+
(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh new file mode 100755
index 0000000..550afa1
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh @@ -0,0 +1,148 @@
+#!/bin/bash
+
+################################################################################

+##                                                                            ##
+## Copyright (c) 2009 FUJITSU LIMITED                                         ##
+##                                                                            ##
+## This program is free software;  you can redistribute it and#or modify      ##
+## it under the terms of the GNU General Public License as published by       ##
+## the Free Software Foundation; either version 2 of the License, or          ##
+## (at your option) any later version.                                        ##
+##                                                                            ##
+## This program is distributed in the hope that it will be useful, but        ##
+## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
+## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   ##
+## for more details.                                                          ##
+##                                                                            ##
+## You should have received a copy of the GNU General Public License          ##
+## along with this program;  if not, write to the Free Software               ##
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    ##
+##                                                                            ##
+## Author: Li Zefan <[email protected]>                                     ##
+##         Miao Xie <[email protected]>                                    ##
+##                                                                            ##

+################################################################################
+
+cd $LTPROOT/testcases/bin
+
+. ./ext4_funcs.sh
+
+export TCID="ext4-journal-checksum" +export TST_TOTAL=36
+export TST_COUNT=1
+
+# $1: the test config
+
+export TEST_DIR=$PWD
+
+read_config $1
+
+# Use ffsb to test journal checksumming
+# $1: journal mode: writeback, ordered, journal +# $2: commit interval: 1 sec, 100 sec
+# $3: journal_checksum or not
+# $4: journal_async_commit or not
+# $5: barrier: 0, 1 +ext4_test_journal_checksum()
+{
+ local checksum=
+ local async_commit=
+
+ if [ "$3" == "" ]; then
+ checksum="No use"
+ else
+ checksum="Used"
+ fi
+ if [ "$4" == "" ]; then
+ async_commit="No use"
+ else
+ async_commit="Used"
+ fi
+
+ tst_resm TINFO "journal mode: $1, commit interval: $2, \
+ journal_checksum: $checksum, \
+ journal_async_commit: $async_commit, barrier: $5"
+
+ mkfs.ext4 -I 256 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ tune2fs -E test_fs -O extents $EXT4_DEV
+
+ mount -t ext4 -o data=$1,commit=$2,$3,$4,barrier=$5 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ ./ffsb ffsb-config2 > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "ffsb returned failure"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ e2fsck -p $EXT4_DEV
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "fsck returned failure"
+ return 1
+ fi
+
+ tst_resm TPASS "ext4 journal checksum test pass"
+}
+
+# main
+ext4_setup
+
+DATA=( "writeback" "ordered" "journal" ) +COMMIT=( 1 100 )
+JOURNAL_CHECKSUM=( "journal_checksum" "" ) +JOURNAL_ASYNC_COMMIT=( "journal_async_commit" "" ) +BARRIER=( 0 1 )
+
+RET=0
+
+for ((i = 0; i < 2; i++))
+{
+ for ((j = 0; j < 2; j++))
+ {
+ for ((k = 0; k < 2; k++))
+ {
+ for ((l = 0; l < 2; l++))
+ {
+ for ((m = 0; m < 3; m++))
+ {
+
+ # when journal_async_commit is used,
+ # journal_checksum is set automatically
+ if [ $j -eq 0 -a $k -eq 1 ]; then
+ continue
+ fi
+
+ ext4_test_journal_checksum ${DATA[$m]} \
+ ${COMMIT[$l]} \
+ "${JOURNAL_CHECKSUM[$k]}" \
+ "${JOURNAL_ASYNC_COMMIT[$j]}" \
+ ${BARRIER[$i]}
+ if [ $? -ne 0 ]; then
+ RET=1
+ fi
+
+ : $((TST_COUNT++))
+ }
+ }
+ }
+ }
+}
+
+ext4_cleanup
+
+exit $RET

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile new file mode 100644
index 0000000..e916de3

testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile new file +17 -0
@@ -0,0 +1,17 @@
+CFLAGS += -Wall -g -Wextra
+LDLIBS += -lm
+
+SRCS=$(wildcard *.c)
+OBJECTS=$(patsubst %.c,%.o,$(SRCS))
+TARGETS=$(patsubst %.c,%,$(SRCS))
+
+all: $(TARGETS)
+
+clean:
+	rm -rf $(TARGETS) $(OBJECTS)
+
+install:
+	@set -e;
+	for i in $(TARGETS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+	ln -f ext4_nsec_timestamps_test.sh ../../../../bin/ext4_nsec_timestamps_test.sh;
+	chmod +x ext4_nsec_timestamps_test.sh
(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c new file mode 100644
index 0000000..faa9383

testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c new file +70 -0

70 lines not on this page · raw message

(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh new file mode 100755
index 0000000..ad7729e
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh @@ -0,0 +1,196 @@
+#!/bin/bash
+
+################################################################################

+##                                                                            ##
+## Copyright (c) 2009 FUJITSU LIMITED                                         ##
+##                                                                            ##
+## This program is free software;  you can redistribute it and#or modify      ##
+## it under the terms of the GNU General Public License as published by       ##
+## the Free Software Foundation; either version 2 of the License, or          ##
+## (at your option) any later version.                                        ##
+##                                                                            ##
+## This program is distributed in the hope that it will be useful, but        ##
+## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
+## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   ##
+## for more details.                                                          ##
+##                                                                            ##
+## You should have received a copy of the GNU General Public License          ##
+## along with this program;  if not, write to the Free Software               ##
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    ##
+##                                                                            ##
+## Author: Li Zefan <[email protected]>                                     ##
+##         Miao Xie <[email protected]>                                    ##
+##                                                                            ##

+################################################################################
+
+cd $LTPROOT/testcases/bin
+
+. ./ext4_funcs.sh
+
+export TCID="ext4-nsec-timestamps"
+export TST_TOTAL=2
+export TST_COUNT=1
+
+# $1: the test config
+read_config $1
+
+TEST_DIR=$PWD
+
+# Test that file timestamps is second with 128 inode size +ext4_test_sec_timestamps()
+{
+ tst_resm TINFO "Test timestamps with 128 inode size"
+
+ mkfs.ext4 -I 128 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ tune2fs -E test_fs -O extents $EXT4_DEV
+
+ mount -t ext4 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ touch mnt_point/tmp_file
+
+ atime=./ext4_file_time mnt_point/tmp_file atime nsec
+ mtime=./ext4_file_time mnt_point/tmp_file mtime nsec
+ ctime=./ext4_file_time mnt_point/tmp_file ctime nsec
+
+ if [ $atime -ne 0 -o $mtime -ne 0 -o $ctime -ne 0 ]; then
+ tst_resm TFAIL "Timestamp is not second(atime: $atime, mtime: \
+ $mtime, ctime: $ctime)"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ tst_resm TPASS "Ext4 nanosecond timestamps test with 128 inode size pass"
+}
+
+# Test file timestamps is nanosecond with 256 inode size +ext4_test_nsec_timestamps()
+{
+ tst_resm TINFO "Test timestamps with 256 inode size"
+
+ mkfs.ext3 -I 256 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ tune2fs -E test_fs $EXT4_DEV
+
+ mount -t ext4 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ # Create file
+ touch mnt_point/tmp_file
+ sleep 1
+
+ # Change atime, ctime and mtime of the file
+ touch mnt_point/tmp_file
+
+ cur_time=date '+%s %N'
+ sec=echo $cur_time | awk {'print $1'}
+ nsec=echo $cur_time | awk {'print $2'}
+
+ sec_atime=./ext4_file_time mnt_point/tmp_file atime sec
+ sec_mtime=./ext4_file_time mnt_point/tmp_file mtime sec
+ sec_ctime=./ext4_file_time mnt_point/tmp_file ctime sec
+ nsec_atime=./ext4_file_time mnt_point/tmp_file atime nsec
+ nsec_mtime=./ext4_file_time mnt_point/tmp_file mtime nsec
+ nsec_ctime=./ext4_file_time mnt_point/tmp_file ctime nsec
+
+ # Test nanosecond
+ if [ $nsec_atime -eq 0 -a $nsec_mtime -eq 0 -a $nsec_ctime -eq 0 ]
+ then
+ tst_resm TFAIL "The timestamp is not nanosecond(nsec_atime: $nsec_atime,
nsec_mtime: $nsec_mtime, nsec_ctime: $nsec_ctime)"
+ umount mnt_point
+ return 1
+ fi
+
+ diff1=$(( $sec_atime - $sec ))
+ diff2=$(( $sec_mtime - $sec ))
+ diff3=$(( $sec_ctime - $sec ))
+
+ # Test difference between file time and current time
+ if [ $diff1 -gt 1 -o $diff2 -gt 1 -o $diff2 -gt 1 ]; then
+ tst_resm TFAIL "The timestamp is wrong, it must be earlier \
+ than the current time we got.(sec_atime: $sec_atime, \
+ sec_mtime: $sec_mtime, sec_ctime: $sec_ctime, \
+ cur_time[s]: $sec)"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ # Test mount to ext3 and then mount back to ext4
+ mount -t ext3 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount to ext3"
+ return 1
+ fi
+ umount mnt_point
+
+ mount -t ext4 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount back to ext4"
+ return 1
+ fi
+
+ nsec_atime2=./ext4_file_time mnt_point/tmp_file atime nsec
+ nsec_mtime2=./ext4_file_time mnt_point/tmp_file mtime nsec
+ nsec_ctime2=./ext4_file_time mnt_point/tmp_file mtime nsec
+
+ if [ $nsec_atime -ne $nsec_atime2 -o $nsec_ctime -ne $nsec_ctime2 -o \
+ $nsec_mtime -ne $nsec_mtime2 ]; then
+ tst_resm TFAIL "File nanosecond timestamp has changed \
+ unexpected. Before[atime mtime ctime]: $nsec_atime \
+ $nsec_mtime $nsec_ctime, After[atime mtime ctime]: \
+ $nsec_atime2 $nsec_mtime2 $nsec_ctime2)"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ tst_resm TPASS "Ext4 nanosecond timestamps test with 256 inode size pass"
+}
+
+# main
+ext4_setup
+
+RET=0
+
+ext4_test_sec_timestamps
+if [$? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+ext4_test_nsec_timestamps
+if [$? -ne 0 ]; then
+ RET=1
+fi
+: $((TST_COUNT++))
+
+ext4_cleanup
+exit $RET
+

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/Makefile new file mode 100644
index 0000000..0ea5e90

testcases/kernel/fs/ext4-new-features/ext4-online-defrag/Makefile new file +18 -0
@@ -0,0 +1,18 @@
+CFLAGS += -Wall -g -Wextra
+LDLIBS += -lm
+
+SRCS=$(wildcard *.c)
+OBJECTS=$(patsubst %.c,%.o,$(SRCS))
+TARGETS=$(patsubst %.c,%,$(SRCS))
+
+all: $(TARGETS)
+
+install:
+	@set -e;
+	for i in $(TARGETS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+	ln -f ext4_online_defrag_test.sh ../../../../bin/ext4_online_defrag_test.sh;
+	chmod +x ext4_online_defrag_test.sh
+
+clean:
+	rm -rf $(TARGETS) $(OBJECTS)
+
(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c new file mode 100644
index 0000000..05d6893

testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c new file +2171 -0

2,171 lines not on this page · raw message

(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh new file mode 100755
index 0000000..84613c8
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh @@ -0,0 +1,192 @@
+#!/bin/bash
+
+################################################################################

+#                                                                              #
+# Copyright (c) 2009 FUJITSU LIMITED                                           #
+#                                                                              #
+# This program is free software;  you can redistribute it and#or modify        #
+# it under the terms of the GNU General Public License as published by         #
+# the Free Software Foundation; either version 2 of the License, or            #
+# (at your option) any later version.                                          #
+#                                                                              #
+# This program is distributed in the hope that it will be useful, but          #
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY   #
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License     #
+# for more details.                                                            #
+#                                                                              #
+# You should have received a copy of the GNU General Public License            #
+# along with this program;  if not, write to the Free Software                 #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA      #
+#                                                                              #

+################################################################################
+
+cd $LTPROOT/testcases/bin
+
+. ./ext4_funcs.sh
+
+export TCID="ext4-online-defrag"
+export TST_TOTAL=18
+export TST_COUNT=1
+
+export TEST_DIR=$PWD
+
+# $1: the test config
+read_config $1
+
+# How to age filesystem
+EMPTY=1
+SMALL=2
+LARGE=3
+
+# Defrag what
+FILE=1
+DIR=2
+FILESYSTEM=3
+
+age_filesystem()
+{
+ local dirId=
+ local idx=
+ rm -rf mnt_point/*
+ if [ $1 -eq $EMPTY ]; then
+ if [ $2 -eq $FILE -o $2 -eq $FILESYSTEM ]; then
+ touch mnt_point/tmp_file
+ echo "abc" > mnt_point/tmp_file
+ elif [ $2 -eq $DIR ]; then
+ mkdir mnt_point/tmp_dir
+ echo "abc" > mnt_point/tmp_dir/tmp_file
+ fi
+ elif [ $1 -eq $SMALL ]; then
+
+ dd if=/dev/zero of=mnt_point/occupy bs=1M count=40
+
+ # age filesystem from 0.0 to 0.2 -> 0.4 -> 0.6 -> 0.8 -> 1.0
+ for ((idx = 3; idx < 8; idx++))
+ {
+ ./ffsb ffsb-config$idx > /dev/null
+ dirId=$((idx - 3))
+ mv mnt_point/data mnt_point/data$dirId
+ }
+
+ rm mnt_point/occupy
+
+ df
+ else
+ rm -rf mnt_point/*
+ if [ $2 -eq $DIR ]; then
+ mkdir mnt_point/tmp_dir
+ dest=mnt_point/tmp_dir/tmp_file
+ else
+ dest=mnt_point/tmp_file
+ fi
+
+ bsize=dumpe2fs -h $EXT4_DEV | grep 'Block size'
+ bsize=echo $bsize | awk '{ print $NF }'
+ bcount=dumpe2fs -h $EXT4_DEV | grep 'Free blocks'
+ bcount=echo $bcount | awk '{ print $NF }'
+ bcount=$(( $bcount / 2 - 100 ))
+ dd if=/dev/zero of=$dest bs=$bsize count=$bcount
+
+ fi
+}
+
+my_e4defrag()
+{
+ if [ $1 -eq $FILE ]; then
+ if [ $2 -eq $SMALL ]; then
+ ./e4defrag mnt_point/data0/
+ return $?
+ # EMPTY or LARGE
+ else
+ ./e4defrag mnt_point/tmp_file
+ return $?
+ fi
+ elif [ $1 -eq $DIR ]; then
+ if [ $2 -eq $SMALL ]; then
+ ./e4defrag mnt_point/data0/
+ return $?
+ else
+ ./e4defrag mnt_point/tmp_dir
+ return $?
+ fi
+ else
+ ./e4defrag $EXT4_DEV
+ return $?
+ fi
+}
+
+# Test online defragmentation feature
+# $1: defrag type
+# $2: 1 - empty, 2 - full with small files, 3 - full with large files +# $3: block size
+ext4_test_online_defrag()
+{
+ tst_resm TINFO "defrag type: $1, defrag obj: $2, block size: $3"
+
+ mkfs.ext4 -m 0 -b $3 -O ^flex_bg $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ tune2fs -E test_fs -O extents $EXT4_DEV
+
+ mount -t ext4 -o nodelalloc $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL"failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ age_filesystem $2 $1
+
+ my_e4defrag $1 $2 >> $LTPROOT/output/ext4_online_defrag_result.txt
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "e4defrag returned failure"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ e2fsck -p $EXT4_DEV
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "fsck returned failure"
+ return 1
+ fi
+
+ tst_resm TPASS "ext4 online defrag test pass(defrag type: $1, Aging: $2, block
size: $3)"
+}
+
+# main
+ext4_setup
+
+DEFRAG=( $FILE $DIR $FILESYSTEM )
+AGING=( $EMPTY $SMALL $LARGE )
+BLOCK_SIZE=( 1024 4096 )
+
+RET=0
+
+for ((i = 0; i < 2; i++))
+{
+ for ((j = 0; j < 3; j++))
+ {
+ for ((k = 0; k < 3; k++))
+ {
+ ext4_test_online_defrag ${DEFRAG[$j]} ${AGING[$k]} \
+ ${BLOCK_SIZE[$i]}
+ if [ $? -ne 0 ]; then
+ RET=1
+ fi
+ : $((TST_COUNT++))
+ }
+ }
+}
+
+ext4_cleanup
+
+exit $RET
+

(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile new file mode 100644
index 0000000..4396397

testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile new file +12 -0
@@ -0,0 +1,12 @@
+SRCS = $(wildcard *.sh)
+
+all:
+	@true
+
+install:
+	@set -e;
+	for i in $(SRCS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+
+clean:
+	@true
+
(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh new file mode 100755
index 0000000..0d293e8
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh @@ -0,0 +1,113 @@
+#!/bin/bash
+
+################################################################################

+##                                                                            ##
+## Copyright (c) 2009 FUJITSU LIMITED                                         ##
+##                                                                            ##
+## This program is free software;  you can redistribute it and#or modify      ##
+## it under the terms of the GNU General Public License as published by       ##
+## the Free Software Foundation; either version 2 of the License, or          ##
+## (at your option) any later version.                                        ##
+##                                                                            ##
+## This program is distributed in the hope that it will be useful, but        ##
+## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
+## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   ##
+## for more details.                                                          ##
+##                                                                            ##
+## You should have received a copy of the GNU General Public License          ##
+## along with this program;  if not, write to the Free Software               ##
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    ##
+##                                                                            ##
+## Author: Li Zefan <[email protected]>                                     ##
+##         Miao Xie <[email protected]>                                    ##
+##                                                                            ##

+################################################################################
+
+cd $LTPROOT/testcases/bin
+
+. ./ext4_funcs.sh
+
+export TCID="ext4-persistent-preallocation" +export TST_TOTAL=2
+export TST_COUNT=1
+
+export TEST_DIR=$PWD
+
+# $1: the test config
+read_config $1
+
+# The test path of fallocate
+export TDIRECTORY=$PWD/mnt_point/
+
+# Use ltp's syscall/fallocate to test this feature +# $1: 1024 or 4096 +ext4_test_persist_prealloc()
+{
+ mkfs.ext4 -I 256 -b $1 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ mount -t ext4 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ ret=1
+
+ for ((i = 1; i <= 3; i++))
+ {
+ if [ ! -f fallocate0${i} ]; then
+ tst_resm TFAIL "file - fallocate0${i} doesn't exist. Please \
+ check whether it was compiled and installed.\
+ (Path: LTPROOT/testcases/kernel/syscalls/fallocate)"
+ umount mnt_point
+ return 1
+ fi
+
+ ./fallocate0${i} | grep -q "CONF"
+ if [ $? -ne $ret ]; then
+ tst_resm TFAIL "fallocate's return value is not expected"
+ umount mnt_point
+ return 1
+ fi
+ }
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ e2fsck -p $EXT4_DEV
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "fsck returned failure"
+ return 1
+ fi
+
+ tst_resm TPASS "ext4 persistent preallocation test pass"
+}
+
+# main
+ext4_setup
+
+RET=0
+
+ext4_test_persist_prealloc 1024
+if [ $? -ne 0 ]; then
+ RET=1;
+fi
+: $((TST_COUNT++))
+
+ext4_test_persist_prealloc 4096
+if [ $? -ne 0 ]; then
+ RET=1;
+fi
+: $((TST_COUNT++))
+
+ext4_cleanup
+
+exit $RET
+

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/Makefile new file mode 100644
index 0000000..29fa210

testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/Makefile new file +18 -0
@@ -0,0 +1,18 @@
+CFLAGS += -Wall -g -Wextra
+LDLIBS += -lm
+
+SRCS=$(wildcard *.c)
+OBJECTS=$(patsubst %.c,%.o,$(SRCS))
+TARGETS=$(patsubst %.c,%,$(SRCS))
+
+all: $(TARGETS)
+
+clean:
+	rm -rf $(TARGETS) $(OBJECTS)
+
+install:
+	@set -e;
+	for i in $(TARGETS); do ln -f $$i ../../../../bin/$$i; chmod +x $$i; done;
+	ln -f ext4_subdir_limit_test.sh ../../../../bin/ext4_subdir_limit_test.sh;
+	chmod +x ext4_subdir_limit_test.sh;
+
(quoted diff) +0 -0

a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c new file mode 100644
index 0000000..55c3d0a

testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c new file +156 -0

92 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c new file mode 100644
index 0000000..328daa2

testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c new file +158 -0

158 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

a/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh new file mode 100755
index 0000000..42c4336
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh @@ -0,0 +1,167 @@
+#!/bin/bash
+
+################################################################################

+##                                                                            ##
+## Copyright (c) 2009 FUJITSU LIMITED                                         ##
+##                                                                            ##
+## This program is free software;  you can redistribute it and#or modify      ##
+## it under the terms of the GNU General Public License as published by       ##
+## the Free Software Foundation; either version 2 of the License, or          ##
+## (at your option) any later version.                                        ##
+##                                                                            ##
+## This program is distributed in the hope that it will be useful, but        ##
+## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ##
+## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   ##
+## for more details.                                                          ##
+##                                                                            ##
+## You should have received a copy of the GNU General Public License          ##
+## along with this program;  if not, write to the Free Software               ##
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    ##
+##                                                                            ##
+## Author: Li Zefan <[email protected]>                                     ##
+##         Miao Xie <[email protected]>                                    ##
+##                                                                            ##

+################################################################################
+
+cd $LTPROOT/testcases/bin
+
+. ./ext4_funcs.sh
+
+export TCID="ext4-subdir-limit"
+export TST_TOTAL=12
+export TST_COUNT=1
+
+# $1: the test config
+read_config $1
+
+TEST_DIR=$PWD
+SHORT_DIR=1
+LONG_DIR=2
+
+FAIL=1
+PASS=0
+
+prev_block_size=-1
+prev_result=$FAIL
+
+# Run a test case
+# $1: Number of directories to create
+# $2: create short dir or long dir
+# $3: parent directory
+# $4: filesystem block size
+ext4_run_case()
+{
+ local dir_name_len=
+
+ if [ $2 -eq $SHORT_DIR ]; then
+ dir_name_len="short name"
+ else
+ dir_name_len="long name"
+ fi
+
+ tst_resm TINFO "Num of dirs to create: $1, Dir name len: $dir_name_len \
+ Parent dir: $3, Block size: $4"
+
+ # only mkfs if block size has been changed,
+ # or previous case failed
+ if [ $prev_result -ne $PASS -o $4 -ne $prev_block_size ]; then
+ mkfs.ext4 -b $4 -I 256 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+ prev_block_size=$4
+
+ tune2fs -E test_fs -O extents $EXT4_DEV
+ fi
+
+ prev_result=$FAIL
+
+ # mount ext4 filesystem
+ mount -t ext4 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ # create directories
+ mkdir -p $3 2> /dev/null
+
+ if [ $2 -eq $SHORT_DIR ]; then
+ ./create_short_dirs $1 $3
+ else
+ ./create_long_dirs $1 $3
+ fi
+
+ if [ $? -ne 0 ]; then
+ nr_dirs=ls $3 | wc -l
+ tst_resm TFAIL "failed to create directories - $nr_dirs"
+ umount mnt_point
+ return 1
+ fi
+
+ # delete directories
+ cd $3
+ ls | xargs rmdir
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to remove directories"
+
+ cd $TEST_DIR
+ umount mnt_point
+ return 1
+ fi
+ cd $TEST_DIR
+
+ # unmount ext4 filesystem
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ # run fsck to make sure the filesystem has no errors
+ e2fsck -p $EXT4_DEV
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "fsck: the filesystem has errors"
+ return 1
+ fi
+
+ # check dir_nlink is set
+ dumpe2fs $EXT4_DEV | grep '^Filesystem features' | grep -q dir_nlink
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "feature dir_nlink is not set"
+ return 1
+ fi
+
+ prev_result=$PASS
+ tst_resm TPASS "ext4 subdir limit test pass"
+}
+
+# main
+ext4_setup
+
+DIR_LEN=( $SHORT_DIR $LONG_DIR )
+PARENT_DIR=( "mnt_point" "mnt_point/sub" )
+BLOCK_SIZE=( 1024 2048 4096 )
+
+RET=0
+
+for ((i = 0; i < 3; i++))
+{
+ for ((j = 0; j < 2; j++))
+ {
+ for ((k = 0; k < 2; k++))
+ {
+ ext4_run_case 65537 ${DIR_LEN[$k]} ${PARENT_DIR[$j]} \
+ ${BLOCK_SIZE[$i]}
+ if [ $? -ne 0 ]; then
+ RET=1
+ fi
+ : $((TST_COUNT++))
+ }
+ }
+}
+
+ext4_cleanup
+
+exit $RET

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/Makefile new file mode 100644
index 0000000..4396397

testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/Makefile new file +12 -0

Lines of this file are not shown. View the raw message.

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

a/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh new file mode 100755
index 0000000..27cbb5f
--- /dev/null
+++
b/testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh @@ -0,0 +1,161 @@
+#!/bin/bash
+
+################################################################################

+#                                                                              #
+# Copyright (c) 2009 FUJITSU LIMITED                                           #
+#                                                                              #
+# This program is free software;  you can redistribute it and#or modify        #
+# it under the terms of the GNU General Public License as published by         #
+# the Free Software Foundation; either version 2 of the License, or            #
+# (at your option) any later version.                                          #
+#                                                                              #
+# This program is distributed in the hope that it will be useful, but          #
+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY   #
+# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License     #
+# for more details.                                                            #
+#                                                                              #
+# You should have received a copy of the GNU General Public License            #
+# along with this program;  if not, write to the Free Software                 #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA      #
+#                                                                              #

+################################################################################
+
+cd $LTPROOT/testcases/bin
+
+. ./ext4_funcs.sh
+
+export TCID="ext4-uninit-groups"
+export TST_TOTAL=24
+export TST_COUNT=1
+
+export TEST_DIR=$PWD
+# $1: the test config
+read_config $1
+
+# How to age filesystem
+EMPTY=1
+SMALL=2
+LARGE=3
+
+# filesystem free size in bytes: blocks_size * free_blocks +filesystem_free_size()
+{
+ bsize=dumpe2fs -h $EXT4_DEV | grep 'Block size' | awk '{ print $2 }'
+ blocks=dumpe2fs -h $EXT4_DEV | grep 'Free blocks'| awk '{ print $2 }'
+
+ echo $bsize * $blocks
+}
+
+age_filesystem()
+{
+ if [ $1 -eq $EMPTY ]; then
+ # aging, then del
+ ./ffsb ffsb-config3 > /dev/null
+ rm -rf mnt_point/*
+ elif [ $1 -eq $SMALL ]; then
+ # age filesystem from 0.0 to 0.2 -> 0.4 -> 0.6 -> 0.8 -> 1.0
+ for ((n = 3; n < 8; n++))
+ {
+ ./ffsb ffsb-config$n > /dev/null
+ mv mnt_point/data mnt_point/data$n
+ }
+ elif [ $1 -eq $LARGE ]; then
+ rm -rf mnt_point/*
+ bsize=dumpe2fs -h $EXT4_DEV | grep 'Block size'
+ bsize=echo $bsize | awk '{ print $3 }'
+ bcount=dumpe2fs -h $EXT4_DEV | grep 'Free blocks'
+ bcount=echo $bcount | awk '{ print $3 }'
+ dd if=/dev/zero of=mnt_point/tmp_dir bs=$bsize count=$bcount
+ else
+ return 1
+ fi
+
+ return 0
+}
+
+# Test uninitialized groups
+# $1: orlov, oldalloc
+# $2: delalloc
+# $3: flex_bg
+# $4: age filesystem: $EMPTY, $SMALL, $LARGE +ext4_test_uninit_groups()
+{
+ mkfs.ext4 -I 256 -m 0 $EXT4_DEV > /dev/null
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to create ext4 filesystem"
+ return 1
+ fi
+
+ if [ $3 == "no_flex_bg" ]; then
+ flag=""
+ else
+ flag=$3
+ fi
+
+ tune2fs -E test_fs -O extents,uninit_groups,$flag $EXT4_DEV
+
+ # Must run fsck after setting uninit_groups
+ fsck -p $EXT4_DEV > /dev/null
+
+ mount -t ext4 -o $1,$2 $EXT4_DEV mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to mount ext4 filesystem"
+ return 1
+ fi
+
+ age_filesystem $4
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "age filesystem failed"
+ umount mnt_point
+ return 1
+ fi
+
+ umount mnt_point
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "failed to umount ext4 filesystem"
+ return 1
+ fi
+
+ fsck -p $EXT4_DEV
+ if [ $? -ne 0 ]; then
+ tst_resm TFAIL "fsck returned failure"
+ return 1
+ fi
+
+ tst_resm TPASS "ext4 uninit groups test pass"
+}
+
+# main
+ext4_setup
+
+ORLOV=( "orlov" "oldalloc" )
+DELALLOC=( "delalloc" "nodelalloc" )
+FLEX_BG=( "flex_bg" "no_flex_bg" )
+AGING=( $EMPTY $SMALL $LARGE )
+
+RET=0
+
+for ((i = 0; i < 2; i++))
+{
+ for ((j = 0; j < 2; j++))
+ {
+ for ((k = 0; k < 2; k++))
+ {
+ for ((l = 0; l < 3; l++))
+ {
+ ext4_test_uninit_groups ${ORLOV[$i]} \
+ ${DELALLOC[$j]} \
+ ${FLEX_BG[$k]} \
+ ${AGING[$l]}
+ if [ $? -ne 0 ]; then
+ RET=1
+ fi
+ : $((TST_COUNT++))
+ }
+ }
+ }
+}
+
+ext4_cleanup
+
+exit $RET

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ext4_funcs.sh new file mode 100755
index 0000000..34fb65c

testcases/kernel/fs/ext4-new-features/ext4_funcs.sh new file +47 -0

47 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS new file mode 100644
index 0000000..85d037d

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS new file +7 -0

Lines of this file are not shown. View the raw message.

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING new file mode 100644
index 0000000..d60c31a

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING new file +340 -0

340 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ChangeLog new file mode 100644
index 0000000..e69de29

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/INSTALL new file mode 100644
index 0000000..b42a17a

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/INSTALL new file +182 -0

182 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/LICENSE new file mode 100644
index 0000000..2b940a4

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/LICENSE new file +347 -0

347 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am new file mode 100644
index 0000000..f4efc6d

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am new file +38 -0

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

filelist.h metaops.h rwlock.h cirlist.h rbt.h ffsb_tg.h ffsb_fs.h ffsb_thread.h ffsb_op.h util.h parser.c parser.h ffsb_test.c
+
+EXTRA_DIST = *.txt *.tex
+
+AM_CFLAGS = -D_GNU_SOURCE
+
+#CFLAGS += -Wall -Werror -g -Wconversion -ansi
+#LDFLAGS += -lefence
+

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in new file mode 100644
index 0000000..1e82f88

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in new file +213 -0

213 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

filelist.h metaops.h rwlock.h cirlist.h rbt.h ffsb_tg.h ffsb_fs.h ffsb_thread.h ffsb_op.h util.h parser.c parser.h ffsb_test.c
+EXTRA_DIST = *.txt *.tex
+AM_CFLAGS = -D_GNU_SOURCE
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+ cd $(srcdir) && $(AUTOMAKE) --gnu \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@
$(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+config.h: stamp-h1
+ @if test ! -f $@; then \
+ rm -f stamp-h1; \
+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+ else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ cd $(top_srcdir) && $(AUTOHEADER)
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \

+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	  ; then \

+ f=echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'; \
+ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p'
'$(DESTDIR)$(bindir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p"
"$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \

+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \

+ done
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+ffsb$(EXEEXT): $(ffsb_OBJECTS) $(ffsb_DEPENDENCIES)
+ @rm -f ffsb$(EXEEXT)
+ $(LINK) $(ffsb_OBJECTS) $(ffsb_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cirlist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_fc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_fs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_op.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_stats.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_tg.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ffsb_thread.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fh.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filelist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileops.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metaops.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parser.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rbt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwlock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ +
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no
@AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp)
@AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@
$(CYGPATH_W) '$<'
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no
@AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp)
@AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $(CYGPATH_W) '$<'
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=pwd; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=$(am__cd) $(top_builddir) && pwd \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d $(distdir) || mkdir $(distdir)
+ @srcdirstrip=echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'; \
+ topsrcdirstrip=echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=echo "/$$file" | sed -e 's,/[^/]*$$,,'; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \

+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \

+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-lzma: distdir
+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e
's,^[^:\\/]:[\\/],/,'` \

+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck

+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test $(distuninstallcheck_listfiles) | wc -l -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \

+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2

+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test $(distcleancheck_listfiles) | wc -l -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS) config.h
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic mostlyclean-am +
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic +
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
+ dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
+ distclean distclean-compile distclean-generic distclean-hdr \
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-binPROGRAMS install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-binPROGRAMS
+
+
+#CFLAGS += -Wall -Werror -g -Wconversion -ansi
+#LDFLAGS += -lefence
+# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT:

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/NEWS new file mode 100644
index 0000000..e69de29

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/README new file mode 100644
index 0000000..59407cf

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/README new file +413 -0

413 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 new file mode 100644
index 0000000..d57c8f6

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 new file +328 -0

328 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

then
+ dirpart=AS_DIRNAME("$mf")
+ else
+ continue

+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"

+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE. +#
+# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# serial 13
+
+# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. +
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "cd $srcdir && pwd" != "pwd"; then

+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then

+ AC_MSG_ERROR([source directory already configured; run "make distclean"
there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls. +m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl +
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on +# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names. +
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=expr $_am_stamp_count + 1 ;;
+ esac
+done
+echo "timestamp for $_am_arg"

Quoted 1 line

AS_DIRNAME(["$_am_arg"])/stamp-h[]$_am_stamp_count])

+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# serial 2
+
+# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out Entering directory' and Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at ^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of make'.
+if test "$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'" = "done"; then

+   am__include=include
+   am__quote=
+   _am_result=GNU

+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "$am_make -s -f confmf 2> /dev/null" = "done"; then

+      am__include=.include
+      am__quote="\""
+      _am_result=BSD

+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- +
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved. +
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X ls -Lt $srcdir/configure conftest.file 2> /dev/null
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X ls -t $srcdir/configure conftest.file

+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken

+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +#
+# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using strip' when the user +# run make install-strip'. However strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +#
+# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of v7', ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory +# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf -
"'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf -
"'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)

+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then

+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c new file mode 100644
index 0000000..799ae44

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c new file +107 -0

107 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h new file mode 100644
index 0000000..565578c

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h new file +41 -0

41 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.guess new file mode 100755
index 0000000..00ccf89

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.guess new file +104 -0

104 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ;
+ { tmp=(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# ([email protected] 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+

+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

+
+# Note: order is significant - the case branches are not exclusive. +
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in

+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;

+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then

+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd

+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit 0 ;;
+ amd64:OpenBSD:*:*)
+ echo x86_64-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ amiga:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ arc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ cats:OpenBSD:*:*)
+ echo arm-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ hp300:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mac68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ macppc:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme88k:OpenBSD:*:*)
+ echo m88k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvmeppc:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ pegasos:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ pmax:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sgi:OpenBSD:*:*)
+ echo mipseb-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sun3:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ wgrisc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:OpenBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit 0 ;;
+ macppc:MirBSD:*:*)
+ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit 0 ;;
+ alpha:OSF1:*:*)
+ if test $UNAME_RELEASE = "V4.0"; then
+ UNAME_RELEASE=/usr/sbin/sizer -v | awk '{print $3}'
+ fi
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\)
processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit 0 ;;
+ Alpha*:OpenVMS:*:*)
+ echo alpha-hp-vms
+ exit 0 ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit 0 ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit 0 ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit 0;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit 0 ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit 0 ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit 0 ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit 0 ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit 0;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit 0;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # [email protected] (Earle F. Ake) contributed MIS and NILE.
+ if test "(/bin/universe) 2>/dev/null" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit 0 ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit 0 ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit 0 ;;
+ DRS?6000:UNIX_SV:4.2*:7*)
+ case /usr/bin/uname -p in
+ sparc) echo sparc-icl-nx7 && exit 0 ;;
+ esac ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'
+ exit 0 ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'
+ exit 0 ;;
+ i86pc:SunOS:5.*:*)
+ echo i386-pc-solaris2echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'
+ exit 0 ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'
+ exit 0 ;;
+ sun4*:SunOS:*:*)
+ case "/usr/bin/arch -k" in
+ Series*|S4*)
+ UNAME_RELEASE=uname -v
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunosecho ${UNAME_RELEASE}|sed -e 's/-/_/'
+ exit 0 ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "/bin/arch" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit 0 ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit 0 ;;

+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)

+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit 0 ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit 0 ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit 0 ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit 0 ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c \
+ && $dummy echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p' \
+ && exit 0
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit 0 ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit 0 ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit 0 ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit 0 ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit 0 ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=/usr/bin/uname -p
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit 0 ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit 0 ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit 0 ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irixecho ${UNAME_RELEASE}|sed -e 's/-/_/g'
+ exit 0 ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit 0 ;; # Note that: echo "'uname -s'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit 0 ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=/usr/bin/oslevel
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ echo rs6000-ibm-aix3.2.5
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit 0 ;;
+ *:AIX:*:[45])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{
print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=/usr/bin/oslevel
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit 0 ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit 0 ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit 0 ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit 0 ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit 0 ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit 0 ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit 0 ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'
+ case "${UNAME_MACHINE}" in

+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])

+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=/usr/bin/getconf SC_CPU_VERSION 2>/dev/null
+ sc_kernel_bits=/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null
+ case "${sc_cpu_version}" in

+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0

+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+

+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)

+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)

+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}

+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=$dummy
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then

+	    # avoid double evaluation of $set_cc_for_build
+	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+	    then

+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'
+ echo ia64-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {

+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;

+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ echo unknown-hitachi-hiuxwe2
+ exit 0 ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit 0 ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit 0 ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit 0 ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit 0 ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit 0 ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit 0 ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit 0 ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ *:UNICOS/mp:*:*)
+ echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`

+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit 0 ;;

+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit 0 ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:FreeBSD:*:*)
+ # Determine whether the default compiler uses glibc.
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #if __GLIBC__ >= 2
+ LIBC=gnu
+ #else
+ LIBC=
+ #endif
+EOF
+ eval $CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=
+ # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
+ # FreeBSD's kernel, but not the complete OS.
+ case ${LIBC} in gnu) kernel_only='k' ;; esac
+ echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed
-e 's/[-(].*//'`${LIBC:+-$LIBC}
+ exit 0 ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit 0 ;;
+ i*:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit 0 ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit 0 ;;
+ x86:Interix*:[34]*)
+ echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+ exit 0 ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit 0 ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit 0 ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit 0 ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit 0 ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'
+ exit 0 ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'-unknown-gnu`echo
${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit 0 ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr
'[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit 0 ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit 0 ;;
+ arm*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit 0 ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips
+ #undef mipsel
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) ||
defined(MIPSEL)
+ CPU=mipsel
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) ||
defined(MIPSEB)
+ CPU=mips
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval $CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=
+ test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips64
+ #undef mips64el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) ||
defined(MIPSEL)
+ CPU=mips64el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) ||
defined(MIPSEB)
+ CPU=mips64
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval $CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=
+ test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit 0 ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit 0 ;;
+ alpha:Linux:*:*)
+ case sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo in

+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;

+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit 0 ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2 in

+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;

+ esac
+ exit 0 ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit 0 ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit 0 ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit 0 ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d

+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in

+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ a.out-i386-linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit 0 ;;
+ coff-i386)
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ exit 0 ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ exit 0 ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #ifdef __INTEL_COMPILER
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval $CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=
+ test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit 0 ;;
+ i*86:UNIX_SV:4.2MP:2.*)

+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,

+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit 0 ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit 0 ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit 0 ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit 0 ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit 0 ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit 0 ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=echo ${UNAME_RELEASE} | sed 's/\/MP$//'
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit 0 ;;
+ i*86:*:5:[78]*)
+ case /bin/uname -X | grep "^Machine" in

+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;

+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit 0 ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=sed -n 's/.*Version //p' </usr/options/cb.name
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=(/bin/uname -X|grep Release|sed -e 's/.*= //')
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit 0 ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+ exit 0 ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit 0 ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit 0 ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit 0 ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit 0 ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit 0 ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit 0 ;;
+ M68*:*:R3V[567]*:*)
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 |
3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4 && exit 0 ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit 0 ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit 0 ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=(uname -p) 2>/dev/null
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit 0 ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <[email protected]>
+ echo i586-unisys-sysv4
+ exit 0 ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <[email protected]>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit 0 ;;
+ *:*:*:FTX*)
+ # From [email protected].
+ echo i860-stratus-sysv4
+ exit 0 ;;
+ *:VOS:*:*)
+ # From [email protected].
+ echo hppa1.1-stratus-vos
+ exit 0 ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit 0 ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit 0 ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit 0 ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit 0 ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit 0 ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Darwin:*:*)
+ case uname -p in
+ *86) UNAME_PROCESSOR=i686 ;;
+ powerpc) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit 0 ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=uname -p
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit 0 ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit 0 ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit 0 ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit 0 ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit 0 ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit 0 ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit 0 ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit 0 ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit 0 ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit 0 ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit 0 ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit 0 ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit 0 ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit 0 ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonflyecho ${UNAME_RELEASE}|sed -e 's/[-(].*//'
+ exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 +
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif

+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)

+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 +
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +
+# Convex versions that predate uname can use getsysinfo(1) +
+if [ -x /usr/convex/getsysinfo ]
+then
+ case getsysinfo -f cpu_type in
+ c1*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ c34*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ c38*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ c4*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize +the operating system you are using. It is advised that you +download the most up to date version of the config scripts from +
+ ftp://ftp.gnu.org/pub/gnu/config/
+
+If the version you run ($0) is already up to date, please +send the following data and any information you think might be +pertinent to <[email protected]> in order to provide the needed +information to handle your system.
+
+config.guess timestamp = $timestamp
+

+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
+/bin/uname -X = (/bin/uname -X) 2>/dev/null
+

+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`

+/usr/convex/getsysinfo = (/usr/convex/getsysinfo) 2>/dev/null +
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.h.in new file mode 100644
index 0000000..8e1aa84

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.h.in new file +130 -0

130 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.sub new file mode 100755
index 0000000..d2e3557

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.sub new file +121 -0

121 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

uclinux-gnu* | \
+ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)

+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;

+esac
+
+### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;

+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \

+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis)
+ os=
+ basic_machine=$1
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -sco3.2.[4-9]*)
+ os=echo $os | sed -e 's/sco3.2./sco3.2v/'
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -udk*)
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=echo $1 | sed -e 's/86-.*/86-pc/'
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=echo $1 | sed -e 's/86-.*/86-sequent/'
+ ;;
+ -windowsnt*)
+ os=echo $os | sed -e 's/windowsnt/winnt/'
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \

+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32r | m68000 | m68k | m88k | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| msp430 \
+	| ns16k | ns32k \
+	| openrisc | or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xstormy16 | xtensa \
+	| z8k)

+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+
+ # We use pc' rather than unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \$1\': machine \$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \

+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| msp430-* \
+	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+	| xtensa-* \
+	| ymp-* \
+	| z8k-*)

+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ cr16c)
+ basic_machine=cr16c-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 |
hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=echo $1 | sed -e 's/86.*/86-pc/'
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=echo $1 | sed -e 's/86.*/86-pc/'
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=echo $1 | sed -e 's/86.*/86-pc/'
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=echo $1 | sed -e 's/86.*/86-pc/'
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=echo $basic_machine | sed -e 's/mips3/mips64/'
+ ;;
+ mips3*)
+ basic_machine=echo $basic_machine | sed -e 's/mips3/mips64/'-unknown
+ ;;
+ mmix*)
+ basic_machine=mmix-knuth
+ os=-mmixware
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nv1)
+ basic_machine=nv1-cray
+ os=-unicosmp
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ or32 | or32-*)
+ basic_machine=or32-unknown
+ os=-coff
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ pentium4-*)
+ basic_machine=i786-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-echo $basic_machine | sed 's/^[^-]*-//'
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparc | sparcv9 | sparcv9b)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \$1\': machine \$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in
+ *-digital*)
+ basic_machine=echo $basic_machine | sed 's/digital.*/dec/'
+ ;;
+ *-commodore*)
+ basic_machine=echo $basic_machine | sed 's/commodore.*/cbm/'
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems. +
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=echo $os | sed -e 's|solaris1|sunos4|'
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=echo $os | sed -e 's|gnu/linux|linux-gnu|'
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.

+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | 
-udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)

+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=echo $os | sed -e 's|nto|nto-qnx|'
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=echo $os | sed -e 's|mac|macos|'
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=echo $os | sed -e 's|linux|linux-gnu|'
+ ;;
+ -sunos5*)
+ os=echo $os | sed -e 's|sunos5|solaris2|'
+ ;;
+ -sunos6*)
+ os=echo $os | sed -e 's|sunos6|solaris3|'
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=echo $os | sed -e 's|sinix|sysv|'
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=echo $os | sed 's/[^-]*-//'
+ echo Invalid configuration \$1\': system \$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. +
+# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point.
+
+case $basic_machine in
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=echo $basic_machine | sed "s/unknown/$vendor/"
+ ;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:

(quoted diff) +0 -0

b/testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure new file mode 100755
index 0000000..12d5202

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure new file +90 -0

90 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \

+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME

+do
+ if (set +x; test -z "(eval $as_var=C; export $as_var) 2>&1"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "Xexpr 00001 : '.*\(...\)'" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "Xbasename -- / 2>&1" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(

+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); 

exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do

+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  case $as_dir in

+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then

+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs 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
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then

+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs 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_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(

+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }

+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV

+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}

+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the

+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }

6,750 lines not shown · raw message

(quoted diff) +0 -0

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure.in new file +37 -0

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

14 lines not shown · raw message

(quoted diff) +0 -0

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/depcomp new file +453 -0

453 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

20 lines not shown · raw message

(quoted diff) +0 -0

4 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/examples/profile_everything new file +119 -0

119 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h new file +105 -0

105 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c new file +112 -0

112 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c new file +634 -0

634 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h new file +184 -0

184 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c new file +112 -0

112 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

68 lines not shown · raw message

(quoted diff) +0 -0

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h new file +102 -0

102 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c new file +241 -0

241 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h new file +109 -0

109 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c new file +369 -0

369 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h new file +206 -0

206 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c new file +122 -0

122 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

50 lines not shown · raw message

(quoted diff) +0 -0

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h new file +90 -0

90 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

19 lines not shown · raw message

(quoted diff) +0 -0

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c new file +278 -0

278 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h new file +41 -0

41 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.c new file +503 -0

503 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.h new file +145 -0

145 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.c new file +547 -0

547 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.h new file +51 -0

51 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/install-sh new file +251 -0

251 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.c new file +55 -0

55 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.h new file +53 -0

53 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/main.c new file +258 -0

258 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.c new file +112 -0

112 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.h new file +28 -0

Lines of this file are not shown. View the raw message.

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/missing new file +336 -0

336 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/mkinstalldirs new file +40 -0

Lines of this file are not shown. View the raw message.

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.c new file +1034 -0

1,034 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.h new file +151 -0

151 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

4 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/public-description new file +4 -0

Lines of this file are not shown. View the raw message.

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.c new file +188 -0

188 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.h new file +60 -0

60 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c new file +1040 -0

1,040 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h new file +316 -0

316 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

4 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/registration-description new file +1 -0

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

19 lines not shown · raw message

(quoted diff) +0 -0

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c new file +109 -0

109 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h new file +51 -0

51 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in new file +1 -0

Lines of this file are not shown. View the raw message.

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.c new file +351 -0

351 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.h new file +94 -0

94 lines not on this page · raw message

(quoted diff) +0 -0

The rest of this diff is not shown. View the raw message.

3 lines not shown · raw message

testcases/kernel/fs/ext4-new-features/run_ext4_test.sh new file +65 -0

65 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

129 lines not shown · raw message

Parts of this message are not shown here. View the raw message.

#1 lore raw
Quoted 10 lines · Miao Xie

This is the patch of testcases for the ext4 new features test.
It contains multi-block alloc/delayed alloc test, inode version test, journal checksumming test, nanosec timestamps test, online defrag test, persist prealloc test, subdirectory limit test and uninit groups test of ext4.

In this test suite, there is two FAIL in the subdirectory limit test. It is because we cann't create more than 32000 subdirectory when block size is small, such as 1024, and the name of every subdirectory is very long, such as every name is 255 bytes. I think it is the bug of the ext4.

Quoted 7 lines

Note: Your MUST run configure in the directory
testcases/kernel/fs/ext4-new-features
to config the tool of ffsb, and specify a partition to be used for test before compiling the tool. The data on the specified partition would be DESTROYED.

Thank you very much for these tests. I will test it and let you know comments, if any. I will try hard to include this in September 2009 LTP month-end release for the community to start using them.

Regards--
Subrata

Quoted 219 lines
---
  runtest/fs_ext4                                    |    1 +
  testcases/kernel/fs/Makefile                       |    2 +-
  testcases/kernel/fs/ext4-new-features/Makefile     |   24 +
  testcases/kernel/fs/ext4-new-features/README       |  112 +
  testcases/kernel/fs/ext4-new-features/configure    |   23 +
  .../ext4-delalloc-mballoc/Makefile                 |   12 +
  .../ext4-delalloc-mballoc/ext4-alloc-test.sh       |  167 +
  .../fs/ext4-new-features/ext4-ffsb-config/Makefile |   17 +
  .../ext4-ffsb-config/ffsb-config0                  |   23 +
  .../ext4-ffsb-config/ffsb-config1                  |   23 +
  .../ext4-ffsb-config/ffsb-config2                  |   23 +
  .../ext4-ffsb-config/ffsb-config3                  |   29 +
  .../ext4-ffsb-config/ffsb-config4                  |   29 +
  .../ext4-ffsb-config/ffsb-config5                  |   29 +
  .../ext4-ffsb-config/ffsb-config6                  |   29 +
  .../ext4-ffsb-config/ffsb-config7                  |   29 +
  .../ext4-new-features/ext4-inode-version/Makefile  |   19 +
  .../ext4-inode-version/ext4_get_inode_version.sh   |   41 +
  .../ext4-inode-version/ext4_inode_version_test.sh  |  205 +
  .../ext4-inode-version/ext4_test_inode_version.c   |  219 +
  .../ext4-journal-checksum/Makefile                 |   12 +
  .../ext4-journal-checksum/ext4_journal_checksum.sh |  148 +
  .../ext4-nsec-timestamps/Makefile                  |   17 +
  .../ext4-nsec-timestamps/ext4_file_time.c          |   70 +
  .../ext4_nsec_timestamps_test.sh                   |  196 +
  .../ext4-new-features/ext4-online-defrag/Makefile  |   18 +
  .../ext4-online-defrag/e4defrag.c                  | 2171 ++++++
  .../ext4-online-defrag/ext4_online_defrag_test.sh  |  192 +
  .../ext4-persist-prealloc/Makefile                 |   12 +
  .../ext4_persist_prealloc_test.sh                  |  113 +
  .../ext4-new-features/ext4-subdir-limit/Makefile   |   18 +
  .../ext4-subdir-limit/create_long_dirs.c           |  156 +
  .../ext4-subdir-limit/create_short_dirs.c          |  158 +
  .../ext4-subdir-limit/ext4_subdir_limit_test.sh    |  167 +
  .../ext4-new-features/ext4-uninit-groups/Makefile  |   12 +
  .../ext4-uninit-groups/ext4_uninit_groups_test.sh  |  161 +
  .../kernel/fs/ext4-new-features/ext4_funcs.sh      |   47 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS      |    7 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/COPYING      |  340 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/INSTALL      |  182 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/LICENSE      |  347 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am  |   46 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in  |  628 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/README       |  413 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4   |  880 +++
  .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c    |  107 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h    |   41 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/config.guess | 1450 ++++
  .../fs/ext4-new-features/ffsb-6.0-rc2/config.h.in  |  130 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/config.sub   | 1545 +++++
  .../fs/ext4-new-features/ffsb-6.0-rc2/configure    | 7000 ++++++++++++++++++++
  .../fs/ext4-new-features/ffsb-6.0-rc2/configure.in |   49 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/depcomp      |  472 ++
  .../ffsb-6.0-rc2/examples/profile_everything       |  119 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h       |  105 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c    |  112 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c    |  634 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h    |  184 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c    |  178 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h    |  102 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c |  241 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h |  109 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c    |  369 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h    |  206 +
  .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c   |  171 +
  .../ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h   |  108 +
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c  |  278 +
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h  |   41 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.c   |  503 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/filelist.h   |  145 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.c    |  547 ++
  .../fs/ext4-new-features/ffsb-6.0-rc2/fileops.h    |   51 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/install-sh   |  251 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/list.c       |   55 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/list.h       |   53 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/main.c       |  258 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.c    |  112 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/metaops.h    |   28 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/missing      |  336 +
  .../ext4-new-features/ffsb-6.0-rc2/mkinstalldirs   |   40 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/parser.c     | 1034 +++
  .../fs/ext4-new-features/ffsb-6.0-rc2/parser.h     |  151 +
  .../ffsb-6.0-rc2/public-description                |    4 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rand.c       |  188 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rand.h       |   60 +
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c | 1040 +++
  .../kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h |  316 +
  .../ffsb-6.0-rc2/registration-description          |    7 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c     |  109 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h     |   51 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in   |    1 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/util.c       |  351 +
  .../fs/ext4-new-features/ffsb-6.0-rc2/util.h       |   94 +
  .../kernel/fs/ext4-new-features/run_ext4_test.sh   |  179 +
  94 files changed, 27281 insertions(+), 1 deletions(-)

create mode 100644 runtest/fs_ext4
create mode 100644 testcases/kernel/fs/ext4-new-features/Makefile
create mode 100644 testcases/kernel/fs/ext4-new-features/README
create mode 100755 testcases/kernel/fs/ext4-new-features/configure
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-delalloc-mballoc/ext4-alloc-test.sh
create mode 100644 testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/Makefile create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config0
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config1
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config2
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config3
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config4
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config5
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config6
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-ffsb-config/ffsb-config7
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-inode-version/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_get_inode_version.sh
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_inode_version_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-journal-checksum/ext4_journal_checksum.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/Makefile
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_file_time.c
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-nsec-timestamps/ext4_nsec_timestamps_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/Makefile
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/ext4_online_defrag_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-persist-prealloc/ext4_persist_prealloc_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/Makefile
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_long_dirs.c
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/create_short_dirs.c
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-subdir-limit/ext4_subdir_limit_test.sh
create mode 100644
testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/Makefile
create mode 100755
testcases/kernel/fs/ext4-new-features/ext4-uninit-groups/ext4_uninit_groups_test.sh
create mode 100755 testcases/kernel/fs/ext4-new-features/ext4_funcs.sh create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/AUTHORS create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/COPYING create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ChangeLog create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/INSTALL create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/LICENSE create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.am create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/Makefile.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/NEWS create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/README create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/aclocal.m4 create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/cirlist.h create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.guess create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.h.in create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/config.sub create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/configure.in create mode 100755 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/depcomp create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/examples/profile_everything
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fc.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_fs.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_op.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_stats.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_tg.h create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.c
create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/ffsb_thread.h
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fh.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/filelist.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/fileops.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/install-sh create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/list.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/main.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/metaops.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/missing create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/mkinstalldirs
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/parser.h create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/public-description
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rand.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rbt.h

Quoted 8 lines

create mode 100644
testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/registration-description
create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/rwlock.h create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/stamp-h.in create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.c create mode 100644 testcases/kernel/fs/ext4-new-features/ffsb-6.0-rc2/util.h create mode 100755 testcases/kernel/fs/ext4-new-features/run_ext4_test.sh

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#2 lore raw
In reply to Miao Xie

Hi!
Here comes just a few comments of some parts of the code (sorry for commenting old patch, the original mail just got stuck, thus resending).

Review

Quoted 8 lines

b/testcases/kernel/fs/ext4-new-features/ext4-inode-version/ext4_test_inode_version.c

(quoted diff) +6 -0
+char *filename;
+char *filepath;
+int fd;
+
+int old_inode_version;
+int new_inode_version;

Global variables should be declared as static, otherwise compiler losts track of unused global variables and doesn't warn you about them.

Quoted 9 lines
(quoted diff) +9 -0
+     if (strcmp(argv[1], "create") == 0) {
+             printf("%d\n", old_inode_version);
+             return 0;
+     } else if (strcmp(argv[1], "chmod") == 0) {
+             test_chmod();
+     } else if (strcmp(argv[1], "chown") == 0) {
+             test_chown();
+     } else if (strcmp(argv[1], "read") == 0) {
+             test_read();

Review

Quoted 10 lines
(quoted diff) +10 -0
+     } else if (strcmp(argv[1], "write") == 0) {
+             test_write();
+     } else if (strcmp(argv[1], "mmap_read") == 0) {
+             test_mmap_read();
+     } else if (strcmp(argv[1], "mmap_write") == 0) {
+             test_mmap_write();
+     } else {
+             fprintf(stderr, "wrong file operation: %s\n", argv[1]);
+             return 1;
+     }

This is just easier and cleaner with defining field of strings (char *) and looping trough them. Eg:

#define NPARAMS 4

const char *params[NPARAMS] = {"chmod", "chown", "read", "write"};

for (i = 0; i < NPARAMS; i++)

        if (!strcmp(argv[1], params[i})
                break;

Now you have number of selected param in variable i, so traditionall switch() could be used. Or if called functions have similar type, array of pointers to them is even easier.

const void (*(func[NPARAMS])(void) = {test_chmod, test_chown, ...};

Quoted 1 line

+++ b/testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c

Hmm, man 3 free says "if ptr is NULL, no operation is performed"

testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c line 67

Quoted 6 lines
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c new file +6 -0
+/* Wrap up the free function */
+#define FREE(tmp)                            \
+     do {                                    \
+             if ((tmp) != NULL)              \
+                     free(tmp);              \
+     } while (0)                             \

Macro in lowercase is usually considered to be bad practise.

Quoted 9 lines
testcases/kernel/fs/ext4-new-features/ext4-online-defrag/e4defrag.c new file +9 -0
+/* Insert list2 after list1 */
+#define insert(list1, list2)                 \
+     do {                                    \
+             list2->next = list1->next;      \
+             list1->next->prev = list2;      \
+             list2->prev = list1;            \
+             list1->next = list2;            \
+     } while (0)
+
Signature · 13 lines
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list