Patch-ID# 112201-03
Keywords: vxconfigd vxdmpadm vxio vxspec vxdmp vxautoconfig vxdevwalk
Synopsis: Veritas Volume Manager 3.1.1m-ib: general patch for Solaris 2.7
Date: Mar/25/2003

Install Requirements: None                      
Solaris Release: 7

SunOS Release: 5.7

Unbundled Product: Veritas VxVM

Unbundled Release: 3.1.1_L10N

Xref: patch available for 2.6 as patch 112200-03 and for 2.8 as patch  112202-03

Topic: 

Relevant Architectures: sparc

BugId's fixed with this patch: 4295380 4313519 4350222 4379956 4406523 4409608 4413604 4414884 4416609 4418649 4454112 4458538 4464643 4466100 4468759 4479302 4480097 4490722 4504662 4505737 4505811 4506689 4548932 4554773 4626384 4627914 4634822 4656592 4671086 4706933

Changes incorporated in this version: 4295380 4418649 4479302 4504662 
4554773 4626384 4656592 4671086 4706933

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 106541-19 or greater 107473-07 or greater

Obsoleted by: 

Files included with this patch: 

/etc/init.d/vxnm-host_infod
/etc/init.d/vxvm-reconfig
/etc/init.d/vxvm-shutdown
/etc/init.d/vxvm-startup1
/etc/init.d/vxvm-startup2
/etc/init.d/vxvm-sysboot
/etc/rc0.d/K99vxvm-shutdown
/etc/rc2.d/S94vxnm-host_infod
/etc/rcS.d/S25vxvm-sysboot
/etc/rcS.d/S35vxvm-startup1
/etc/rcS.d/S85vxvm-startup2
/etc/rcS.d/S86vxvm-reconfig
/etc/vx/slib/libvxdiscovery.so
/kernel/drv/sparcv9/vxdmp
/kernel/drv/sparcv9/vxdmp.SunOS_5.7
/kernel/drv/sparcv9/vxdmp.SunOS_5.8
/kernel/drv/sparcv9/vxio
/kernel/drv/sparcv9/vxio.SunOS_5.7
/kernel/drv/sparcv9/vxio.SunOS_5.8
/kernel/drv/sparcv9/vxspec
/kernel/drv/sparcv9/vxspec.SunOS_5.7
/kernel/drv/sparcv9/vxspec.SunOS_5.8
/kernel/drv/vxdmp
/kernel/drv/vxdmp.SunOS_5.7
/kernel/drv/vxdmp.SunOS_5.8
/kernel/drv/vxio
/kernel/drv/vxio.SunOS_5.7
/kernel/drv/vxio.SunOS_5.8
/kernel/drv/vxspec
/kernel/drv/vxspec.SunOS_5.7
/kernel/drv/vxspec.SunOS_5.8
/sbin/vxconfigd
/sbin/vxconfigd.SunOS_5.7
/sbin/vxconfigd.SunOS_5.8
/sbin/vxdmpadm
/usr/lib/vxvm/bin/egettxt
/usr/lib/vxvm/bin/vxa5kchk
/usr/lib/vxvm/bin/vxapslice
/usr/lib/vxvm/bin/vxbootsetup
/usr/lib/vxvm/bin/vxcap-part
/usr/lib/vxvm/bin/vxcap-vol
/usr/lib/vxvm/bin/vxchksundev
/usr/lib/vxvm/bin/vxclustadm
/usr/lib/vxvm/bin/vxdevlist
/usr/lib/vxvm/bin/vxdiskrm
/usr/lib/vxvm/bin/vxdisksetup
/usr/lib/vxvm/bin/vxdiskunsetup
/usr/lib/vxvm/bin/vxedvtoc
/usr/lib/vxvm/bin/vxeeprom
/usr/lib/vxvm/bin/vxencap
/usr/lib/vxvm/bin/vxevac
/usr/lib/vxvm/bin/vxmirror
/usr/lib/vxvm/bin/vxpartinfo
/usr/lib/vxvm/bin/vxr5vrfy
/usr/lib/vxvm/bin/vxreattach
/usr/lib/vxvm/bin/vxrelocd
/usr/lib/vxvm/bin/vxresize
/usr/lib/vxvm/bin/vxrootmir
/usr/lib/vxvm/bin/vxslicer
/usr/lib/vxvm/bin/vxsparecheck
/usr/lib/vxvm/bin/vxswapreloc
/usr/lib/vxvm/bin/vxtaginfo
/usr/lib/vxvm/bin/vxunreloc
/usr/lib/vxvm/bin/vxunroot
/usr/lib/vxvm/diag.d/config.d/sparcv7/vxautoconfig.SunOS_5.7
/usr/lib/vxvm/diag.d/config.d/sparcv7/vxautoconfig.SunOS_5.8
/usr/lib/vxvm/diag.d/config.d/sparcv7/vxdevwalk.SunOS_5.7
/usr/lib/vxvm/diag.d/config.d/sparcv7/vxdevwalk.SunOS_5.8
/usr/lib/vxvm/diag.d/config.d/sparcv9/vxautoconfig.SunOS_5.7
/usr/lib/vxvm/diag.d/config.d/sparcv9/vxautoconfig.SunOS_5.8
/usr/lib/vxvm/diag.d/config.d/sparcv9/vxdevwalk.SunOS_5.7
/usr/lib/vxvm/diag.d/config.d/sparcv9/vxdevwalk.SunOS_5.8
/usr/lib/vxvm/diag.d/vxautoconfig
/usr/lib/vxvm/diag.d/vxconfigdump
/usr/lib/vxvm/diag.d/vxdevwalk
/usr/lib/vxvm/diag.d/vxdmpdebug
/usr/lib/vxvm/diag.d/vxkprint
/usr/lib/vxvm/diag.d/vxprivutil
/usr/lib/vxvm/lib/vxcommon
/usr/lib/vxvm/root/etc/vx/slib/libvxdiscovery.so
/usr/lib/vxvm/root/kernel/drv/sparcv9/vxdmp.SunOS_5.7
/usr/lib/vxvm/root/kernel/drv/sparcv9/vxdmp.SunOS_5.8
/usr/lib/vxvm/root/kernel/drv/sparcv9/vxio.SunOS_5.7
/usr/lib/vxvm/root/kernel/drv/sparcv9/vxio.SunOS_5.8
/usr/lib/vxvm/root/kernel/drv/sparcv9/vxspec.SunOS_5.7
/usr/lib/vxvm/root/kernel/drv/sparcv9/vxspec.SunOS_5.8
/usr/lib/vxvm/root/kernel/drv/vxdmp.SunOS_5.7
/usr/lib/vxvm/root/kernel/drv/vxdmp.SunOS_5.8
/usr/lib/vxvm/root/kernel/drv/vxio.SunOS_5.7
/usr/lib/vxvm/root/kernel/drv/vxio.SunOS_5.8
/usr/lib/vxvm/root/kernel/drv/vxspec.SunOS_5.7
/usr/lib/vxvm/root/kernel/drv/vxspec.SunOS_5.8
/usr/lib/vxvm/root/sbin/vxconfigd.SunOS_5.7
/usr/lib/vxvm/root/sbin/vxconfigd.SunOS_5.8
/usr/lib/vxvm/type/fsgen/fs.d/vxfs/vxsync
/usr/lib/vxvm/type/fsgen/vxplex
/usr/lib/vxvm/type/gen/vxinfo
/usr/lib/vxvm/type/gen/vxmake
/usr/lib/vxvm/type/gen/vxplex
/usr/lib/vxvm/type/gen/vxsd
/usr/lib/vxvm/type/gen/vxvol
/usr/lib/vxvm/type/raid5/vxmake
/usr/lib/vxvm/type/raid5/vxplex
/usr/lib/vxvm/type/raid5/vxsd
/usr/lib/vxvm/type/raid5/vxvol
/usr/lib/vxvm/voladm.d/bin/disk.ckinit
/usr/lib/vxvm/voladm.d/bin/disk.deport
/usr/lib/vxvm/voladm.d/bin/disk.doinit
/usr/lib/vxvm/voladm.d/bin/disk.encap
/usr/lib/vxvm/voladm.d/bin/disk.import
/usr/lib/vxvm/voladm.d/bin/disk.init
/usr/lib/vxvm/voladm.d/bin/disk.k-rm
/usr/lib/vxvm/voladm.d/bin/disk.menu
/usr/lib/vxvm/voladm.d/bin/disk.mirror
/usr/lib/vxvm/voladm.d/bin/disk.nohotuse-off
/usr/lib/vxvm/voladm.d/bin/disk.nohotuse-on
/usr/lib/vxvm/voladm.d/bin/disk.online
/usr/lib/vxvm/voladm.d/bin/disk.repl
/usr/lib/vxvm/voladm.d/bin/disk.unreloc
/usr/lib/vxvm/voladm.d/bin/disk.vmove
/usr/lib/vxvm/voladm.d/bin/exclude.do
/usr/lib/vxvm/voladm.d/bin/exclude.list
/usr/lib/vxvm/voladm.d/bin/exclude.top
/usr/lib/vxvm/voladm.d/bin/include.do
/usr/lib/vxvm/voladm.d/bin/include.top
/usr/lib/vxvm/voladm.d/bin/inst.custom
/usr/lib/vxvm/voladm.d/bin/inst.one
/usr/lib/vxvm/voladm.d/bin/inst.quick
/usr/lib/vxvm/voladm.d/bin/inst.top
/usr/lib/vxvm/voladm.d/lib/vxadm_lib.sh
/usr/lib/vxvm/voladm.d/lib/vxadm_syslib.sh
/usr/sbin/vxassist
/usr/sbin/vxclust
/usr/sbin/vxdctl
/usr/sbin/vxdg
/usr/sbin/vxdisk
/usr/sbin/vxdiskadd
/usr/sbin/vxdiskadm
/usr/sbin/vxedit
/usr/sbin/vxibc
/usr/sbin/vxinfo
/usr/sbin/vxinstall
/usr/sbin/vxmake
/usr/sbin/vxnotify
/usr/sbin/vxplex
/usr/sbin/vxprint
/usr/sbin/vxrecover
/usr/sbin/vxrelayout
/usr/sbin/vxrlink
/usr/sbin/vxrvg
/usr/sbin/vxsd
/usr/sbin/vxtask
/usr/sbin/vxtrace
/usr/sbin/vxvol

