[OracleOSS] [TitleIndex] [WordIndex]

OCFS2/XattrTest

OCFS2 Xattr Test

Introduction

This document aims at scheduling the testing plan against Xattr which we're currently implementing on Ocfs2,and also capture/record the testing result to trace the status during test where we can easily position a bug.In an addition,we also explain how all of the testcases will be organized and the workflow of their corresponding testing tool.

TestLimitation

The limitation defined by desgin roadmap during xattr implementation on ocfs2 should be claimed here to make a clear understanding of how can we expect our testing tool most.

#define XATTR_NAME_MAX   255    /* max chars in an extended attribute name */ 
#define XATTR_SIZE_MAX 65536    /* max size of an extended attribute value (64k) */ 
#define XATTR_LIST_MAX 65536    /* max size of extended attribute namelist (64k) */ 
#define MAX_EAs_ONEFILE  ?         /* max number of EA entry in one file,still no idea about this,have we set a limitation for this?*/

Testcases

we concentrated on feature,stress and boundary test,and then formalize these into a testing tool package.

1.Single-node Case,all cases scheduled in single_xattr_run.sh

1.Feature test,including add,update,remove,list functionality on commonfile/directory/symlink,also check different namespace(user,security,system,trusted).do random update on EAs(include random name_size and random value_sz,and its string value),moreeover,a sanity check should be conducted under a series of block and cluster size(-b 1k -C 4k,-b 4k -C 4k,-b 4k,-C 32k)

2.Boundary test,firstly test each argument which  exactly meet the limitation we documented above separately,then mix up together.

3.Concurrent operations(update/read) test with multiple forked processes against one file,father be responsible for a number of entry's creation,after that, the rest of children take race to update all this entries,meanwhile,the father process read all entries,and check the consistency of all retrieved xattr value. 

4.Multiple file test,manipulates thousands of file simultaneously via spreading the same amount of processes to perform xattr add/update and content modification together.

5.Stress test,punch the test by tuning workload extremely high,including file_nums,iteration_nums,EA_nums,EA_size,EAName_size.it's up to user's flavor:
currently,my example is ./single_xattr_run.sh -i 1000 -x 10000 -n user -l 250 -s 40000 -o logs -d /dev/sdd1 /storage

 

2.Multi-nodes Case

NOTE:To launch the multi-nodes test,need to install openmpi first,and a configuration of ssh or rsh passwordless access also needed in advance.

For the generic/basic mulitinode testing program,it was obtained by the help of MPI apis to populates a fixed number of testing process(Rank0~rankN) on multi-nodes,my testing idea as followings,

Step 1. Rank0(root rank) help to creating the testing file,rest ranks
wait its completion,then open with rw mode.

for (i=0;i<xattr_entry_nums;i++)
do

Step 2. Rank0(root rank) help to create the EA entry on testing
file(normal,directory,symlink) ==Meanwhile,all none-root ranks wait
until the completion of this creation.
                                            
Step 3.All none-root ranks take a race to perform concurrent updates,or remove&&add upon the
newly added EA entry,while the rank0 take a race to read this EA entry.and check the consistency of retrieved data as well.

done

Step 4. All ranks take a race to list all EAs concurrently.

Step 5. Ranks take race to remove all EAs.

Step 6. After removal,rank0 verify its emptiness of xattr list.

By tunning the workload and parameter setting(viaxattr_multinode_run.sh),we perform the /utility/limitation/boundary/stress/ testcases on multinodes.

1.Feature/utility test,,including concurrent add,update,remove,list functionality test  on commonfile/directory/symlink,also check different namespace(user,security,system,trusted) through multiple nodes.

2.Limitation/boundary test,check all limitations we set above.

3.Stress test,punch the test by tuning workload extremely high,including file_nums,iteration_nums,EA_nums,EA_size,EAName_size,rank_nums.

3. ACLs and Security EA test for Xattr

1. Generic ACLs Test.

2. Default ACLs Test.

3. ACLs Test With File Utilities.

