Whamcloud - gitweb
fs/lustre-release.git
16 years agoBranch b1_8_gate
tianzy [Mon, 17 Nov 2008 06:19:45 +0000 (06:19 +0000)]
Branch b1_8_gate
fix the error handling on quota slaves
i=johann
i=panda

16 years ago b=17479
yury [Thu, 13 Nov 2008 09:43:36 +0000 (09:43 +0000)]
 b=17479
 r=adilger,behlendorf1

 - avoid div/mod in lustre_hash code

16 years agoBranch b1_8_gate
tianzy [Fri, 24 Oct 2008 10:53:08 +0000 (10:53 +0000)]
Branch b1_8_gate
handle errors returned by lustre_swab_re{q,p}buf in quota_get_qdata() and
quota_copy_qdata()
b=17324
i=johann
i=panda

16 years agoBranch b1_8_gate
tianzy [Wed, 8 Oct 2008 12:30:52 +0000 (12:30 +0000)]
Branch b1_8_gate
fix compiling error when CONFIG_QUOTA isn't set.
b=16481
i=shadow
i=panda

16 years agoBranch b1_8_gate
tianzy [Wed, 8 Oct 2008 10:35:21 +0000 (10:35 +0000)]
Branch b1_8_gate
Fix writing over quota too much. Add a proc entry so that sync writes can
be triggered earlier, which improve accuracy of quota.
b=16642
i=johann
i=panda

16 years agoBranch b1_8_gate
anserper [Tue, 30 Sep 2008 11:56:17 +0000 (11:56 +0000)]
Branch b1_8_gate
b=17059
i=ZhiYong Tian
i=Johann Lombardi

Always build quota support with client

16 years agoBranch b1_8_gate
johann [Mon, 29 Sep 2008 16:12:25 +0000 (16:12 +0000)]
Branch b1_8_gate
b=17030
i=johann (original patch from Tianzy)
i=andrew

qctxt_wait_pending_dqacq() must return the same value as schedule_dqacq()
otherwise ost threads can be stuck in got_qunit() for a long time,
causing a watchdog storm during failover.

16 years agob=16777 16776
yury [Fri, 19 Sep 2008 19:02:05 +0000 (19:02 +0000)]
b=16777 16776
r=shadow, adilger, vitaly, robert

- new clas_hash and using it for connections, held locks on server, etc

16 years agoBranch b1_8_gate
tianzy [Thu, 11 Sep 2008 14:51:38 +0000 (14:51 +0000)]
Branch b1_8_gate
This patch includes att18982, att18236, att18237,att18983 and att19061 in bz14840.
Slove "quota recovery deadlock during mds failover", it includes:
1. fix osts hang when mds does failover with quotaon
2. prevent watchdog storm when osts threads wait for the
   recovery of mds
b=14840
i=johann
i=shadow
i=panda

16 years agoBranch b1_8_gate
johann [Mon, 8 Sep 2008 22:38:30 +0000 (22:38 +0000)]
Branch b1_8_gate
b=16260
i=tianzy
i=panda

The master must return EAGAIN to quota requests until the config is processed.

16 years agoBranch b1_8
tianzy [Fri, 5 Sep 2008 06:43:58 +0000 (06:43 +0000)]
Branch b1_8
Lustre returns an EQUOTA error before hitting the block quota hardlimit
b=16645
i=johann
i=panda

16 years agoBranch b1_8_gate
adilger [Sun, 24 Aug 2008 08:58:23 +0000 (08:58 +0000)]
Branch b1_8_gate
Quiet compiler warnings.
b=15981
i=robert.read
i=adilger (girish.shilamkar original patch)

16 years agob=16098
kalpak [Thu, 7 Aug 2008 09:36:57 +0000 (09:36 +0000)]
b=16098

Add URL for GPLv2 license in copyright headers

16 years agoBranch b1_8_gate
johann [Wed, 6 Aug 2008 16:25:14 +0000 (16:25 +0000)]
Branch b1_8_gate
b=16140

revert inadvertant commit in the quota code.

16 years agoBranch b1_8_gate
johann [Wed, 6 Aug 2008 08:29:17 +0000 (08:29 +0000)]
Branch b1_8_gate
b=16140
i=nathan
i=bobijam

pass journal_dev mount option during pre-mount.