Problem Description:

Note: VERITAS Incident Numbers are included in parenthesis.
 
4295380 (28606)  comments in the vfstab can fake out the setting of
                 solaris dumpdev
4418649 (78343)  VxVM patches do not incorporate OS version checking
                 during patch installation
4479302 (95151)  modified libvxvm_get_disks() in libvxvmsc.so to be
                 analogous to
4504662 (93080)  vxdisk list reports disk status incorrectly when all
                 disks in dg are marked "NOHOTUSE"
4554773 (101825) CVM SC3.0 vxclust step2 poll timeout prevents third
                 node from joining
4626384 (91793)  CVM callout table flooded on single CPU machines
4656592 (108677) CVM volumes disabled after scshutdown and boot up on all
                 cluster nodes
4671086 (110341) CVM: SUNW wants vxclust to not start vxconfigd
                 with logging
4706933 (114109) vxsync that is done during 'vxplex cp' results in error during
                 subsequent mount
 
(24412)  subvolume SIO's not being freed
(29900)  vxprint -m specify_writecopy can be turned on but not off
(52457)  I18N: The string "spare" from "vxdisk list" output needs to be
         I18N'ized
(53394)  collision in vold error return
(55730)  rootability error msg with vxunroot
(59328)  verify-read ioctl i/os on sparse plex hangs
(62273)  VVR: check for already processed msg in nmcom_receive should be
         before alloc