4. Copying ACLs Test.

5. Archive and Restore ACLs Test.

6. ACLs Limitation Test.

7. Huge ACLs Entries Test.

8. Stress ACLs Test.

 

4. Additional boundary tests suggested by Tao

1. non-xattr test.
2. simple in-inode-xattr test(it will include set a small xattr, a large 
xattr).
3. in-inode-xattr-extension test. it will fill up the in-inode space and 
then extend the xattr to an outside xattr block. you need to test t4 
scenarios at least.
   1) insert a small xattr.
   2) insert a large xattr.
   3) replace a small xattr in-inode to a large one(value_size>80)(which 
will remove the old in-inode xattr and add it in outside block).
   4) replace a small xattr in-inode to a large one(value_size<80).
4. outside-xattr-block test.
   1) insert a small xattr.
   2) insert a large xattr.
   3) replace xattr to a small one((value_size<80)) which then can be 
inserted into in-inode and deleted from xattr block.
   4) replace xattr to a value(value_size>80) but the old one has a size 
of(48~80).
5. basic bucket-extension test.
   1) insert a small xattr.
   2) insert a large xattr.
   3) replace a small xattr in-inode to a large one(value_size>80)(which 
will remove the old in-inode xattr and add it in outside bucket).
   4) replace a small xattr in-inode to a large one(value_size<80).
6. basic bucket insert test.
   1) insert a small xattr.
   2) insert a large xattr.
   3) replace xattr to a small one((value_size<80)) which then can be 
inserted into in-inode and deleted from xattr bucket.
   4) replace xattr to a value(value_size>80) but the old one has a size 
of(48~80).

 

5. Combination tests for inline-data and inline-xattr

1) Filling-up test: inline-data consume less than (or equal to) max_inline_data - 256,
inline-xattr consume less or equal than  256
 
2) Disable inline-xattr test: inline-data consume more than max_inline_data - 256,which cause
inline-xattr disabled.

3) Disable inline-xattr test: shrink inline-data size to less than(or equal to)  max_inline_data -
256, which re-enable the inline-xattr.

4) Inline xattr reservation test: add inline-xattr entry first(to reserve the last 256 bytes), then try
to fill the inodes with inline-data to see if inline-xattr will get
affected.

 

TestStatus

Kernel/Patches

Arch/Nodes

Ocfs2 Options

Testing Report

Ocfs2-Tools

Testing Tool

Date

Coverage

2.6.26-rc4
Batches[14s/15]+0016

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,datavolume,nointr

Single-Node Test,Refer to testing log:xattr_test_log-20080630-165712.log

1.Feature test=>Passed with user/trusted mode on normalfile/directory,while all system/security modes failed,and all EA operations also failed on symlink file.

2.Boundary test,all limitation test Passed.

3.Stress test by single_xattr_run.sh -i 1000 -x 10000 -n user -l 250 -s 40000 -o logs -d /dev/sdd1 /storage, failed at a kernel panic: kernel_panic_output_20080630 ,and its dmesg error message:dmesg_error_20080630

Latest tools src built from git repo

xattr_test_20080630.tgz

06/30/2008

2.6.26-rc4
Batches[14s/15]+0016+entry_add_0630.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,datavolume,nointr

Single-Node Test:
1.Verify bug 987 with tiger's entry_add_0630.patch.
2.Found new bug:988

Latest Src build from git repo

xattr_test_0702.tgz

07/02/2008

2.6.26-rc4
Batches[14s/15]+0016+entry_add_0630.patch+0001

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,datavolume,nointr

Single-Node Test:
Verify bug 988

Latest Src build from git repo

xattr_test_0703.tgz

07/03/2008

2.6.26-rc8
Batches[14s/15]+0016+entry_add_0630.patch+0001

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Multi-Node Test:
Feature/utility Test: Passed
Boundary Test: Passed
Stress Test: bug 989

Latest Src build from git repo

xattr_test_0708.tgz

