Whamcloud - gitweb
fs/lustre-release.git
15 years agoFixed the memory leak cause by the typo
deshmukh [Thu, 22 Jan 2009 04:33:47 +0000 (04:33 +0000)]
Fixed the memory leak cause by the typo
b=18288
i=huanghua
i=jxiong

15 years agoUpdated for the next bi-weekly build of 2.0
stinson1947 [Wed, 21 Jan 2009 21:51:26 +0000 (21:51 +0000)]
Updated for the next bi-weekly build of 2.0

15 years agob=16895
girish [Wed, 21 Jan 2009 18:38:25 +0000 (18:38 +0000)]
b=16895
i=adilger (o=johann)
i=girish

don't LASSERT on read-only device

15 years agob=17310
yury [Wed, 21 Jan 2009 16:49:55 +0000 (16:49 +0000)]
b=17310
r=johann

- tmp fix for long connect rpc interpret causing the assert

15 years agoBranch HEAD
huanghua [Wed, 21 Jan 2009 11:43:31 +0000 (11:43 +0000)]
Branch HEAD
b=18267
i=yong.fan
i=rahul.deshmukh
i=adilger

handle different set_info protocol: in interop mode, val might be NULL.

15 years agob=18291
girish [Wed, 21 Jan 2009 11:17:58 +0000 (11:17 +0000)]
b=18291
i=deen

Fix typo from commit of bug 17953

15 years agoBranch HEAD
liangzhen [Wed, 21 Jan 2009 07:59:32 +0000 (07:59 +0000)]
Branch HEAD

Lost comma in new added sysctl table

15 years agoBranch HEAD
fanyong [Wed, 21 Jan 2009 03:04:46 +0000 (03:04 +0000)]
Branch HEAD
b=15691
i=huanghua
i=yep

Another diagnostic patch to collect more log when error.

15 years agoBranch HEAD
tianzy [Wed, 21 Jan 2009 02:56:42 +0000 (02:56 +0000)]
Branch HEAD
take refcount of export when quotacheck is going on
b=18126
i=shadow
i=panda

