Whamcloud - gitweb
fs/lustre-release.git
21 years agoCommented-out mdc_statfs method. Not sure of how to set up all the portals
adilger [Wed, 12 Jun 2002 19:21:58 +0000 (19:21 +0000)]
Commented-out mdc_statfs method.  Not sure of how to set up all the portals
stuff, but it should be close.

21 years agoMinor cleanups.
adilger [Wed, 12 Jun 2002 19:20:53 +0000 (19:20 +0000)]
Minor cleanups.
Add commented-out call to mdc_statfs() for ll_statfs() - it isn't complete.

21 years agoPart of the O_DIRECT fix. The page indices iobuf->maplist[i]->index
adilger [Wed, 12 Jun 2002 19:20:00 +0000 (19:20 +0000)]
Part of the O_DIRECT fix.  The page indices  iobuf->maplist[i]->index
do not appear to contain valid offsets into the file.  Use the "blocknr"
value per generic_direct_IO instead.

21 years agoWhitespace cleanup
adilger [Wed, 12 Jun 2002 19:11:30 +0000 (19:11 +0000)]
Whitespace cleanup

21 years agoDon't dereference niobuf_local page if it is not set in debug code.
adilger [Wed, 12 Jun 2002 19:10:20 +0000 (19:10 +0000)]
Don't dereference niobuf_local page if it is not set in debug code.

21 years agoAdd fsx binary to list of ignored files
adilger [Wed, 12 Jun 2002 19:07:45 +0000 (19:07 +0000)]
Add fsx binary to list of ignored files

21 years agoRemove typo file.
adilger [Wed, 12 Jun 2002 08:27:38 +0000 (08:27 +0000)]
Remove typo file.

21 years agocommon.sh: tell us when we are mounting
adilger [Wed, 12 Jun 2002 07:25:46 +0000 (07:25 +0000)]
common.sh: tell us when we are mounting
runiozone: allow the size parameter to be given on the command-line

21 years agoCheck the f_mode field instead of the f_flags field when using FMODE_ masks.
adilger [Wed, 12 Jun 2002 00:17:40 +0000 (00:17 +0000)]
Check the f_mode field instead of the f_flags field when using FMODE_ masks.

22 years agoMerge changes made in portals/linux/utils/parser.c into lustre/utils/parser.c
adilger [Tue, 11 Jun 2002 19:40:12 +0000 (19:40 +0000)]
Merge changes made in portals/linux/utils/parser.c into lustre/utils/parser.c

22 years agoClean up the right portals network type if it is set (default tcp).
adilger [Tue, 11 Jun 2002 17:24:10 +0000 (17:24 +0000)]
Clean up the right portals network type if it is set (default tcp).

22 years agoRemove compiler warning for fsx on linux.
adilger [Tue, 11 Jun 2002 17:23:29 +0000 (17:23 +0000)]
Remove compiler warning for fsx on linux.

22 years agoAdd connid and xid to timeout messages.
adilger [Mon, 10 Jun 2002 23:38:04 +0000 (23:38 +0000)]
Add connid and xid to timeout messages.

22 years agoSame fix for lustre_get_page_write().
adilger [Mon, 10 Jun 2002 22:39:21 +0000 (22:39 +0000)]
Same fix for lustre_get_page_write().

22 years agoDon't kmap() a this page twice. We kunmap() in lustre_put_page() so we
adilger [Mon, 10 Jun 2002 22:37:52 +0000 (22:37 +0000)]
Don't kmap() a this page twice.  We kunmap() in lustre_put_page() so we
do the kmap() in all cases.

22 years agoAdd prototypes for the debug code in lib/debug.c.
adilger [Mon, 10 Jun 2002 22:35:12 +0000 (22:35 +0000)]
Add prototypes for the debug code in lib/debug.c.

22 years agoDump ->addr as a pointer instead of a long long.
adilger [Mon, 10 Jun 2002 22:34:38 +0000 (22:34 +0000)]
Dump ->addr as a pointer instead of a long long.

22 years agoUse OBD_ALLOC for BRW vector test code.
adilger [Mon, 10 Jun 2002 22:31:34 +0000 (22:31 +0000)]
Use OBD_ALLOC for BRW vector test code.

Turn device name error into a debug message to avoid confusion.