07/08/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Multi-Node Test:
Feature/utility Test: Passed
Boundary Test: Passed
Stress Test: Passed,Verfied bug989
Multi-node testing tool enhancement

Latest Src build from git repo

xattr_test_0709.tgz

07/09/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Multi-Node Test:
Stress Test: Found bug:990

Latest Src build from git repo

xattr_test_0709.tgz

07/10/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Single/Multiple Tool Enhancement

Latest Src build from git repo

xattr_test_0713.tgz

07/13/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Single Tool Enhancement:
Add Concurrent Update/Read testcase with multiple processes.
Single/Multiple Node Test:
bug 990 also could be reproduced by newly added testcase in single-node test.

Latest Src build from git repo

xattr_test_0715.tgz

07/15/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Multiple-node Tool Enhancement:
check consistency of retrieved data when reading.
Single/Multiple Node Test:
bug 990 also could be reproduced in multiple-node test.

Latest Src build from git repo

xattr_test_0716.tgz

07/16/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Single-node Tool Enhancement:
Add multiple file testcase.
Single/Multiple Node Test:
bug 994 found.

Latest Src build from git repo

xattr_test_0720.tgz

07/20/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=4k
Clustersize=32k
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Single/Multiple Node Test:
bug 995 found.

Latest Src build from git repo

xattr_test_0720.tgz

07/21/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch+0017-Add-rw_semaphore-for-xattr.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Single/Multiple Node Test:
verify bug 990,995.

Latest Src build from git repo

xattr_test_0722.tgz

07/22/2008

2.6.26-rc9
Batches[14s/15]+0016+entry_add_0630.patch+0001+0016-Bug-fix-for-wrong-journal-dirty.patch+0017-Add-rw_semaphore-for-xattr.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Single/Multiple Node Coverage Test:

Latest Src build from git repo

xattr_test_0722.tgz

07/26/2008

ocfs2-xattr-coverage-test-report-20080726

2.6.26-rc9 with latest 15 xattr patches

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Overall Single-Node Test:
Verified all existed bugs,and no new bugs found.
The full testcases for all combinations of block_sz and cluster_sz passed.
Testing logs: ocfs2_xattr_single_node_test_log.tgz

Latest Src build from git repo

xattr_test_0813.tgz

08/13/2008

ocfs2-xattr-single-node-test-20080813

2.6.26-rc9 with latest 15 xattr patches

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Overall Single-Node Test:
The full testcases for all combinations of block_sz and cluster_sz passed.
Testing logs: ocfs2_xattr_multiple_node_test_log.tgz

Latest Src build from git repo

xattr_test_0814.tgz

08/14/2008

ocfs2-xattr-multiple-node-test-20080814

2.6.26-rc9 with latest 15 xattr patches

x86_64/2 Nodes

/dev/sdc5
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Source Merge for single-node test

Latest Src build from git repo

xattr_test_0905.tgz

09/05/2008

2.6.26-rc9 with latest 15 xattr patches

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Source Merge for multiple-nodes test:
The xattr test tools has been ready for mailing out the patches.

Latest Src build from git repo

xattr_test_0906.tgz

09/06/2008

2.6.26-rc9 with latest 15 xattr patches

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Mail out the patches for xattr tests

Latest Src build from git repo

xattr_test_patches.tgz

09/08/2008

2.6.26-rc9 with latest 15 xattr patches

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Modify multiple launcher with remote_mount.py support

Latest Src build from git repo

xattr_test_0925.tgz

09/25/2008

2.6.26-rc9 with latest 15 xattr patches

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2
Mount Options:
netdev,nointr

Add multiple_run.sh for all existing multi-nodes testcases

Latest Src build from git repo

multiple_run.sh

09/25/2008