16 years agoBranch b1_8
tianzy [Fri, 25 Jul 2008 13:34:38 +0000 (13:34 +0000)]
Branch b1_8
add quota statistics and sort out quota lproc code.
b=15058
i=johann
i=andrew.perepechko

16 years agob=16098
kalpak [Wed, 23 Jul 2008 18:15:36 +0000 (18:15 +0000)]
b=16098

Replace CFS license headers with Sun headers

16 years agoThis commit was manufactured by cvs2svn to create branch
cvs2svn [Sun, 6 Jul 2008 17:37:24 +0000 (17:37 +0000)]
This commit was manufactured by cvs2svn to create branch
'unlabeled-1.3.12.17.2.4.2'.

16 years agoBranch b1_8
anserper [Sun, 6 Jul 2008 17:37:12 +0000 (17:37 +0000)]
Branch b1_8
b=13904
i=Johann Lombardi(johann)
i=ZhiYong Tian(tianzy)

Adding 64-bit quota file support

16 years agoBranch b1_8
yangsheng [Sun, 6 Jul 2008 15:18:47 +0000 (15:18 +0000)]
Branch b1_8
b=16247
i=sheng.yang
i=joahnn

Allow liblustre sanity to exclude tests

16 years agob=13128
kalpak [Sat, 5 Jul 2008 10:50:17 +0000 (10:50 +0000)]
b=13128
i=adilger
i=johann

Add uid and gid options to lfs manpage. numeric uid/gid should be accepted with -user/-group option

16 years agoBranch b1_8
adilger [Sat, 5 Jul 2008 05:38:25 +0000 (05:38 +0000)]
Branch b1_8
Tag build version v1_7_50
i=terry

16 years agoBranch b1_8
adilger [Sat, 5 Jul 2008 05:31:44 +0000 (05:31 +0000)]
Branch b1_8
Allow both "clear" and "clear\n" to be written to ldlm.namespaces.*.lru_size.
Minor line wrapping and whitespace cleanup.
b=13868

16 years agoBranch b1_8
adilger [Fri, 4 Jul 2008 23:34:36 +0000 (23:34 +0000)]
Branch b1_8
Remove spurious LPROCFS_EXIT() that is breaking the semaphore refcount.
b=16288
i=adilger (wangdi original patch)

16 years agoBranch b1_8
adilger [Fri, 4 Jul 2008 23:32:23 +0000 (23:32 +0000)]
Branch b1_8
Remove trailing whitespace.

16 years agoBranch: b1_8
wangdi [Fri, 4 Jul 2008 22:13:08 +0000 (22:13 +0000)]
Branch: b1_8
add stride read-ahead test case
b=16172
i=adilger,nikita

16 years agoBranch b1_8
anserper [Fri, 4 Jul 2008 22:03:21 +0000 (22:03 +0000)]
Branch b1_8
b=15754
i=Johann Lombardi (johann)
i=ZhiYong Tian (tianzy)

Including manual pages into make files

16 years agoBranch: b1_8
wangdi [Fri, 4 Jul 2008 21:11:18 +0000 (21:11 +0000)]
Branch: b1_8
sync import destory with llog_thread and lprocfs access
b=15684
i=Robert, Jay

16 years agoadd recount protection for osc callbacks, so avoid panic on shutdown
shadow [Fri, 4 Jul 2008 07:31:10 +0000 (07:31 +0000)]
add recount protection for osc callbacks, so avoid panic on shutdown

Branch b1_8
b=15210
i=green
i=umka

16 years agoBranch b1_8
yangsheng [Fri, 4 Jul 2008 06:49:38 +0000 (06:49 +0000)]
Branch b1_8
b=16190

Back the change since OFED-1.3 build failed with this kernel.

16 years agoBranch b1_8
yangsheng [Fri, 4 Jul 2008 03:19:22 +0000 (03:19 +0000)]
Branch b1_8
b=16190
i=johann, shadow, zhenyu.xu

Update to RHEL5 kernel-2.6.18-92.1.6.el5.

16 years agoBranch b1_8
johann [Thu, 3 Jul 2008 07:56:27 +0000 (07:56 +0000)]
Branch b1_8
b=15950
i=wangdi
i=shadow

The direct IO path doesn't call check_rpcs to submit a new RPC once
one is completed. As a result, some RPCs are stuck in the queue
and are never sent.
Merge brw_interpret() and brw_interpret_oap().