(80615)  mirrored volume is not disabled when it lost the last ACTIVE
         plex during resync
(84185)  Bug in VOLUIO_ALIGNED() macro on linux
(85216)  raid-5 corruption after a column is lost
(90840)  vxrelayout dumps core with Segmentation Fault when striping column
(91698)  vxdisksetup -i uses -f option of vxdisk
(91857)  vxassist relayout SEGV
(92157)  Luns greater than 10 assigned to wrong controller on the
         HDS 9200 array
(92739)  VVR: hang in TCLs with TCP
(95241)  vxeeprom creates incorrect boot-device string for a5k
(95246)  VVR: panic during readback processing
(96137)  "vxdg -k" should be prevented on encapsulated rootdisk, otherwise
         system will be unbootable
(96961)  v_log_len not being reset if log is removed via "vxassist remove
         log"
(98045)  vxassist relayout does not preserve usetype gen
(98164)  VxVM: vxdg gives an error msg and adds disk in rootdg
(99015)  vxunroot doesn't remove those commented entries in /etc/vfstab
(102777) vxdisksetup fails if disk access name matches an existing disk
         media name
(102815) vxunroot sets incorrect boot-device value when swap is at slice 0
(103206) Data coruption in FMR (102132)
(103127) VVR: data corruption due to primary assuming to have sent data
         when it has not