2.6.27-rc3 with xattr patches(Mark's latest mainline kernel)

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Overall tests for xattr with latest xattr testing suite in both single-node and multi-node modes
xattr-single-run-logs.tgz
xattr-multiple-run-logs.tgz

Latest Src build from git repo

xattr_tests_20081015.tgz

10/15/2008

2.6.27 with xattr patches

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Overall tests for xattr with latest xattr testing suite in both single-node and multi-node modes
xattr-single-run-logs-081020.tgz
xattr-multiple-run-logs-081020.tgz

Latest Src build from git repo

xattr_tests_20081015.tgz

10/20/2008

xattr-single-test-gcov-report-081023
xattr-multiple-test-gcov-report-node5-081023
attr-multiple-test-gcov-report-node6-081023

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window),merge_window branch 2.6.28-rc4 kernel(with v3 xattr patch set)

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Overall tests for xattr with latest xattr testing suite in both single-node and multi-node modes:PASS
ocfs2-v3-xattr-single-test-logs-20081114.tgz
ocfs2-v3-xattr-multiple-test-logs-20081114.tgz

Latest Src build from git repo,applied tiger's v2 mkfs patch
mkfs_patch_v2.tgz

xattr_tests_20081114.tgz

11/14/2008

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window),merge_window branch 2.6.28-rc4 kernel(with v5 acls patch set)

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Sanity check and stress test for ACLs: Bug 1048 1049

Latest Src build from git repo,applied tiger's v2 mkfs patch
mkfs_patch_v2.tgz

acl_tests_20081125.tgz

11/25/2008

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window),merge_window branch 2.6.28-rc4 kernel(with v3 xattr patch set)

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Additional Func Tests Dev: 4 out of 6 testcases completed
xattr_tests_1203.tgz
Bug 1052
ACLs Testing Script Dev: v2 patch completed with Marcos's comments.
acl_tests_1203.tgz

Latest Src build from git repo,applied tiger's v2 mkfs patch
mkfs_patch_v2.tgz

xattr_tests_1203.tgz

12/03/2008

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window),merge_window branch 2.6.28-rc7 kernel(with v3 xattr patch set)

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Additional Func Tests Dev: 4 out of 6 testcases completed
xattr_tests_1203.tgz
Bug 1054

Latest Src build from git repo,applied tiger's v2 mkfs patch
mkfs_patch_v2.tgz

xattr_tests_1203.tgz

12/04/2008

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window),merge_window branch 2.6.28-rc7 kernel(with v3 xattr patch set)
0001-ocfs2-xattr-Always-updating-ctime-in-xattr-set.patch
0002-ocfs2-xattr-Remove-one-extend_trans-and-add-its-cre.patch
0003-ocfs2-xattr-bug-fix-for-credits-of-creating-index-b.patch
0001-ocfs2-xattr-Always-update-xattr-search-when-creatin.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Additional Func Tests Dev: 6 out of 6 testcases completed
xattr_tests_1205.tgz
Bug 1055
verified bugs 1052 1054 1055

Latest Src build from git repo,applied tiger's v2 mkfs patch
mkfs_patch_v2.tgz

xattr_tests_1205.tgz

12/05/2008

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window),merge_window branch 2.6.28-rc7 kernel(with v3 xattr patch set)
0001-ocfs2-xattr-Always-updating-ctime-in-xattr-set.patch
0002-ocfs2-xattr-Remove-one-extend_trans-and-add-its-cre.patch
0003-ocfs2-xattr-bug-fix-for-credits-of-creating-index-b.patch
0001-ocfs2-xattr-Always-update-xattr-search-when-creatin.patch
0001-ocfs2-calculate-and-reserve-xattr-s-value-credits-i.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Inline Data&Xattr Combination Test Dev: 4 out of 4 testcases completed
xattr_tests_1208.tgz
Verified Bug 1048

Latest Src build from git repo,applied tiger's v2 mkfs patch
mkfs_patch_v2.tgz

xattr_tests_1208.tgz