16 years agoBranch b1_8
yangsheng [Thu, 3 Jul 2008 05:00:58 +0000 (05:00 +0000)]
Branch b1_8
b=16189
i=johann, zhenyu.xu

Update to RHEL4 kernel-2.6.9-67.0.20.

16 years agoBranch b1_8
yangsheng [Thu, 3 Jul 2008 04:13:36 +0000 (04:13 +0000)]
Branch b1_8
b=16041
i=shadow, zhenyu.xu

Fixed the name error.

16 years agoBranch b1_8
adilger [Wed, 2 Jul 2008 21:22:53 +0000 (21:22 +0000)]
Branch b1_8
Add description of setstripe parameters to lfs man page.
b=15754

16 years agocleanup usage obd_set_info_async, obd_get_info.
shadow [Wed, 2 Jul 2008 06:28:05 +0000 (06:28 +0000)]
cleanup usage obd_set_info_async, obd_get_info.
fix KEY_IS macro

Branch b1_8
b=14032
i=johann
i=deen

16 years agoBranch b1_8
anserper [Tue, 1 Jul 2008 22:53:21 +0000 (22:53 +0000)]
Branch b1_8
b=15754
i=Johann(johann)
i=ZhiYong(tianzy)

a manual page for llapi_quotactl

16 years agob=15284
kalpak [Tue, 1 Jul 2008 13:49:41 +0000 (13:49 +0000)]
b=15284
i=shadow

libattr package may not be installed on all systems

16 years agoBranch b1_8
tianzy [Tue, 1 Jul 2008 13:29:59 +0000 (13:29 +0000)]
Branch b1_8
when setquota is executed, quota limitation on slaves is always reset which leads
to this bug. Now only first setquota and cancelling quota will reset quota
limitation on slaves.
b=16053
i=andrew.perepechko
i=johann

16 years agoBranch b1_8
tianzy [Tue, 1 Jul 2008 10:10:28 +0000 (10:10 +0000)]
Branch b1_8
this bug only happens when inode quota limitation is very low(less than 12), so that inode quota unit is 1 at initialization. Now least quota qunit is 2,
instead of 1.
b=15758
i=andrew.perepechko
i=johann

16 years agoBranch b1_8
bwzhou [Tue, 1 Jul 2008 08:39:33 +0000 (08:39 +0000)]
Branch b1_8
b=11990
r=johann, bobijam

zeroed param upon every mount point

16 years agob=15284
kalpak [Tue, 1 Jul 2008 05:36:42 +0000 (05:36 +0000)]
b=15284
i=adilger
i=johann

OST crashes and subsequent e2fsck can lead to objects being moved to lost+found directory. Using the "ll_recover_lost_found_objs" tool, these objects can be retrieved and data can be salvaged by using the object ID saved in the fid.

16 years agob=13128
kalpak [Tue, 1 Jul 2008 04:15:11 +0000 (04:15 +0000)]
b=13128
i=adilger
i=johann

add -gid,-group,-uid-,-user options to lfs find

16 years agoBranch b1_8
bobijam [Tue, 1 Jul 2008 02:58:17 +0000 (02:58 +0000)]
Branch b1_8
b=12653
i=green, johann

Description: sanity test 65a fails if stripecount of -1 is set
Details    : handle -1 striping on filesystem in ll_dirstripe_verify

16 years agoBranch b1_8
wangdi [Mon, 30 Jun 2008 18:56:10 +0000 (18:56 +0000)]
Branch b1_8
Two minor fixes for stride read-ahead.
b=14483
i=adilger

16 years agodon't panic with sparse OST's indexes.
shadow [Mon, 30 Jun 2008 15:34:14 +0000 (15:34 +0000)]
don't panic with sparse OST's indexes.

Branch b1_8
b=16014
i=tappro
i=deen

16 years agobadly clear PG_Writeback bit in ll_ap_completion can produce false
shadow [Mon, 30 Jun 2008 12:20:20 +0000 (12:20 +0000)]
badly clear PG_Writeback bit in ll_ap_completion can produce false
positive assertion

Branch b1_8
b=14742
i=nikita
i=johan