(104091) VM: Quick Install in vxinstall does not exit properly if no disk
         were selected.
(104251) I/o's hang on cfs filesystems with dco log volumes and
         snapshots
(104444) mirroring of root disk failed
(106907) VxVM doesn't sync the whole plex after replacing disk
(108113) XP1024 arrays claimed as XP256 arrays, should be claimed as JBOD
(109656) Panic in hitachi_failback_lungroup for HDS A/P 9200 Array with
         3.1 VxVM
(110536) VVR: Data loss in autosync of vol w/regsz > 512 blks & rlink
         disconnects/connects
(113279) pkgrm -R should not unload (local) vxvm modules
 
 
(from 112201-02)
4409608 (29953) vxassist help space shows incorrect numbers
4416609 (59331) vxunroot reprograms boot-device to wrong string/device
4454112 (59331) vxunroot reprograms boot-device to wrong string/device
4464643 (92782) Sun JRE bug 4464643 causing VMSA to SIGBUS
4505811 (89089) Additional libs need to be added to SO_LIBS in vxvm-startup2
4506689 (83191) vxdiskadm replaces disk but errors with UNKNOWN ERROR WHILE
                WRITING VTOC
4548932 (89797) java null pointer exception when clicking on host icon
4627914 (89089) Additional libs need to be added to SO_LIBS in vxvm-startup2
4634822 (91943) (89089) Additional libs need to be added to SO_LIBS in
                vxvm-startup2
(49711) SRVM: Application hangs when doing writes on a detached rlink.
(58257) vxio and dmp drivers must fail insane disks without retrying
        i/o to them
(66761) EMC: libarray_real changes for High Availability in toolkit
(69429) VVR:panic while running 7th group in iteration for all
        scenarios
(69817) VVR: secondary panic on 32 bit while running Scenario 4 test
        3.39
(70228) VVR: Secondary (32 bit debug) panic while running scenario 7
        test 3.13
(71336) VVR: vols go into SYNC state during recovery if rvg is in
        PASSTHRU mode
(71362) vxnotify does not event at time dmp path os disconnected
(72853) VVR  panic on secondary during mrs_recover.tc#1
(73510) problems with dcm and layered volumes
(73836) VVR: rlink enabled even if it was detached when there's
        srlheader error
(76940) VX_GET_IOPARAMETERS ioctl returns invalid dev_t on cvm slaves
(77239) importing a diskgroup with a duplicate dgid doesn't generate
        error
(77259) VVR: ted assert when running aixvm/tot_merge on solaris.
(77993) VVR: SRL failure may result in inconsistent data
(78509) P2HA: EMC: Checkin unixvm snapshot catalog
(78519) EMC: EMC API partner software registration
(80735) VVR : panic on solaris while running srvmtest on tot
(81867) vxstat -i should flush stdout
(83386) vxprint -e takes long time to execute
(83572) volboot file will be re-initialized during boot if install-db
        exists
(83698) 3.2tp1.5 causes hds5700 to migrate from HITACHI to other_disk
        category.
(85892) VVR AIX io stops at 99% full srl in asyn with dcm
(85908) VVR : nio_usec_tstamp can overflow and become -ve.
(85994) VVR: Disallow associating an open volume to a secondary rvg
(85998) VVR: Disallow attaching a secondary rlink if any associated
        data vol is open
(86024) P3A: P2HA: Command recovery fails if Device External Locks are
        not released on primary node
(86054) update modinfo and pstamp for point patch
        3.1.1m_p3+81182+71362
(86160) vxdmpadm -f disable path=c#t#d#s2 prints incorrect error about
        NON-rootdisk, saying it IS a rootdisk