15 years agoFor extent locks (that are `asynchronous', that is, enqueued through ptlrpcd)
nikita [Tue, 20 Jan 2009 20:06:45 +0000 (20:06 +0000)]
For extent locks (that are `asynchronous', that is, enqueued through ptlrpcd)
CLIO checks lock->l_granted_mode and accesses lock->l_lvb_data in its
completion AST and in the lock reply upcall (called from
osc_enqueue_fini()). As such things were never done in the pre-existing code,
execution of completion AST and reply upcall is not serialized.

Take lock and resource spin-locks manually to avoid races.

b=17927
i=oleg.drokin@sun.com
i=h.huang@sun.com

15 years agofix a typo
nikita [Tue, 20 Jan 2009 20:03:28 +0000 (20:03 +0000)]
fix a typo

15 years agoBranch HEAD
adilger [Tue, 20 Jan 2009 16:12:45 +0000 (16:12 +0000)]
Branch HEAD
Fix ll_opc2str() due to new DQACQ opcode number change.
i=h.huang (original patch)
i=yong.fan

15 years agomake fast reconnect for mds failover from different nid also.
shadow [Tue, 20 Jan 2009 13:11:56 +0000 (13:11 +0000)]
make fast reconnect for mds failover from different nid also.
Branch HEAD
b=18224

15 years agoBranch HEAD
yangsheng [Tue, 20 Jan 2009 05:56:23 +0000 (05:56 +0000)]
Branch HEAD
b=18056
i=adilger, tappro

Fix warnings during automake-1.9.
Author: Jim Garlick(LLNL)

15 years agob=17942
kalpak [Tue, 20 Jan 2009 04:57:11 +0000 (04:57 +0000)]
b=17942
i=adilger
i=girish

update FIEMAP structures and API to match upstream

15 years agob=17942
kalpak [Tue, 20 Jan 2009 04:43:38 +0000 (04:43 +0000)]
b=17942
i=adilger
i=girish

update fiemap structures and API to match upstream

15 years agob=5498
jxiong [Tue, 20 Jan 2009 04:30:21 +0000 (04:30 +0000)]
b=5498
r=nikita,adilger

Porting lloop driver to HEAD, and add a new test to verify the basic function of
lloop driver in sanity

15 years agoBranch HEAD
fanyong [Tue, 20 Jan 2009 01:33:29 +0000 (01:33 +0000)]
Branch HEAD
b=18182
i=tianzy
i=panda

Set stripe count as 1 and stripte index as 0 to make sure the file is created on first ost.

15 years agoBranch HEAD
adilger [Tue, 20 Jan 2009 00:20:21 +0000 (00:20 +0000)]
Branch HEAD
Fix a serious interoperability problem between quotas on HEAD and b1_x,
becuase the quota request messages had been assigned different message
numbers due to "conflict" with FLD_QUERY RPCs.  Since FLD_QUERY does
not exist in any released Lustre, that RPC message number was changed
instead and the DQACQ and DQREL RPCs now match b1_x.

This was made obvious by comparing the lustre_idl.h files between b1_8
and HEAD, so this patch also includes the (otherwise cosmetic) changes
to lustre_idl.h to make it match with b1_8.
b=17800

15 years agoBranch HEAD
johann [Mon, 19 Jan 2009 12:36:03 +0000 (12:36 +0000)]
Branch HEAD
b=18044
i=bobijam
i=vitaly

copy DISCARD_DATA flag if cp ast includes bl ast.

15 years agoBranch HEAD
liangzhen [Mon, 19 Jan 2009 08:57:06 +0000 (08:57 +0000)]
Branch HEAD

Socklnd protocol V3:
. dedicated connection for emergency message (ZC-ACK)
. keepalive ping

b=14634
i=isaac
i=maxim

15 years agoBranch HEAD
yangsheng [Thu, 15 Jan 2009 02:39:41 +0000 (02:39 +0000)]
Branch HEAD
b=17153
i=adilger, tappro

Remove 2.4 compatibility from HEAD.

15 years agowait until mds<>ost connected.
shadow [Sun, 11 Jan 2009 08:24:27 +0000 (08:24 +0000)]
wait until mds<>ost connected.
Branch HEAD
b=18150
i=grev

15 years agoBranch: HEAD
wangdi [Sat, 10 Jan 2009 08:45:14 +0000 (08:45 +0000)]
Branch: HEAD
fix journal handle problem.
b=13142
i=shadow,oleg

15 years agoChange sanity.sh to test "tar --xattr"
girish [Fri, 9 Jan 2009 18:06:42 +0000 (18:06 +0000)]
Change sanity.sh to test "tar --xattr"
b=15524
i=adilger
i=kalpak.shah

15 years agob=18114
yury [Fri, 9 Jan 2009 13:01:20 +0000 (13:01 +0000)]
b=18114
r=umka,bzzz

- patch from shadow which fixes use after free in lov_cleanup()

15 years agoBranch HEAD
fanyong [Fri, 9 Jan 2009 01:32:26 +0000 (01:32 +0000)]
Branch HEAD
b=18124
i=eric.mei
i=grev

Define "sec_cleanup" before use it.

15 years agoAdd configure option to allow repackaging of e2fsprogs as ldiskfsprogs. (by Jim Garlick)
girish [Thu, 8 Jan 2009 18:09:08 +0000 (18:09 +0000)]
Add configure option to allow repackaging of e2fsprogs as ldiskfsprogs. (by Jim Garlick)
b=17953
i=adilger
i=girish.shilamkar

15 years agoAdd configure option to allow repackaging of e2fsprogs as ldiskfsprogs. (by Jim Garlick)
girish [Thu, 8 Jan 2009 17:44:36 +0000 (17:44 +0000)]
Add configure option to allow repackaging of e2fsprogs as ldiskfsprogs. (by Jim Garlick)
b=17953
i=adilger
i=girish.shilamkar

15 years agoAdd configure option to allow repackaging of e2fsprogs as ldiskfsprogs. (By Jim Garlick)
girish [Thu, 8 Jan 2009 17:29:25 +0000 (17:29 +0000)]
Add configure option to allow repackaging of e2fsprogs as ldiskfsprogs. (By Jim Garlick)
b=17953
i=adilger
i=girish.shilamkar

15 years agoBranch HEAD
adilger [Thu, 8 Jan 2009 10:17:58 +0000 (10:17 +0000)]
Branch HEAD
Use __GFP_HIGHMEM so that the pages can use all of the available memory
on 32-bit machines.

b=17576
i=adilger (alex.zhuravlev original patch)
i=nikita

Use local "obd" variable in filter_preprw_write() instead of exp->exp_obd.

15 years agob=17694
vs [Thu, 8 Jan 2009 01:23:51 +0000 (01:23 +0000)]
b=17694
i=adilger

run the test in separate directory

15 years agoBranch HEAD
liangzhen [Wed, 7 Jan 2009 08:09:24 +0000 (08:09 +0000)]
Branch HEAD

lnet_parse_put() should re-match after lnet_eager_recv_locked()

b=17537
i=isaac
i=maxim

15 years agob=17710
zhanghc [Wed, 7 Jan 2009 08:07:04 +0000 (08:07 +0000)]
b=17710

uncommit the patch for further investigation

i=Andreas

15 years agoBranch HEAD
liangzhen [Wed, 7 Jan 2009 07:42:48 +0000 (07:42 +0000)]
Branch HEAD

. Fix for hitting ASSERTION(tx->tx_queued) in o2iblnd
. Enable neterror by default

b=17780
i=isaac
i=maxim

15 years agob=18108
pravins [Tue, 6 Jan 2009 18:14:49 +0000 (18:14 +0000)]
b=18108
i=huanghua
i=nathan

fix fid_pack() according to new seq allocation.

15 years agob=18068
pravins [Tue, 6 Jan 2009 17:58:25 +0000 (17:58 +0000)]
b=18068
i=umka
i=huanghua

update fld on every meta sequence replay.

15 years agoBranch HEAD
tianzy [Tue, 6 Jan 2009 04:23:41 +0000 (04:23 +0000)]
Branch HEAD
Additional patch for HEAD
b=16542
i=yong.fan

15 years agoBranch HEAD
tianzy [Tue, 6 Jan 2009 04:17:14 +0000 (04:17 +0000)]
Branch HEAD
Enforce op. quota file format for MDS too
b=18083
i=Yong Fan

15 years agoBranch HEAD
adilger [Tue, 6 Jan 2009 03:35:07 +0000 (03:35 +0000)]
Branch HEAD
Remove obsolete test script.

15 years agob=18080
yury [Mon, 5 Jan 2009 20:45:10 +0000 (20:45 +0000)]
b=18080
- fixes in test 35;

- OBD_RACE in all execution branches in ldlm_lock_decref_internal() to balance OBD_RACE in bl_ast
and prevent hanging.

15 years agob=18127
yury [Wed, 31 Dec 2008 16:21:06 +0000 (16:21 +0000)]
b=18127
- reformat after test 46a

15 years agob=17797
grev [Tue, 30 Dec 2008 15:36:19 +0000 (15:36 +0000)]
b=17797
i=H.Huang
test_57b remote mds fix

15 years agob=17710
zhanghc [Tue, 30 Dec 2008 06:48:40 +0000 (06:48 +0000)]
b=17710

add "sys.ldlm_timeout" as an option to the
MKFS.LUSTRE for setting "ldlm_timeout"

i=Johann
i=Nathan.Rutman

15 years agoBranch HEAD
fanyong [Tue, 30 Dec 2008 06:17:46 +0000 (06:17 +0000)]
Branch HEAD
b=17916
i=Hongchao.zhang
i=pravin.shelar

Initialize "lcf_cache" for liblustre case.

15 years agoBranch HEAD
tianzy [Mon, 29 Dec 2008 07:19:42 +0000 (07:19 +0000)]
Branch HEAD
fix test problems in test_18 of sanity-quota.sh
b=17985
i=shadow

15 years agorevert fix from bug 16417
shadow [Mon, 29 Dec 2008 06:18:15 +0000 (06:18 +0000)]
revert fix from bug 16417

15 years agoBranch HEAD
yangsheng [Sun, 28 Dec 2008 15:38:16 +0000 (15:38 +0000)]
Branch HEAD
b=17970
i=adilger, shadow

Update the wiretest.c

15 years agonow objid<2 is say 'this new ost' not zero objid.
shadow [Thu, 25 Dec 2008 06:30:22 +0000 (06:30 +0000)]
now objid<2 is say 'this new ost' not zero objid.

Branch HEAD
b=17890
i=umka

15 years agochecking maximal acl size before set.
shadow [Wed, 24 Dec 2008 21:41:57 +0000 (21:41 +0000)]
checking maximal acl size before set.

Branch HEAD
b=17636
i=umka
i=deen

15 years agob=18043
zhanghc [Wed, 24 Dec 2008 11:36:14 +0000 (11:36 +0000)]
b=18043

fix a bug in lov_ost_pool_extend, which
use "min" instead of "max" incorrectly

i=nathan.rutman
i=jc.lafoucriere

15 years agoBranch HEAD
fanyong [Wed, 24 Dec 2008 01:57:00 +0000 (01:57 +0000)]
Branch HEAD
b=18099
i=andrew.perepechko
i=tianzy

fix lfs quota output format to be compatible with b1_8

15 years agob=17839
grev [Tue, 23 Dec 2008 23:05:12 +0000 (23:05 +0000)]
b=17839
i=Brian
remote rundbench run fix

15 years agobranch: HEAD
ericm [Tue, 23 Dec 2008 18:24:11 +0000 (18:24 +0000)]
branch: HEAD
set default mgc-mgs flavor for liblustre.
b=17916
r=fanyong
r=zhanghc

15 years agoBranch HEAD
liangzhen [Tue, 23 Dec 2008 16:17:17 +0000 (16:17 +0000)]
Branch HEAD

Tag for performance tests

15 years agoBranch HEAD
yangsheng [Tue, 23 Dec 2008 16:08:48 +0000 (16:08 +0000)]
Branch HEAD
b=18061
i=johann, bobijam

Update kernel for SLES10 kernel-2.6.16.60-0.33.

15 years agoBranch HEAD
wangdi [Tue, 23 Dec 2008 16:02:03 +0000 (16:02 +0000)]
Branch HEAD
b=16117
add test script for 16117
i=adilger,johann

15 years agoBranch HEAD
yangsheng [Tue, 23 Dec 2008 15:29:04 +0000 (15:29 +0000)]
Branch HEAD
b=18060
i=johann, bobijam

Update to RHEL5 kernel-2.6.18-92.1.22.el5.

15 years agob=17589
grev [Tue, 23 Dec 2008 13:09:54 +0000 (13:09 +0000)]
b=17589
i=Nathan.Rutman
i=Robert.Read
zconf_umount_client{s} fix: kill ps-s before force umount

15 years ago b=18080
yury [Tue, 23 Dec 2008 12:53:20 +0000 (12:53 +0000)]
 b=18080
 r=shadow

 - handle possible hangup while waiting for children processes in test_35;

15 years agoformat:
bobijam [Tue, 23 Dec 2008 07:15:31 +0000 (07:15 +0000)]
format:
* trim trailing white spaces
* \t -> ' ' * 8

15 years agoBranch HEAD
bobijam [Tue, 23 Dec 2008 07:03:29 +0000 (07:03 +0000)]
Branch HEAD
b=17046
i=johann
i=oleg.drokin (green)

Reconstruct flock completion ast to make it in line with ldlm_completion_ast().

15 years agofix typo and grammar in a comment.
nikita [Tue, 23 Dec 2008 05:59:54 +0000 (05:59 +0000)]
fix typo and grammar in a comment.

15 years agoreplace LDLM_LOCK_PUT() with LDLM_LOCK_RELEASE() as needed.
nikita [Tue, 23 Dec 2008 05:58:30 +0000 (05:58 +0000)]
replace LDLM_LOCK_PUT() with LDLM_LOCK_RELEASE() as needed.

b=18050
i=oleg.drokin@sun.com
i=johann@sun.com

15 years agoBranch HEAD
bobijam [Tue, 23 Dec 2008 05:38:36 +0000 (05:38 +0000)]
Branch HEAD
b=18049
o=johann
i=adilger
i=zhenyu.xu (bobijam)

Descriptoin: aborting recovery hang on MDS
Details    : don't throttle destroy RPCs for the MDT.

15 years agoBranch HEAD
fanyong [Tue, 23 Dec 2008 05:18:53 +0000 (05:18 +0000)]
Branch HEAD
b=18081
i=andrew.perepechko
i=tianzy

quota usage should be transferred when chown/chgrp.

15 years agoBranch HEAD
huanghua [Tue, 23 Dec 2008 01:54:16 +0000 (01:54 +0000)]
Branch HEAD
b=17912

att=20801
i=grev
i=adilger

sync fail_loc with 1.8

15 years agoBranch HEAD
vitaly [Mon, 22 Dec 2008 21:32:34 +0000 (21:32 +0000)]
Branch HEAD
b=17971
i=green
i=shadow

initialize it_lock_mode & it_lock_handle in one place

15 years ago- replace CWARN with CDEBUG
yury [Mon, 22 Dec 2008 08:30:43 +0000 (08:30 +0000)]
- replace CWARN with CDEBUG

15 years agoBranch: HEAD
wangdi [Mon, 22 Dec 2008 04:26:16 +0000 (04:26 +0000)]
Branch: HEAD
b=16117
fix complie warning, found by shadow.
i=shadow

15 years agoBranch HEAD
bobijam [Mon, 22 Dec 2008 02:06:48 +0000 (02:06 +0000)]
Branch HEAD
b=16972
o=Brian Behlendorf (behlendorf1@llnl.gov)
i=robert.read (rread)
i=adilger

Fix request leaks.

15 years agoBranch HEAD
huanghua [Sun, 21 Dec 2008 07:07:22 +0000 (07:07 +0000)]
Branch HEAD
b=17880
i=alexey.lyashkov
i=yury.umanets

initialize the mdt_thread_info.mti_spec.no_create

15 years agoBranch HEAD
adilger [Sat, 20 Dec 2008 00:34:22 +0000 (00:34 +0000)]
Branch HEAD
Fix ptlrpc_init_xid() to properly shift "now" on 32-bit systems.
b=2066

15 years agoBranch HEAD
adilger [Sat, 20 Dec 2008 00:19:20 +0000 (00:19 +0000)]
Branch HEAD
Fix error message formatting in ptlrpc_connect_interpret().
Fix line wrapping at 80 columns.
Remove trailing whitespace.

15 years agoBranch HEAD
adilger [Fri, 19 Dec 2008 21:58:47 +0000 (21:58 +0000)]
Branch HEAD
Remove really, really ancient "#if 0" code.

15 years agoLand b_build_gate onto HEAD (20081219_2157)
johann [Fri, 19 Dec 2008 21:51:17 +0000 (21:51 +0000)]
Land b_build_gate onto HEAD (20081219_2157)
b=18078

Land the build gate branch to build HEAD since we are going to retire
b1_8_gate. No real changes here except indenting fixes.

15 years agore-vert previous commit
grev [Fri, 19 Dec 2008 20:11:53 +0000 (20:11 +0000)]
re-vert previous commit

15 years agob=17957
grev [Fri, 19 Dec 2008 18:45:42 +0000 (18:45 +0000)]
b=17957
i=Adilger
stop fn fix: return $? if do_facet failed

15 years agoBranch HEAD
adilger [Fri, 19 Dec 2008 18:06:02 +0000 (18:06 +0000)]
Branch HEAD
Use "lfs pool_list" instead of "poollist" to match "lctl pool_list" and
other "pool_*" commands that have an underscore.
b=18079
i=johann

15 years agoupdated for the next bi-weekly build of 2.0.
stinson1947 [Fri, 19 Dec 2008 06:02:25 +0000 (06:02 +0000)]
updated for the next bi-weekly build of 2.0.

15 years agob=17665
jxiong [Fri, 19 Dec 2008 03:15:03 +0000 (03:15 +0000)]
b=17665
r=nikita,zam

fix a problem in lov_lock_fits_into which used the wrong extent for matching.

15 years agob=17633
jxiong [Fri, 19 Dec 2008 02:58:02 +0000 (02:58 +0000)]
b=17633
r=nikita,zam

lockless io fixes for multistripe objects.

15 years agoBranch HEAD
fanyong [Fri, 19 Dec 2008 02:54:38 +0000 (02:54 +0000)]
Branch HEAD
b=16890
i=girish.shilamkar

small fixtures for quota test scripts

15 years agoBranch: HEAD
wangdi [Thu, 18 Dec 2008 17:12:40 +0000 (17:12 +0000)]
Branch: HEAD
b=16117
The patch from Andreas to handle the corrupt debug log nicely for lctl df.
i=adilger,wangdi

15 years agoBranch: HEAD
wangdi [Thu, 18 Dec 2008 17:05:35 +0000 (17:05 +0000)]
Branch: HEAD
fix typo of cmd tests replay-single 80
b=18011
i=Robert,Jay

15 years agoLand b_ldiskfs_gate onto HEAD (20081218_1420)
johann [Thu, 18 Dec 2008 15:03:42 +0000 (15:03 +0000)]
Land b_ldiskfs_gate onto HEAD (20081218_1420)
b=18078

Land the ldiskfs gate branch to ldiskfs HEAD since we are going to retire
b1_8_gate. Keep the journal checksum patch in the ldiskfs series since
it is already in the 1.6 & 2.0 ldiskfs series, but was not on 1.8.

15 years agoClear dev_rdonly flag for external journal devices (Andreas)
girish [Thu, 18 Dec 2008 14:46:45 +0000 (14:46 +0000)]
Clear dev_rdonly flag for external journal devices (Andreas)
b=18018
i=johann
i=girish

15 years agob=18028
yury [Thu, 18 Dec 2008 09:18:41 +0000 (09:18 +0000)]
b=18028

- handle failed cp_ast vs. bl_ast race correctly. Failed lock should not be found anymore. Almost the same patch as for 17645

15 years agoBranch HEAD
yangsheng [Thu, 18 Dec 2008 06:36:05 +0000 (06:36 +0000)]
Branch HEAD
b=17993
i=sheng.yang, johann

Author: Jim Garlick(LLNL)
Clear rq_rep_swab_mask before DEBUG_REQ;

15 years agob=17922
wangyb [Thu, 18 Dec 2008 03:30:25 +0000 (03:30 +0000)]
b=17922
i=sheng.yang
i=brian

use real vanilla kernel config/series

15 years agofile kernel-2.6.22-2.6-vanilla-x86_64.config was initially added on branch b1_6.
wangyb [Thu, 18 Dec 2008 02:39:59 +0000 (02:39 +0000)]
file kernel-2.6.22-2.6-vanilla-x86_64.config was initially added on branch b1_6.

15 years agofile kernel-2.6.22-2.6-vanilla-x86_64-smp.config was initially added on branch b1_6.
wangyb [Thu, 18 Dec 2008 02:39:58 +0000 (02:39 +0000)]
file kernel-2.6.22-2.6-vanilla-x86_64-smp.config was initially added on branch b1_6.

15 years agofile kernel-2.6.22-2.6-vanilla-i686.config was initially added on branch b1_6.
wangyb [Thu, 18 Dec 2008 02:39:57 +0000 (02:39 +0000)]
file kernel-2.6.22-2.6-vanilla-i686.config was initially added on branch b1_6.

15 years agofile kernel-2.6.22-2.6-vanilla-i686-bigsmp.config was initially added on branch b1_6.
wangyb [Thu, 18 Dec 2008 02:39:56 +0000 (02:39 +0000)]
file kernel-2.6.22-2.6-vanilla-i686-bigsmp.config was initially added on branch b1_6.

15 years agob=17674
yury [Wed, 17 Dec 2008 22:00:14 +0000 (22:00 +0000)]
b=17674
r=shadow,johann

- do not reset ns_connect_flags in reconnect if server was not upgraded

15 years agob=17466
yury [Wed, 17 Dec 2008 16:26:32 +0000 (16:26 +0000)]
b=17466
r=shadow,deen

- ports test_61d from 1.6.x to HEAD + fixes error case handling and does some cleanups.

15 years agob=17405
pravins [Wed, 17 Dec 2008 06:21:45 +0000 (06:21 +0000)]
b=17405
i=grev
i=rahul

set iam mode for multiple mds setup.

15 years agoBranch HEAD
yangsheng [Wed, 17 Dec 2008 05:03:18 +0000 (05:03 +0000)]
Branch HEAD
b=17459
i=adilger, bobijam

Make change to ext2_* api for BIG-ENDIAN environment.

15 years agoBranch HEAD
yangsheng [Wed, 17 Dec 2008 04:49:58 +0000 (04:49 +0000)]
Branch HEAD
b=16208
i=adilger, johann

Implement OBD_PING use ioctl() instead of /proc.

15 years agoBranch HEAD
yangsheng [Wed, 17 Dec 2008 04:43:18 +0000 (04:43 +0000)]
Branch HEAD
b=17379
i=johann, bobijam

Fixed symlink depth test case.