16 years agob=13103 (patch by adilger)
kalpak [Sun, 29 Jun 2008 10:08:42 +0000 (10:08 +0000)]
b=13103 (patch by adilger)
i=kalpak,girish

upstream e2fsprogs calls uninit_groups feature as uninit_bg. So mkfs.lustre should check for uninit_bg feature also

16 years agoIn ldlm_resource_add_lock(), call to ldlm_resource_dump()
deen [Sat, 28 Jun 2008 09:41:44 +0000 (09:41 +0000)]
In ldlm_resource_add_lock(), call to ldlm_resource_dump()
starve other threads from the resource lock for a long time in
case of long waiting queue, so change the debug level from
D_OTHER to the less frequently used D_INFO.

b=15953
i=adilger
i=nathan.rutman

16 years agoBranch: b1_8
adilger [Sat, 28 Jun 2008 06:37:08 +0000 (06:37 +0000)]
Branch: b1_8
Allow ldiskfs and OFED module symbols to co-exist.
b=16112
i=brian
i=shadow

16 years agoBranch: b1_8
wangdi [Fri, 27 Jun 2008 18:15:16 +0000 (18:15 +0000)]
Branch: b1_8
miss stride_offset in stride read-ahead.
b=16172
i=Oleg,Johann

16 years agob=5188
grev [Fri, 27 Jun 2008 09:33:04 +0000 (09:33 +0000)]
b=5188
add test_68 to ALWAYS_EXCEPT list

16 years agoBranch b1_8
bwzhou [Fri, 27 Jun 2008 03:23:08 +0000 (03:23 +0000)]
Branch b1_8
b=15881
r=rread

rewrite sanity 129

16 years agob=15863
yury [Thu, 26 Jun 2008 12:29:08 +0000 (12:29 +0000)]
b=15863
r=shadow,wangdi
- fixes about missed llcd_put()

16 years agoBranch b1_8
anserper [Wed, 25 Jun 2008 21:34:56 +0000 (21:34 +0000)]
Branch b1_8
b=14010
i=Alexey(shadow)
i=Andreas(adilger)

type fixes

16 years agofix typo introduced by grev 2008-02-12 rev 1.35.2.16
grev [Wed, 25 Jun 2008 20:09:14 +0000 (20:09 +0000)]
fix typo introduced by grev 2008-02-12 rev 1.35.2.16

16 years agob=14384
grev [Wed, 25 Jun 2008 19:38:34 +0000 (19:38 +0000)]
b=14384
i=Adilger
remove tdir creation from run_one: the test has to create this dir
by itself if it needs this

b=16165
i=Jian.Yu
localize TYPE

16 years agoBranch b1_8
anserper [Wed, 25 Jun 2008 18:04:49 +0000 (18:04 +0000)]
Branch b1_8
b=15754
i=Johann(johann)
i=ZhiYong(tianzy)

lfs setquota interface enhancements

16 years agobranch: b1_8
ericm [Wed, 25 Jun 2008 17:55:36 +0000 (17:55 +0000)]
branch: b1_8
drop request with 0 timeout estimation.
b=14071
r=nathan
r=robert

16 years agoBranch b1_8
bwzhou [Wed, 25 Jun 2008 00:26:43 +0000 (00:26 +0000)]
Branch b1_8
b=13285

initialize save_errno

16 years agob=16153
grev [Tue, 24 Jun 2008 20:57:53 +0000 (20:57 +0000)]
b=16153
i=Johann
h2o2ib t-f fn

16 years agoBranch b1_8
bwzhou [Tue, 24 Jun 2008 16:23:56 +0000 (16:23 +0000)]
Branch b1_8
b=13285
r=adilger, bobijam (cid-1579)
  johann,  deen    (cid-1613)
  johann,  bobijam (cid-1685)

Coverity bugs

16 years agoBranch b1_8
johann [Tue, 24 Jun 2008 08:42:55 +0000 (08:42 +0000)]
Branch b1_8
b=15677
i=zhenyu.xu

Tiny fix when the MDS is also the client node. Don't change the checksum
type on MDS's OSCs.

16 years agoBranch b1_8
yangsheng [Tue, 24 Jun 2008 03:05:15 +0000 (03:05 +0000)]
Branch b1_8
b=15865
i=johann, shadow

Update to RHEL5 kernel-2.6.18-53.1.21.el5.
Fixed build failed for IA64 arch.