22 years agoAdd fsx test.
adilger [Sat, 8 Jun 2002 01:11:26 +0000 (01:11 +0000)]
Add fsx test.

22 years agoMove VM stuff into lib/page.c.
adilger [Sat, 8 Jun 2002 01:10:25 +0000 (01:10 +0000)]
Move VM stuff into lib/page.c.

22 years agoExit out if there are setup errors.
adilger [Sat, 8 Jun 2002 01:05:58 +0000 (01:05 +0000)]
Exit out if there are setup errors.

22 years agoSave filesystem context before writing to last_rcvd file.
adilger [Sat, 8 Jun 2002 01:03:09 +0000 (01:03 +0000)]
Save filesystem context before writing to last_rcvd file.

22 years agoMajor fixups for multi-page I/Os in filterobd.
adilger [Sat, 8 Jun 2002 00:58:00 +0000 (00:58 +0000)]
Major fixups for multi-page I/Os in filterobd.
A few stubs for statfs on the filesystem.

22 years agoFix some minor llite bugs. Should fix fsx problems.
adilger [Sat, 8 Jun 2002 00:44:02 +0000 (00:44 +0000)]
Fix some minor llite bugs.  Should fix fsx problems.

22 years agoMake obdctl return the error code from the most recently executed command
adilger [Sat, 8 Jun 2002 00:39:35 +0000 (00:39 +0000)]
Make obdctl return the error code from the most recently executed command
in interactive mode.  This allows scripts using HERE documents to abort
properly during setup.

22 years agoTranscription error.
adilger [Fri, 7 Jun 2002 17:22:33 +0000 (17:22 +0000)]
Transcription error.

22 years agoUpdated patch to remove extraneous changes.
braam [Fri, 7 Jun 2002 17:17:49 +0000 (17:17 +0000)]
Updated patch to remove extraneous changes.

22 years agoDon't stop checking for operations to commit if we hit an operation
adilger [Fri, 7 Jun 2002 00:15:44 +0000 (00:15 +0000)]
Don't stop checking for operations to commit if we hit an operation
with reqno == 0.

Peter - the question remains why we aren't already skipping these
open operations because of the PTL_RPC_FL_REPLAY flag?  Is it because
they are closes or something?

22 years agoSubtract the OBD_FREE'd memory from the total before printing it.
adilger [Thu, 6 Jun 2002 21:40:27 +0000 (21:40 +0000)]
Subtract the OBD_FREE'd memory from the total before printing it.

22 years ago- add more handling of intents (for chmod style functions)
braam [Thu, 6 Jun 2002 21:37:58 +0000 (21:37 +0000)]
- add more handling of intents (for chmod style functions)
- update to the head

22 years agoRename "bulk" to "desc" to avoid confusion with the local "bulk" variable.
adilger [Thu, 6 Jun 2002 21:31:39 +0000 (21:31 +0000)]
Rename "bulk" to "desc" to avoid confusion with the local "bulk" variable.

22 years agoChange paths to use Lustre pathname instead of obd
braam [Thu, 6 Jun 2002 19:26:17 +0000 (19:26 +0000)]
Change paths to use Lustre pathname instead of obd

22 years agoBring Makefile.am forward to move extN before mds.
braam [Thu, 6 Jun 2002 19:23:16 +0000 (19:23 +0000)]
Bring Makefile.am forward to move extN before mds.

22 years agoWe weren't freeing local_nb in ost_brw_read(). This becomes obvious if you
adilger [Thu, 6 Jun 2002 08:16:58 +0000 (08:16 +0000)]
We weren't freeing local_nb in ost_brw_read().  This becomes obvious if you
run test_brw with larger vector sizes and large numbers of iterations.

22 years agoRemove ___wait_on_page entirely. If we ever need it again, it will be
adilger [Thu, 6 Jun 2002 08:13:38 +0000 (08:13 +0000)]
Remove ___wait_on_page entirely.  If we ever need it again, it will be
different anyways.

22 years agoGet rid of local definition of ___wait_on_page. It existed at least as far
adilger [Wed, 5 Jun 2002 23:38:04 +0000 (23:38 +0000)]
Get rid of local definition of ___wait_on_page.  It existed at least as far
back as 2.4.0-prerelease and all 2.4.0-test kernels.  It also breaks with
current RH RMAP kernels as well.