(86585) CVM - FMR sdfill command is hanging if fmr is enabled
(86989) update modinfo and pstamp for point patch
        3.1.1m_p2+81182+71362
(87224) update modinfo and pstamp for point patch
        3.1.1m_p3+81182+71362+83698
(87403) VVR: panic in nmcom_get_checksum if packet_size of rlink is
        not 4 byte aligned.
(88047) Request to add support for ATF 3.3.0.3 in the next update (patch 4?) of
        3.1.1
(88498) FMR - performance improvement in DCO updates
(88545) VVR: Disallow associating an open volume as SRL
(89428) VVR: srl is inconsistent but rlink is not detached
(90335) dd hangs when cable is pulled from hitachi 9200 array
(90533) CVM volume stuck in NEEDSYNC for SC3.0
 
(from 112201-01)
 
4505737 (79192) vxassist remove log enables a DETACHED/STALE plex allowing
        stale data can be returned on a read
(72686) vxtask list shows wrong object names for Solaris 64 bit kernel
(56510) current certified version of ATF 1.3.1 with DMP is too old
        (Please refer to the NOTE at the end)
(80599) CVM:abortsio can hang for drl volumes
4480097 (73740) VVR: vxrecover -np dumps core if rvg/rep is present in the dg
(54310) SRVM VVR  layered volumes dont sync after a reboot
(55244) failed dcms leave layered volume with badlog flag
(55246) dcms on layered volume may be on same disk
(55357) VVR: Disconnect during DCM replay can cause hang
(57287) replicated volumes not being resynced (sometimes)
(57465) VVR: ted assert in volspinlock called from volsiowait during ibc send
(61521) VVR: panic on det/att rlink after circuit breaker tripped on 4500
(62653) VVR: Request to add "no throttle" option to SRL overflow protection
(62841) VVR: vxvol stop <vol>, says "DCM protection requires volume logs"
(64543) VVR: check_pattern on secondaries fail after dcm replay
(64728) VVR: it is possible to stop the srl while the rvg is started
(64480) VVR: remove references to NMCOM_MSG_FLAG_DELIVERED
(65788) VVR: System hangs when in DCM under heavy I/O
(66535) VVR: VVR could hang due to iocount mismatch
(67097) VVR  panic on kodiak  5/18 build  tcp enabled  tcl's
(67510) vxconfigd core dump in vold_dm_as_da
(69422) VVR : srvmtest hung after extended runs
(69676) VVR : don't increment num_buffers in nmcom_send if esballoc fails
(69964) VVR: Panic on primary while running srvmtests on 32bit-64bit HP OS-s
(70542) VVR allow vxrlink output to be redirected
(71167) VVR: Rlink does not reconnect after VCS fail over within the primary
(72686) vxtask list shows wrong object names for Solaris 64 bit kernel.
(73115) VVRAIX : Memory leak while unloading the VxVM of modules
(73831) VVR: panic if all the logs for volume are disabled when dcm is active
(74085) Add support for Fujitsu arrays
(76522) VVR: Revamp flow control algo & implement missing packet resend
(80599) CVM: abortsio can hang for drl volumes
4313519 (60184) Problems using g_get_dev_map() using leadville-enabled
        a5k library
4350222 (59712) Request warning before removing mirrored plex from sub volume
        of layered volume
4379956 (25836) VxVM needs to breakup I/O requests greater than pool size
        and reduce stabilization
4413604 (60184) Problems using g_get_dev_map() using leadville-enabled
        a5k library
4414884 (62449) License error when attempting to replace a failed drive with
        Photon license
4458538 (62792) On Solaris, need to do more rigorous checking to make sure
        critical system patches are installed
4466100 (68911) GUI associates wrong mount-point to volume during creation
4468759 (66357) VMSA autostart on command must be run after each reboot
4490722 (71060) vmsa puts the block size in vfstab
(54372) (62596) On Solaris, core dump by vxconfigd when paths to all disks in
        dg are removed
(55648) No check for fcp_current_limit.delay going negative in vol_rp_flow
(55664) CVM: vxrecover -c -v -s called 3 times during cluster node start
(55863) VVR: rlink pause hangs while using IBCs
(56121) volrp_sendsio_start should initialize pkt_count to 0
(56510) the current certified version of ATF 1.3.1 with DMP is too old
(58107) Add generation number fix for performance
(58257) vxio and dmp drivers must fail insane disks without retrying i/o
(59343) vmsa shows incorrect date on solaris 6 and HPUX
(61236) Disk is not detached while a disk contains a simple volume failed
(61469) VVR: SRL log header error with no associated rlinks on seconda causes
        panic during recovery