16 years agoBranch b1_8
bobijam [Tue, 24 Jun 2008 01:53:13 +0000 (01:53 +0000)]
Branch b1_8
b=15924
i=green, johann

Description: do not process already freed flock
Details    : flock can possibly be freed by another thread before it reaches
             to ldlm_flock_completion_ast.

16 years agob=14071
nathan [Mon, 23 Jun 2008 18:11:23 +0000 (18:11 +0000)]
b=14071
i=adilger
enable AT by default in 1.8

17 years agob=15316
brian [Fri, 20 Jun 2008 16:34:54 +0000 (16:34 +0000)]
b=15316

Forgotten kernel config file in the previous landing.

17 years agoBranch b1_8
yangsheng [Fri, 20 Jun 2008 05:48:44 +0000 (05:48 +0000)]
Branch b1_8
b=15593

i=shadow, johann

Force to remove SUID when the do_truncate() be called in 2.6.22 kernel.

17 years agob=15936
tappro [Thu, 19 Jun 2008 06:05:43 +0000 (06:05 +0000)]
b=15936
Unified last_rcvd for MDS/OSS
i:nathan,adilger

17 years agore-vert komaln 1.42.10.76.2.2 t-f changes unrelated to 14471
grev [Wed, 18 Jun 2008 21:41:10 +0000 (21:41 +0000)]
re-vert komaln 1.42.10.76.2.2 t-f changes unrelated to 14471

17 years agob=15870
brian [Wed, 18 Jun 2008 17:04:54 +0000 (17:04 +0000)]
b=15870
i=adilger

Forgot to remove the ChangeLog entry when I backed this patch out.

17 years agore-vert shadow b1_6 1.42.10.80 (robert.read 1.42.10.76.2.4 merge)
grev [Wed, 18 Jun 2008 15:18:20 +0000 (15:18 +0000)]
re-vert shadow b1_6 1.42.10.80 (robert.read 1.42.10.76.2.4 merge)
and 1.42.10.76.2.5 commits:
move debug code && sync to appropriate place

17 years agoBranch b1_8
bobijam [Wed, 18 Jun 2008 01:41:40 +0000 (01:41 +0000)]
Branch b1_8
b=14480
o=green
i=shadow, bobijam

Description: LBUG during stress test
Details    : Need properly lock accesses the flock deadlock detection list.

17 years agob=16090
grev [Tue, 17 Jun 2008 17:28:00 +0000 (17:28 +0000)]
b=16090
i=Deen
move export ${facet}_svc from start fn to mount_facet fn

17 years agobranch: b1_8
ericm [Tue, 17 Jun 2008 16:44:29 +0000 (16:44 +0000)]
branch: b1_8
don't report service est. for MSG_ERR during recovery.
b=15815
r=rread
r=nathan

17 years agorevert typo.
shadow [Tue, 17 Jun 2008 12:36:47 +0000 (12:36 +0000)]
revert typo.

17 years agofix oops in page fault handler.
shadow [Tue, 17 Jun 2008 06:35:12 +0000 (06:35 +0000)]
fix oops in page fault handler.
b=15837
i=nikita
i=green

17 years agoBranch b1_8
yangsheng [Mon, 16 Jun 2008 10:09:47 +0000 (10:09 +0000)]
Branch b1_8
b=15592
i=oleg, johann

Correctly handle the FS_RENAME_DOES_D_MOVE flag for Lustre.

17 years agoBranch b1_8
bwzhou [Sun, 15 Jun 2008 17:16:53 +0000 (17:16 +0000)]
Branch b1_8
b=14693
r=nathan

Don't return an error for conf_param processing failures

17 years agoBranch b1_8
bwzhou [Sun, 15 Jun 2008 16:25:36 +0000 (16:25 +0000)]
Branch b1_8
b=13285
r=adilger, deen

not to fail the import when -EFBIG is returned

17 years agoMerge b1_8 from b1_6 (20080613_1435)
robert.read [Fri, 13 Jun 2008 22:22:26 +0000 (22:22 +0000)]
Merge b1_8 from b1_6 (20080613_1435)

17 years agoBranch b1_8
bobijam [Fri, 13 Jun 2008 01:26:57 +0000 (01:26 +0000)]
Branch b1_8
b=14134
i=johann

minor fix handling '/etc/mtab' issue.