22 years ago- fix Marcus' bug. Will move t_last_stable forward.
braam [Wed, 5 Jun 2002 22:48:02 +0000 (22:48 +0000)]
- fix Marcus' bug.  Will move t_last_stable forward.

22 years agoChange the cleanup scripts to use the debug_kernel instead of get_debug.
adilger [Wed, 5 Jun 2002 20:27:41 +0000 (20:27 +0000)]
Change the cleanup scripts to use the debug_kernel instead of get_debug.

22 years agoMove ioctl values out of the way of standard ext2/ext3 ioctl numbers.
adilger [Mon, 3 Jun 2002 22:36:53 +0000 (22:36 +0000)]
Move ioctl values out of the way of standard ext2/ext3 ioctl numbers.

22 years agoAdd llite file flag to allow skipping the locking for file read/write ops.
adilger [Mon, 3 Jun 2002 22:18:57 +0000 (22:18 +0000)]
Add llite file flag to allow skipping the locking for file read/write ops.

The ioctl LL_IOC_SETFLAGS and LL_IOC_CLRFLAGS can be used to set and clear
the LL_FILE_IGNORE_LOCK flag on a file, and LL_IOC_GETFLAGS can be used to
retrieve the current flags value.  These values are defined in lustre_lite.h.

Also add a small optimization - we do not update the file atime on reads if
it would not change the actual atime value (i.e. do not update this field
more often than once per second).  We also avoid updating the atime on R/O
mounted filesystems or if the "noatime" mount option is used.

22 years agoReplace usage of "page" with "bulk" where "page" was actually a "struct
adilger [Mon, 3 Jun 2002 19:57:11 +0000 (19:57 +0000)]
Replace usage of "page" with "bulk" where "page" was actually a "struct
ptlrpc_bulk_page" to avoid (mental) confusion with the kernel "struct page".

22 years agoChange object "refcounts" to be dgets instead of igets, where possible,
adilger [Mon, 3 Jun 2002 19:03:26 +0000 (19:03 +0000)]
Change object "refcounts" to be dgets instead of igets, where possible,
because igets are not only more expensive (need to lock the inode, etc),
but you need to do the dentry lookup to find the inode in the first place.

Also cleaned up access to atomic counters to use "atomic_read(count)"
instead of count.value.  Purely cosmetic, since we don't really need
the atomicness of the counters for debug output.

22 years agoFix block leak on truncate - we weren't setting the correct mode on the
adilger [Fri, 31 May 2002 21:14:49 +0000 (21:14 +0000)]
Fix block leak on truncate - we weren't setting the correct mode on the
file and that was causing the truncate to be skipped.

22 years agoFix the RH-chaos kernel oops. This was caused by trying to enable slab
adilger [Fri, 31 May 2002 11:05:03 +0000 (11:05 +0000)]
Fix the RH-chaos kernel oops.  This was caused by trying to enable slab
poisoning (in order to catch errors where we dereference freed objects).
Sadly, the slab.c code checks for "invalid" flags and BUGs if any are set
(only doing so at runtime) rather than just not defining them and catching
the error at compile time or just ignoring it entirely.

22 years agoFix minor typo in chaos1 patch.
adilger [Fri, 31 May 2002 09:57:03 +0000 (09:57 +0000)]
Fix minor typo in chaos1 patch.

22 years agoRemove debugging that slipped into checkin.
adilger [Thu, 30 May 2002 22:22:04 +0000 (22:22 +0000)]
Remove debugging that slipped into checkin.

22 years agoCheck RPC reply status for both MDC and OSC. This allows us to return
adilger [Thu, 30 May 2002 22:18:41 +0000 (22:18 +0000)]
Check RPC reply status for both MDC and OSC.  This allows us to return
errors "properly" from the MDS and OST to the filesystem/kernel/application.
This finally appears to handle out-of-space errors on the MDS and OST
reasonably well.

Still to do at some point: OS agnostic error value encoding/decoding.

22 years agoCreate a plain-text version of lustre-HOWTO.
adilger [Thu, 30 May 2002 22:13:59 +0000 (22:13 +0000)]
Create a plain-text version of lustre-HOWTO.

22 years agoArgh, why can't C do what I mean and not what I say?
adilger [Thu, 30 May 2002 21:48:55 +0000 (21:48 +0000)]
Argh, why can't C do what I mean and not what I say?