(61787) VVR: error recovery on read-writeback can hang the system
(62530) VVR: flow-control parameters vol_rp_increment/vol_rp_decrement not
        used correctly
(63854) (68108) vxconfigd coredumps trying to import a unsupported DG version
(64623) CVM: master timesout in 3-4 secs in join eventhough timeout of 200
(64656) master pause ioctl waits for ever, I/Os hang
(65438) VVR: autosync of a 100gb fails
(66342) Conflict creating Vmsa GUI 3.1.1 with the same volumename in 
        different diskgroups
(66569) dmp_check_license() doesn't deal with DA_EXPAND for HITACHI
        array support 
(67527) To improve performance when detecting a5K on a system with very large
        number of array connections
(68467) dmp_getctrlgroup does not always work properly
(69687) No valid log copies found when trying to import shared dg
(70126) after 2 node of a 8 node vcs cluster panic, none of the rest node pick 
        up CVM master
(71362) vxnotify does not event at time dmp path os disconnected
(71684) vxconfigd dies or system panics after a cable pull
(71761) Panic in vol_rv_async_childdone on disk write errors
(72231) (67647) When adding a new disk in vxdiskadm getting error:
        "/usr/lib/vxvm/voladm.d/bin/disk.init:  :not found"
(72272) Need to update patch info in pkgadd request script
(73074) Support for HDS9200, XP 512/XP256/XP48 and  LSI arrays added
(74126) VVR: log on to the secondary would get an error
(75272) In the LinksView code for Solaris and HP, there is a reference to
        uninitialized memory in the LinksView code that can cause the VMSA
        server to core dump
(75313) VVR: need to make VOL_RP_FLOWCON_MAX_FREQUENCY as a tunable
(76564) Support for T3+ with explicit failover added
(58087) Need to add support for NEC iStorage disk array
4406523 (59245) CVM hangs when adding 4th disk to shared disk group
(31014) Elm license key files can become corrupt after unclean reboot
 
(from 111151-01)
 
(58087) Need to add support for NEC iStorage disk array

Patch Installation Instructions:
-------------------------------- 
For Solaris 7 releases, refer to the man pages for instructions on
using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
        example# patchadd /var/spool/patch/112201-03
 
The following example removes a patch from a standalone system:
 
        example# patchrm 112201-03
 
For additional examples please see the appropriate man pages.

Special Install Instructions:
----------------------------- 
NOTE 1: Patch 106541-19 requires patch 107544-03 to be installed.
 
NOTE 2: If you have an array which was previously claimed as jbod,
        during reboot after the upgrade, you may get the
        following warning message:
 
        NOTICE: vxvm:vxdmp: added disk array <disk-array-serial-no>
 
        vxvm:vxconfigd: WARNING: File /etc/vx/array.info not in proper format.
                Regenerating file /etc/vx/array.info.
                All attributes will be set to default values.
 
        The system is coming up.  Please wait.
 
        This message informs you that your array's configuration has changed
        and that VxVM is recreating the file for you.
 
NOTE 3: After backing out patch 112201-03, when you reboot, you may get the
        following warning message:
 
        vxvm:vxconfigd: WARNING: Incomplete serial no in file /etc/vx/array.info
                Attributes will be set to default values for these records.
 
        The message above is repeated many times.
 
NOTE 4: This patch enables the support for ATF 3.3.0.3 under VM 3.1.1m-ib with
        the suggested configuration, as "At boot time the primary path to the 
        disk should be available."
 
NOTE 5: Reboot the system after patch installation.
 
Special Guidelines:
-------------------
 
If you are running upgrade_start script to upgrade to Solaris 8 make
sure you have the following patches before running upgrade_finish.
 
Solaris 8:    111413-06   109529-06   108827-19 
 
Patch 111413-06 requires 109529-06 to be installed.
Patch 108827-19 requires 112334-02 and 108528-13 to be installed.

README -- Last modified date:  Tuesday, March 25, 2003