17 years agoBranch b1_8
bobijam [Thu, 12 Jun 2008 02:43:27 +0000 (02:43 +0000)]
Branch b1_8
b=15345
o=johann
i=nathan, bobijam

check --writeconf flag when forcing the index.

17 years agob=14384
grev [Wed, 11 Jun 2008 21:24:16 +0000 (21:24 +0000)]
b=14384
i=Adilger
test_9, test_10a fixes: do not break DIR value

17 years agoCleanup wrong mount_facet message
grev [Wed, 11 Jun 2008 20:45:58 +0000 (20:45 +0000)]
Cleanup wrong mount_facet message
(introduced by deen rev 1.42.10.74 b1_6)

17 years agoBranch b1_8
yangsheng [Wed, 11 Jun 2008 09:11:55 +0000 (09:11 +0000)]
Branch b1_8
b=15667
i=johann, andrew

Remove useless function echo_client_ubrw();

17 years agotimeout and assert in invalidate import.
shadow [Wed, 11 Jun 2008 06:45:21 +0000 (06:45 +0000)]
timeout and assert in invalidate import.
b=15716
i=rread
i=johann

17 years agob=14471
komaln [Tue, 10 Jun 2008 14:44:59 +0000 (14:44 +0000)]
b=14471
i=adilger
 replace /proc/fs/lustre access with lctl {get,set}_param in test-framework.sh

17 years agob=16019
grev [Mon, 9 Jun 2008 20:53:30 +0000 (20:53 +0000)]
b=16019
i=Maxim.Patlasov

get rid of quotation in "options lnet"

17 years agob=15711
grev [Sat, 7 Jun 2008 21:32:04 +0000 (21:32 +0000)]
b=15711
i=Tappro

insanity uses local cfg now; remove obsolete insanity-local cfg

17 years agob=15711
grev [Sat, 7 Jun 2008 21:28:16 +0000 (21:28 +0000)]
b=15711
i=Tappro

t-f and insanity fix to work properly with FAILURE_MODE=HARD

17 years agob=15226
yury [Sat, 7 Jun 2008 09:37:41 +0000 (09:37 +0000)]
b=15226
r=nikita,shadow
- fixes access to freed ns and pool on behalf of comming rpcs in finalization time;
- cleanups, comments.

17 years agoadd racer scripts on b1_8
walter [Thu, 5 Jun 2008 15:35:10 +0000 (15:35 +0000)]
add racer scripts on b1_8

17 years agoBranch b1_8
yangsheng [Wed, 4 Jun 2008 23:21:33 +0000 (23:21 +0000)]
Branch b1_8
b=15741
i=joahnn, zhenyu.xu

Update to RHEL5 kernel-2.6.18-53.1.19.el5.

17 years agoBranch b1_8
yangsheng [Wed, 4 Jun 2008 15:30:27 +0000 (15:30 +0000)]
Branch b1_8
b=15742
i=johann, zhenyu.xu

Update to RHEL4 kernel-2.6.9-67.0.15.

17 years agob=15440
yury [Wed, 4 Jun 2008 11:11:52 +0000 (11:11 +0000)]
b=15440
r=shadow,nikita
- fixes missed CFS_INIT_LIST_HEAD(&ns->ns_list_chain); in ldlm_namespace_new();
- cleanups about names and ns list work;
- remove ns from list before waiting to refc == 0.

17 years agoBranch b1_8
tianzy [Wed, 4 Jun 2008 04:18:26 +0000 (04:18 +0000)]
Branch b1_8
delete compatibility for 32bit qdata
b=15933
i=zhenyu.xu
i=johann

17 years agob=14471
komaln [Tue, 3 Jun 2008 08:03:14 +0000 (08:03 +0000)]
b=14471
i=nathan, andreas
To add -N option in lctl get_param which will print only path names.

17 years agoUpdated entry to support development of b1_8 branch (lustre 1.8.0).
stinson1947 [Fri, 30 May 2008 07:09:00 +0000 (07:09 +0000)]
Updated entry to support development of b1_8 branch (lustre 1.8.0).

17 years agoUpdated file to start development on new branch b1_8 based on b1_6.
stinson1947 [Fri, 30 May 2008 07:05:55 +0000 (07:05 +0000)]
Updated file to start development on new branch b1_8 based on b1_6.