22 years agoA 2.4.18-chaos1 redhat/llnl patch that cleanly applies.
behlendo [Thu, 30 May 2002 21:24:41 +0000 (21:24 +0000)]
A 2.4.18-chaos1 redhat/llnl patch that cleanly applies.

22 years agoClean up the object on the OST if there is a failure adding it to the MDS.
adilger [Thu, 30 May 2002 20:44:39 +0000 (20:44 +0000)]
Clean up the object on the OST if there is a failure adding it to the MDS.

22 years agoClean up in the right order on the failure path.
adilger [Thu, 30 May 2002 20:43:16 +0000 (20:43 +0000)]
Clean up in the right order on the failure path.

22 years agoDon't oops if we have a NULL lock.
adilger [Thu, 30 May 2002 19:31:24 +0000 (19:31 +0000)]
Don't oops if we have a NULL lock.

22 years agoClean up error llite open/release handling code. Still not 100% sure about
adilger [Thu, 30 May 2002 19:30:01 +0000 (19:30 +0000)]
Clean up error llite open/release handling code.  Still not 100% sure about
rpc request usage/cleanup, but I asked Phil to look at that.

22 years agoSet the dir_index flag on extN filesystems if we are creating them.
adilger [Thu, 30 May 2002 19:00:09 +0000 (19:00 +0000)]
Set the dir_index flag on extN filesystems if we are creating them.