12/08/2008

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git xattr-buckets-2),attr-buckets-2 2.6.28-rc7 kernel(with v4 xattr patch set)
0001-ocfs2-xattr-Always-updating-ctime-in-xattr-set.patch
0002-ocfs2-xattr-Remove-one-extend_trans-and-add-its-cre.patch
0003-ocfs2-xattr-bug-fix-for-credits-of-creating-index-b.patch
0001-ocfs2-xattr-Always-update-xattr-search-when-creatin.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Thorough Xattr Tests against xattr-buckets-2 branch on joel's tree : Blocked.
Found Bug 1057 http://oss.oracle.com/bugzilla/show_bug.cgi?id=1059 1059]

Latest Src build from git repo,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/10/2008

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git xattr-buckets-2),attr-buckets-2 2.6.28-rc7 kernel(with v4 xattr patch set)
0001-ocfs2-xattr-Always-updating-ctime-in-xattr-set.patch
0002-ocfs2-xattr-Remove-one-extend_trans-and-add-its-cre.patch
0003-ocfs2-xattr-bug-fix-for-credits-of-creating-index-b.patch
0001-ocfs2-xattr-Always-update-xattr-search-when-creatin.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Thorough Xattr Tests against xattr-buckets-2 branch on joel's tree
Verified Bug 1057 http://oss.oracle.com/bugzilla/show_bug.cgi?id=1059 1059]

Latest Src build from git repo,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/12/2008

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window.prev)
last commitid:6c53227d42dcf9d8cc040e82b694684d130ebd0c ocfs2/quota: sparse fixes for quota.
0001-ocfs2-xattr-Always-updating-ctime-in-xattr-set.patch
0002-ocfs2-xattr-Remove-one-extend_trans-and-add-its-cre.patch
0003-ocfs2-xattr-bug-fix-for-credits-of-creating-index-b.patch
0001-ocfs2-xattr-Always-update-xattr-search-when-creatin.patch

x86_64/2 Nodes

/dev/sdd1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Xattr multi-nodes tests against mark's merge_window.prev branch
All testcases PASSED xattr-multinodes-tests-log-on-merge-window-prev.tgz

Latest Src build from git repo,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/16/2008

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git xattr-buckets-2)
last commitid:8356440279b70458993e518e87ef6868b57b9256 ocfs2: Pass xs->bucket into ocfs2_add_new_xattr_bucket().
0001-ocfs2-xattr-Always-updating-ctime-in-xattr-set.patch
0002-ocfs2-xattr-Remove-one-extend_trans-and-add-its-cre.patch
0003-ocfs2-xattr-bug-fix-for-credits-of-creating-index-b.patch
0001-ocfs2-xattr-Always-update-xattr-search-when-creatin.patch

x86_64/2 Nodes

/dev/sde1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Thorough tests with both single&multiple node mode against joel's xattr-buckets-2 branch
All testcases PASSED xattr-single-node-tests-on-buckets2-branch.tgz
Upload new attachment "xattr-multi-nodes-tests-on-buckets2-branch.tgz"

Latest Src build from git repo,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/16/2008

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git metaecc)
last commitid:c583f98fca4aa7a813616a87fc6b40469b06ba50 ocfs2: One more hamming code optimization.
0001-ocfs2-xattr-Always-updating-ctime-in-xattr-set.patch
0002-ocfs2-xattr-Remove-one-extend_trans-and-add-its-cre.patch
0003-ocfs2-xattr-bug-fix-for-credits-of-creating-index-b.patch
0001-ocfs2-xattr-Always-update-xattr-search-when-creatin.patch

x86_64/2 Nodes

/dev/sde1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Thorough tests with both single&multiple node mode against joel's metaecc branch:
All testcases PASSED other than bs=512 and 1k cases(which encountered a mount failure due to sys dirs not been inlined) xattr-single-node-tests-on-metaecc-branch.tgz
xattr-multi-nodes-tests-on-metaecc-branch.tgz

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/17/2008

Mark's git tree(git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2.git merge_window
last commitid:3a695130b33df356ecd11d1641bfab47f7bd9795: Add xattr support checking in init_security.

x86_64/2 Nodes