22 years agoRemove no-longer-needed inode operations (they previously had extN EA VFS
adilger [Thu, 30 May 2002 18:13:39 +0000 (18:13 +0000)]
Remove no-longer-needed inode operations (they previously had extN EA VFS
functions in them).

22 years agoUpdate the journal callback code in patch-2.4.9-chaos14. While it is not
adilger [Wed, 29 May 2002 18:57:58 +0000 (18:57 +0000)]
Update the journal callback code in patch-2.4.9-chaos14.  While it is not
necessary to update to this version of the journal callback if the older
version is applied, this does the callbacks outside the journal semaphore
and is the version likely to make it into ext3 proper.

22 years agoRemove all of the extended attribute changes, as they are all contained in
adilger [Wed, 29 May 2002 18:38:08 +0000 (18:38 +0000)]
Remove all of the extended attribute changes, as they are all contained in
the extN code directly.  Unfortunately, there is no easy way to know if the
generic kernel includes the EA VFS changes, so extN will not have those for
now.

22 years agoRemove VFS extended attribute interface so that extN will build even if the
adilger [Wed, 29 May 2002 18:30:03 +0000 (18:30 +0000)]
Remove VFS extended attribute interface so that extN will build even if the
kernel patch does not have the EA stuff in it (we no longer need this
interface as obdfilter calls the exported EA functions directly).

22 years agoMake mds_ext3.c and mds_extN.c build when no journal callback patch applied.
adilger [Wed, 29 May 2002 18:23:18 +0000 (18:23 +0000)]
Make mds_ext3.c and mds_extN.c build when no journal callback patch applied.

22 years agoPrint when we are done the mount and start copying.
adilger [Wed, 29 May 2002 18:17:15 +0000 (18:17 +0000)]
Print when we are done the mount and start copying.

22 years agoMake the MDS filesystem interface code be a separate module. This allows
adilger [Wed, 29 May 2002 10:31:09 +0000 (10:31 +0000)]
Make the MDS filesystem interface code be a separate module.  This allows
us to load MDS even if the extN module is not building properly.

22 years agoAdd separate file for MDS filesystem interaction routines.
adilger [Wed, 29 May 2002 10:27:57 +0000 (10:27 +0000)]
Add separate file for MDS filesystem interaction routines.

22 years agoMake xattr.c depend explicitly on patch-stamp, so that the patch part is
adilger [Wed, 29 May 2002 10:25:42 +0000 (10:25 +0000)]
Make xattr.c depend explicitly on patch-stamp, so that the patch part is
done before we try and build the results.  Otherwise we have problems with
"make -j2"

22 years agoAdd exports for extended attribute functions. This should be part of the
adilger [Wed, 29 May 2002 10:22:13 +0000 (10:22 +0000)]
Add exports for extended attribute functions.  This should be part of the
next official EA patch already (it was in ext2 but missing from ext3 EAs).

22 years agoAdd super_operations to struct mds_obd so that we can free the allocated
adilger [Wed, 29 May 2002 10:10:50 +0000 (10:10 +0000)]
Add super_operations to struct mds_obd so that we can free the allocated
struct after the superblock has been freed.

22 years agoAdd mds filesystem helper modules to setup and cleanup.
adilger [Wed, 29 May 2002 10:04:37 +0000 (10:04 +0000)]
Add mds filesystem helper modules to setup and cleanup.

22 years agoAdd interface to extN filesystem which uses extended attributes to store
adilger [Tue, 28 May 2002 23:28:08 +0000 (23:28 +0000)]
Add interface to extN filesystem which uses extended attributes to store
OST object IDs.

22 years agoDo proper cleanup in ll_read_super() if there are errors mounting the
adilger [Tue, 28 May 2002 23:26:45 +0000 (23:26 +0000)]
Do proper cleanup in ll_read_super() if there are errors mounting the
filesystem.

22 years agochanges to accomodate new directory names
braam [Mon, 27 May 2002 17:11:37 +0000 (17:11 +0000)]
changes to accomodate new directory names

22 years agoLast week's LOV hackery
pschwan [Mon, 27 May 2002 17:09:21 +0000 (17:09 +0000)]
Last week's LOV hackery

22 years agoThis commit was generated by cvs2svn to compensate for changes in r1070,
pschwan [Mon, 27 May 2002 16:48:11 +0000 (16:48 +0000)]
This commit was generated by cvs2svn to compensate for changes in r1070,
which included commits to RCS files with non-trunk default branches.

22 years agoInitial lustretop import
pschwan [Mon, 27 May 2002 16:48:11 +0000 (16:48 +0000)]
Initial lustretop import

22 years ago- LBUG() on failed niobuf allocation
pschwan [Sun, 26 May 2002 21:39:24 +0000 (21:39 +0000)]
- LBUG() on failed niobuf allocation
- Fix uninitialized variable mistake

22 years agoHooks for intent-based locks
braam [Sat, 25 May 2002 19:08:49 +0000 (19:08 +0000)]
Hooks for intent-based locks

22 years ago- Quiet some journaling CERRORs
pschwan [Sat, 25 May 2002 15:31:48 +0000 (15:31 +0000)]
- Quiet some journaling CERRORs
- Fix alignment of rpc buffers

22 years agoFix patch problem.
adilger [Fri, 24 May 2002 20:06:54 +0000 (20:06 +0000)]
Fix patch problem.

22 years ago- Quiet some journal verbosity
pschwan [Fri, 24 May 2002 19:40:42 +0000 (19:40 +0000)]
- Quiet some journal verbosity
- Fixed (I hope) some ia64 unaligned access warnings

22 years ago- another attempt to get the blocksize right
braam [Fri, 24 May 2002 19:20:55 +0000 (19:20 +0000)]
- another attempt to get the blocksize right

22 years agoTry to get working chunk size for IA64 where PAGE_CACHE_SIZE is 4096
braam [Fri, 24 May 2002 19:08:26 +0000 (19:08 +0000)]
Try to get working chunk size for IA64 where PAGE_CACHE_SIZE is 4096
while PAGE_SIZE is 8192 (why ?).

22 years ago- Fixed some 64bit warnings
pschwan [Fri, 24 May 2002 18:56:31 +0000 (18:56 +0000)]
- Fixed some 64bit warnings
- Fixed ldlm EXPORT table
- fixed small obdctl bug

22 years agoFix refcount problem. It wasn't dentries that were causing the problem,
adilger [Fri, 24 May 2002 18:46:33 +0000 (18:46 +0000)]
Fix refcount problem.  It wasn't dentries that were causing the problem,
but an unbalanced push_ctxt() increasing the mnt->mnt_count and not
allowing us to free the superblock.  Argh.

22 years agoI am a superstar.
pschwan [Fri, 24 May 2002 17:10:31 +0000 (17:10 +0000)]
I am a superstar.

22 years agoIt did indeed fix it; here's the ones that I forgot.
pschwan [Fri, 24 May 2002 17:09:48 +0000 (17:09 +0000)]
It did indeed fix it; here's the ones that I forgot.

22 years agoDo lots of explicit EXPORT_SYMBOLs to see if this cures ia64 problems
pschwan [Fri, 24 May 2002 16:58:06 +0000 (16:58 +0000)]
Do lots of explicit EXPORT_SYMBOLs to see if this cures ia64 problems

22 years agoDon't BUG() if we just run out of space.
adilger [Thu, 23 May 2002 23:21:05 +0000 (23:21 +0000)]
Don't BUG() if we just run out of space.

Some minor changes made when using page index/offset debugging (which is
not included here).

22 years agoAdd the xattr files to the list of dependencies.
adilger [Thu, 23 May 2002 23:18:01 +0000 (23:18 +0000)]
Add the xattr files to the list of dependencies.
Add a comment that the export patch can fail (this happens if the kernel
source has already been patched to export ext3_bread()).

22 years agoAdd interface to updated journal callback interface (it should still work
adilger [Thu, 23 May 2002 23:00:32 +0000 (23:00 +0000)]
Add interface to updated journal callback interface (it should still work
with the old interface until the kernel has been updated).

Add methods for extN support.  These require that the extN module be available
in order to load mds.o.

22 years agoHopefully final version of journal commit callback patch. Stephen agreed
adilger [Thu, 23 May 2002 22:57:14 +0000 (22:57 +0000)]
Hopefully final version of journal commit callback patch.  Stephen agreed
with this one and should include it into CVS/release at some point.  This
includes a status for the callback function, because the callbacks need to
always be called (to clean up memory), but the actual operations may have
had an error for some reason (no memory, IO, etc).

22 years agochanged ioctl 'cmd' type from 'long' to 'int'
pschwan [Thu, 23 May 2002 22:36:34 +0000 (22:36 +0000)]
changed ioctl 'cmd' type from 'long' to 'int'

22 years agoRename dump to debug to hold generic debugging code.
adilger [Thu, 23 May 2002 22:15:04 +0000 (22:15 +0000)]
Rename dump to debug to hold generic debugging code.

22 years agoSave and restore the journal context between preprw and commitrw at the OST.
adilger [Thu, 23 May 2002 22:10:36 +0000 (22:10 +0000)]
Save and restore the journal context between preprw and commitrw at the OST.

22 years agoDon't use 4096 hard-coded for PAGE_SIZE.
adilger [Thu, 23 May 2002 21:19:46 +0000 (21:19 +0000)]
Don't use 4096 hard-coded for PAGE_SIZE.

22 years agoAdd journal_info to ptlrpc_bulk_desc for ext3.
adilger [Thu, 23 May 2002 21:18:50 +0000 (21:18 +0000)]
Add journal_info to ptlrpc_bulk_desc for ext3.

22 years agoQuiet compiler warnings about unused values when we don't use EA cache.
adilger [Thu, 23 May 2002 21:16:40 +0000 (21:16 +0000)]
Quiet compiler warnings about unused values when we don't use EA cache.

22 years agoFix locking with filter. This changes the way objects are looked up in
adilger [Thu, 23 May 2002 21:14:19 +0000 (21:14 +0000)]
Fix locking with filter.  This changes the way objects are looked up in
the filter to always use lookup_one_len() from the parent (which is gotten
at filter_setup time) instead of doing a file open each time.

There appears to be some sort of leak which prevents the loop device from
being cleaned up, but e.g. bonnie runs just fine and all of the modules
can be unloaded.  Will look at it again later once I've gotten some more
urgent things out of the way.

22 years agoDon't BUG if we only run out of space.
adilger [Thu, 23 May 2002 20:57:10 +0000 (20:57 +0000)]
Don't BUG if we only run out of space.

22 years ago- Fixed symlinks
pschwan [Thu, 23 May 2002 20:52:49 +0000 (20:52 +0000)]
- Fixed symlinks
- Fixed connect-failure-leads-to-segfault bug

22 years ago- Fixed problem where all files were owned by root
pschwan [Thu, 23 May 2002 18:28:48 +0000 (18:28 +0000)]
- Fixed problem where all files were owned by root
- Fixed a couple warnings that fell out of the Portals changes

22 years ago- Moved filp_close()s up to avoid unnecessarily unlinking open files
pschwan [Thu, 23 May 2002 18:14:51 +0000 (18:14 +0000)]
- Moved filp_close()s up to avoid unnecessarily unlinking open files
- Added two missing dput()s -- why didn't this cause us more trouble before?