/dev/sde1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Thorough tests in single-node&multi-nodes mode against Mark's merge_window branch:
All testcases PASSED in multi-nodes test, while hit a bug in single-node test, Bug 1063
xattr-single-node-tests-on-merge-window-branch.tgz xattr-multi-nodes-tests-on-merge-window-branch.tgz

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/19/2008

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git mergefixup
last commitid:0eff3c4a4009ebd9d69df0a5916533cf95ee9af6: Add xattr support checking in init_security.

x86_64/2 Nodes

/dev/sde1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Thorough tests in single node mode against joel's merge-fixup branch:
All testcases PASSED xattr-single-node-tests-on-mergefixup-branch.tgz

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/19/2008

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git mergefixup
last commitid:0eff3c4a4009ebd9d69df0a5916533cf95ee9af6: Add xattr support checking in init_security.

x86_64/2 Nodes

/dev/sde1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Thorough tests in multiple nodes mode against joel's merge-fixup branch:
Blocked by bug 1065

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

12/20/2008

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git mergefixup
last commitid:0eff3c4a4009ebd9d69df0a5916533cf95ee9af6: Add xattr support checking in init_security.

x86_64/2 Nodes

/dev/sde1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Additional testcases: 1.patch 2.patch

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

1/24/2009

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git cacheme
last commitid:196a0744f75e0b804aa523acda248c7e4a04f090: Pass ocfs2_caching_info into ocfs_init_*_extent_tree().

x86_64/2 Nodes

/dev/sdb1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Multi-node tests: All testcases passed
Testing log:
single-test-log-on-cacheme.tgz multi-test-log-on-cache.tgz

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

2/22/2009

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git cacheme
last commitid:196a0744f75e0b804aa523acda248c7e4a04f090: Pass ocfs2_caching_info into ocfs_init_*_extent_tree().
0001-ocfs2-set-gap-to-seperate-entry-and-value-when-xatt.patch
0002-ocfs2-lock-the-metaecc-process-for-xattr-bucket.patch

x86_64/2 Nodes

/dev/sdb1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Single-node&Multi-nodes tests: All testcases passed
Testing log:
tiger_xattr_patch_single_test.tgz tiger_xattr_patch_multiple_test.tgz

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

2/26/2009

Joel's git tree(git://oss.oracle.com/git/jlbec/linux-2.6.git cacheme
last commitid:196a0744f75e0b804aa523acda248c7e4a04f090: Pass ocfs2_caching_info into ocfs_init_*_extent_tree().
reserve_xattr_block_for_new_directory_with_inline_data
tweak_to_get_the_maximum_inline_data_size_with_xattr
0002-ocfs2-lock-the-metaecc-process-for-xattr-bucket.patch
Use_xs_bucket_to_set_xattr_value_outside

x86_64/2 Nodes

/dev/sdb1
Blocksize=512/1k/4k
Clustersize=4k/32k/1M
Slots=4
Nodes=2

Single-node&Multi-nodes tests: All testcases passed
Testing log:
latest_tao_patch_single_xattr_test.tgz latest_tao_patch_multiple_xattr_test.tgz

Latest Src tree from metaecc branch,applied tiger's v2 mkfs&debugfs patch for xattr support
mkfs_patch_v2.tgz

xattr_tests_1210.tgz

3/12/2009

Testing Tools

Currently,since I've not got a svn/git repo for source code,I just kept my latest tools src locally on testing nodes,will move to a proper repo soon once get one.

Name

Script / Program

Description

Technology

#nodes

Useful?

What is tested

xattr_test

single_xattr_test.c
single_xattr_run.sh

These script and c program together help to coordinate xattr test on single node,including feature and stress test.

Shell,C

1

Yes

Check basic xattr functionality on ocfs2 on single node,and stress the the test by tuning workload,also emulate a race to perform concurrent operations on xattr between multi-nodes.

multinode_xattr_test.c
multinode_xattr_run.sh

propagate processes on multiple nodes to take a race for xattr operations on one file

C,Shell,Openmpi

2

Yes


2012-11-08 13:01