Whamcloud - gitweb
fs/lustre-release.git
21 years agoSimplify adding manual test results to Tinderbox.
gord-fig [Thu, 22 Aug 2002 20:32:12 +0000 (20:32 +0000)]
Simplify adding manual test results to Tinderbox.

21 years ago* Remove noisy lock-queue debugging spew.
shaver [Thu, 22 Aug 2002 20:23:24 +0000 (20:23 +0000)]
* Remove noisy lock-queue debugging spew.

21 years ago- more fixes..things work again.
braam [Thu, 22 Aug 2002 19:08:27 +0000 (19:08 +0000)]
- more fixes..things work again.

21 years ago- minor fixes trying to get the md right.
braam [Thu, 22 Aug 2002 18:58:20 +0000 (18:58 +0000)]
- minor fixes trying to get the md right.

21 years ago- stripe md fixes
rread [Thu, 22 Aug 2002 18:36:11 +0000 (18:36 +0000)]
- stripe md fixes

21 years agofixes for LOV -- CAREFUL this may break the tree...
braam [Thu, 22 Aug 2002 18:29:55 +0000 (18:29 +0000)]
fixes for LOV -- CAREFUL this may break the tree...

21 years ago- always create the gdb script
rread [Thu, 22 Aug 2002 18:06:33 +0000 (18:06 +0000)]
- always create the gdb script

21 years agoMove obd_getattr from ll_lookup2 to ll_read_inode2
pschwan [Thu, 22 Aug 2002 15:16:10 +0000 (15:16 +0000)]
Move obd_getattr from ll_lookup2 to ll_read_inode2

21 years agotest_brw/echo: verify == (objid != 0), highmem == (objid & 1), test default objid...
eeb [Thu, 22 Aug 2002 13:34:20 +0000 (13:34 +0000)]
test_brw/echo: verify == (objid != 0), highmem == (objid & 1), test default objid == 3

21 years ago* Chain granted locks off the export.
shaver [Thu, 22 Aug 2002 13:30:11 +0000 (13:30 +0000)]
* Chain granted locks off the export.

21 years agominor but important lov bug fixes Robert and I found out about.
braam [Thu, 22 Aug 2002 06:04:36 +0000 (06:04 +0000)]
minor but important lov bug fixes Robert and I found out about.

21 years ago- fix sending wrong attributes... Are there more of these?
braam [Thu, 22 Aug 2002 05:00:39 +0000 (05:00 +0000)]
- fix sending wrong attributes... Are there more of these?

21 years ago- abstracted some parts of ll_size into ll_size_lock and ll_size_unlock
pschwan [Thu, 22 Aug 2002 04:56:24 +0000 (04:56 +0000)]
- abstracted some parts of ll_size into ll_size_lock and ll_size_unlock
- added file size locking around the mds_setattr in ll_file_release

21 years agoin getattr requests, get the authoritative file size from the OST
pschwan [Wed, 21 Aug 2002 23:52:51 +0000 (23:52 +0000)]
in getattr requests, get the authoritative file size from the OST

21 years agoChange lov.xml file a little so that it works with localhost.
braam [Wed, 21 Aug 2002 22:36:29 +0000 (22:36 +0000)]
Change lov.xml file a little so that it works with localhost.
Remove the namespace locks from ll_file_release. Basic parallel I/O
now works, it seems.

21 years agoAdd target data for symlinks to intent.
adilger [Wed, 21 Aug 2002 22:25:14 +0000 (22:25 +0000)]
Add target data for symlinks to intent.

21 years agoFix symlink creation a bit more.
adilger [Wed, 21 Aug 2002 22:24:21 +0000 (22:24 +0000)]
Fix symlink creation a bit more.
Fix ll_create() error handling (at least it won't oops).

21 years agooptional highmem buffers in obdecho/test_brw
eeb [Wed, 21 Aug 2002 22:17:39 +0000 (22:17 +0000)]
optional highmem buffers in obdecho/test_brw

21 years agoSymlink support.
adilger [Wed, 21 Aug 2002 21:49:01 +0000 (21:49 +0000)]
Symlink support.

21 years agonew option: --nosetup disables device setup/cleanup. Useful for testing
rread [Wed, 21 Aug 2002 21:06:37 +0000 (21:06 +0000)]
new option: --nosetup disables device setup/cleanup. Useful for testing
module load/unload without any device config.

21 years ago* Add timeouts for blocking-AST callbacks.
shaver [Wed, 21 Aug 2002 20:49:11 +0000 (20:49 +0000)]
* Add timeouts for blocking-AST callbacks.
* Add fail_loc support for dropping a blocking AST reply or callback on the
  OSC.

21 years agoAdd module loading support to lconf. By default, lconf will load and
rread [Wed, 21 Aug 2002 20:47:24 +0000 (20:47 +0000)]
Add module loading support to lconf. By default, lconf will load and
unload the modules needed based on what devices are configured for a node.

The path to load modules from is determined based on the directory lconf is
run from. If a Makefile is found, the it is assumed lconf is in lustre/utils
and modules will be searched for in ../../lustre and ../../portals.

Module support can be turned off with --nomod, if desired.

Use option --gdb  to create a gdb module script. Lconf will print the path
of the script and pause for few seconds.

21 years ago- change default tcp port to 988
rread [Wed, 21 Aug 2002 20:40:15 +0000 (20:40 +0000)]
- change default tcp port to 988

21 years agoNo dput's, the VFS does this. Some sanity with rename appears to
braam [Wed, 21 Aug 2002 19:30:13 +0000 (19:30 +0000)]
No dput's, the VFS does this.  Some sanity with rename appears to
begin surfacing now.

21 years ago- redo rename to instantiate d_new on the client, instead of
braam [Wed, 21 Aug 2002 19:05:40 +0000 (19:05 +0000)]
- redo rename to instantiate d_new on the client, instead of
  trying to bypass that step (and run into troubles).

21 years ago- give inodes more metadata for objects. Per stripe we now maintain:
braam [Wed, 21 Aug 2002 17:05:43 +0000 (17:05 +0000)]
- give inodes more metadata for objects.  Per stripe we now maintain:
  - id
  - size
  - soon: also flags indicating if we have a "size" lock on the object
- fix two lov bugs (open/close) - both used the wrong oa.

21 years agoChange uml1 to localhost. Now it works.
braam [Wed, 21 Aug 2002 04:13:38 +0000 (04:13 +0000)]
Change uml1 to localhost. Now it works.

21 years ago- put Robert's file back...
braam [Wed, 21 Aug 2002 03:53:09 +0000 (03:53 +0000)]
- put Robert's file back...

21 years ago- In ordinary writes (not O_DIRECT) do not round the data object file
braam [Wed, 21 Aug 2002 03:41:13 +0000 (03:41 +0000)]
- In ordinary writes (not O_DIRECT) do not round the data object file
  size to a page boundary.   Objects are now as long as they should
  be.

21 years ago- add a name to ptlrpc_svc_init in preparation for eliminating
braam [Wed, 21 Aug 2002 03:15:21 +0000 (03:15 +0000)]
- add a name to ptlrpc_svc_init in preparation for eliminating
request->rq_obd
- fix typo in osc_enqueue

21 years ago- Do an additional getattr in ll_lookup2 after we get the lock, to refresh the
pschwan [Wed, 21 Aug 2002 02:37:36 +0000 (02:37 +0000)]
- Do an additional getattr in ll_lookup2 after we get the lock, to refresh the
inode attributes
- mds_blocking_ast didn't wait for all lock holders to finish with the lock
before cancelling it; fixed.
- adjusted more of the wildly inconsistent error code reporting, this time in
mds_getattr
- removed the bad array-walking code that I introduced yesterday to osc_enqueue

21 years agoFix input of objid.
adilger [Tue, 20 Aug 2002 21:47:17 +0000 (21:47 +0000)]
Fix input of objid.

21 years agoTest program to generate the "test_brw" pattern from user-space for a file.
adilger [Tue, 20 Aug 2002 21:02:02 +0000 (21:02 +0000)]
Test program to generate the "test_brw" pattern from user-space for a file.

21 years agode-serialised getattr, brw test ioctls
eeb [Tue, 20 Aug 2002 19:41:35 +0000 (19:41 +0000)]
de-serialised getattr, brw test ioctls

21 years agoPass the private descriptor pointer between preprw and commitrw for the
adilger [Tue, 20 Aug 2002 17:47:33 +0000 (17:47 +0000)]
Pass the private descriptor pointer between preprw and commitrw for the
ost_brw_read() case also.  Thanks again to Eric for finding.

21 years ago- allow lconf to continue to run in debug mode even if acceptor and lctl
rread [Tue, 20 Aug 2002 17:43:48 +0000 (17:43 +0000)]
- allow lconf to continue to run in debug mode even if acceptor and lctl
  are not available.

21 years agoFix missing increment for multi-page I/O cleanup/verification, found by Eric.
adilger [Tue, 20 Aug 2002 17:09:54 +0000 (17:09 +0000)]
Fix missing increment for multi-page I/O cleanup/verification, found by Eric.

21 years agoAdd simple test of mount and unmount.
gord-fig [Tue, 20 Aug 2002 16:58:53 +0000 (16:58 +0000)]
Add simple test of mount and unmount.

21 years ago- Add create and destroy operations to lctl.
adilger [Tue, 20 Aug 2002 06:29:31 +0000 (06:29 +0000)]
- Add create and destroy operations to lctl.
- Make the help options a bit more descriptive.

21 years agoRemove bogus assertion. The dentry isn't instantiated until later, and
adilger [Tue, 20 Aug 2002 05:39:49 +0000 (05:39 +0000)]
Remove bogus assertion.  The dentry isn't instantiated until later, and
we are guaranteed to have a valid inode if we return from ll_lookup2()
without an error code.

21 years agoComment out the rename part of runtests to try and get something working.
adilger [Tue, 20 Aug 2002 05:27:45 +0000 (05:27 +0000)]
Comment out the rename part of runtests to try and get something working.

21 years agoRemove call to set_page_clean() from lustre_commit_write().
adilger [Tue, 20 Aug 2002 04:26:26 +0000 (04:26 +0000)]
Remove call to set_page_clean() from lustre_commit_write().

21 years agoTweak distribution files.
gord-fig [Tue, 20 Aug 2002 03:14:32 +0000 (03:14 +0000)]
Tweak distribution files.

21 years agoReturn an error code if the test_brw read check failed.
adilger [Mon, 19 Aug 2002 23:57:32 +0000 (23:57 +0000)]
Return an error code if the test_brw read check failed.

21 years agoMinor cleanups to test_brw path + debugging to see what is wrong with vectors.
adilger [Mon, 19 Aug 2002 23:45:00 +0000 (23:45 +0000)]
Minor cleanups to test_brw path + debugging to see what is wrong with vectors.

21 years ago- looks like osc_enqueue is now looking at the strip_count, so it needs to be
rread [Mon, 19 Aug 2002 23:42:06 +0000 (23:42 +0000)]
- looks like osc_enqueue is now looking at the strip_count, so it needs to be
initialized.  Not sure why osc needs this info.

21 years ago- fix return code in mds_getattr_internal
rread [Mon, 19 Aug 2002 22:36:44 +0000 (22:36 +0000)]
- fix return code in mds_getattr_internal
- add support for --format flag to lmc

21 years ago- generate some simple configs
rread [Mon, 19 Aug 2002 22:16:56 +0000 (22:16 +0000)]
- generate some simple configs

21 years agoAdd some basic data integrity checking to obdecho.
adilger [Mon, 19 Aug 2002 21:51:33 +0000 (21:51 +0000)]
Add some basic data integrity checking to obdecho.

This puts the offset and objid into the first 16 bytes and last 16 bytes
of the bulk transfer.  These are in HTON__u64() format.

The lctl command for test_brw now takes an objid instead of an obdo count,
so that you can (potentially) use lctl with test_brw on a real OBD instead
of just obdecho.  That has not been tested yet.

21 years agoReplace ldlm_lock's connection handle with an export handle. (Always
shaver [Mon, 19 Aug 2002 21:18:28 +0000 (21:18 +0000)]
Replace ldlm_lock's connection handle with an export handle.  (Always
NULL on the client side.)

21 years agoFix case where rc was not set.
adilger [Mon, 19 Aug 2002 20:46:56 +0000 (20:46 +0000)]
Fix case where rc was not set.

21 years ago- Maintain a list in the ll_inode_data of data (OST) locks held by this client
pschwan [Mon, 19 Aug 2002 17:50:18 +0000 (17:50 +0000)]
- Maintain a list in the ll_inode_data of data (OST) locks held by this client
- in ll_file_release, cancel any remaining locks in that list
- refactored mds_getattr_name and mds_getattr into two functions with a common
  sub-function; this fixed bugs in mds_getattr, and helps prevent them from
  drifting apart again

21 years ago- writing data to lov stripes is beginning to work. still much to check
rread [Sat, 17 Aug 2002 23:16:08 +0000 (23:16 +0000)]
- writing data to lov stripes is beginning to work. still much to check

21 years ago* l_wait_event can now do interrupts without a timeout, if we're feeling brave.
shaver [Sat, 17 Aug 2002 22:06:32 +0000 (22:06 +0000)]
* l_wait_event can now do interrupts without a timeout, if we're feeling brave.
* Big doc comment for l_wait_event.
* Only fire the timeout once from l_wait_event.
* Made timeout and the recovery-upcall path configurable via sysctl.
* Added OBD_FAIL_OSC codes for simulating simple client failure.
* Tentative rewiring of recovd into client connections, needs more thought
  and then more typing. We do fire the upcall, at least.
* Use the provided cluuid instead of NULL wherever it's handy already.
* Protect (feebly) against waiting for recovery that will never happen,
  in sync_io_timeout.
* Add timeouts to bulk operations in MDS and OST -- a recovery stub is now
  triggered, but nothing else.
* Document the unpleasant business in osc_brw_{read,write} as pertains to
  errors in the callbacks and cleanup of descriptors.
* Remove now-unused ptlrpc_check_bulk_{sent,received}.

21 years agoSome architectures (like ppc) need linux/init.h to define things like
rread [Sat, 17 Aug 2002 22:02:33 +0000 (22:02 +0000)]
Some architectures (like ppc) need linux/init.h to define things like
__init__

21 years ago- cleanup callback data to get striping to work
rread [Sat, 17 Aug 2002 00:50:58 +0000 (00:50 +0000)]
- cleanup callback data to get striping to work

21 years agoAdd --with-linuxdir= to match howto (and be more correct).
adilger [Fri, 16 Aug 2002 21:25:17 +0000 (21:25 +0000)]
Add --with-linuxdir= to match howto (and be more correct).

21 years agoFix yet one more hidden-by-missing-kmap compile error.
adilger [Fri, 16 Aug 2002 20:53:08 +0000 (20:53 +0000)]
Fix yet one more hidden-by-missing-kmap compile error.

21 years agoFix harmless compile warning. Not sure the code is correct, though, since
adilger [Fri, 16 Aug 2002 20:37:47 +0000 (20:37 +0000)]
Fix harmless compile warning.  Not sure the code is correct, though, since
it would appear to preclude unlinking a non-regular, non-directory file.

21 years agoFinally appear to have a bug free "locked page" handler. Still need to
adilger [Fri, 16 Aug 2002 16:54:31 +0000 (16:54 +0000)]
Finally appear to have a bug free "locked page" handler.  Still need to
worry about multiple writer problems (I have seen this happen in dbench,
for instance).  Maybe we should only use the locked-page-copy fallback
if there is the possibility of a deadlock (i.e. we already have another
page locked?).

21 years agoRemove old journal callback compatibility support.
adilger [Fri, 16 Aug 2002 16:51:11 +0000 (16:51 +0000)]
Remove old journal callback compatibility support.

Use a more "magical" number than 4711 for the LOV EA data, since this is
the magic we use in many other places as well.

21 years agoRemove open-coded list walking.
adilger [Fri, 16 Aug 2002 16:49:22 +0000 (16:49 +0000)]
Remove open-coded list walking.

21 years agoRemove some grossness I previously put in the error handling path. It
adilger [Fri, 16 Aug 2002 16:48:00 +0000 (16:48 +0000)]
Remove some grossness I previously put in the error handling path.  It
turns out inode can only ever be NULL and not IS_ERR().

21 years agoSet the o_valid flag for valid fields in the obdo. We also need to start
adilger [Fri, 16 Aug 2002 16:45:35 +0000 (16:45 +0000)]
Set the o_valid flag for valid fields in the obdo.  We also need to start
checking for these at the target side to ensure we are using good data
and not an unset or corrupt field.

21 years ago- fix mount by adding UUIDs requested by Mike
rread [Fri, 16 Aug 2002 09:30:29 +0000 (09:30 +0000)]
- fix mount by adding UUIDs requested by Mike
- add HTREE to lconf
- fix various brainos in lov

21 years ago* Fix interrupt-pending-when-timeout-occurs handling in l_wait_event.
shaver [Fri, 16 Aug 2002 01:51:03 +0000 (01:51 +0000)]
* Fix interrupt-pending-when-timeout-occurs handling in l_wait_event.
* If timeout specified, but no handler, wake up with -ETIMEOUT instead of
  going back to sleep.
* Export a class_signal_client_failure hook-symbol from obdclass, to be filled
  in by recovd.o and used by various obdclass bits (avoiding sour dependencies
  on recovd.o).
* Add OBD_FAIL_OST_BRW_{READ,WRITE}_BULK fail_loc values, for testing of
  bulk-xfer timeouts and interrupts.
* Fix the timeout in ll_sync_io_cb to scale by HZ.
* Rip out some leftovers from ptlrpc_check_reply.

21 years agoFix minor divergence between the -chaos and non-chaos patches.
adilger [Thu, 15 Aug 2002 20:40:49 +0000 (20:40 +0000)]
Fix minor divergence between the -chaos and non-chaos patches.

21 years agoDon't change local inode size if we had a write error (that causes vmtruncate
adilger [Thu, 15 Aug 2002 16:56:03 +0000 (16:56 +0000)]
Don't change local inode size if we had a write error (that causes vmtruncate
to try and truncate the file, which calls osc_punch() to remove blocks we
didn't write in the first place).

21 years agoHopefully final fix for kunmap problem - will check with a chaos build...
adilger [Thu, 15 Aug 2002 03:48:11 +0000 (03:48 +0000)]
Hopefully final fix for kunmap problem - will check with a chaos build...

21 years agoFix strange non-complaining error for missing page_array and pagearray
adilger [Thu, 15 Aug 2002 00:14:34 +0000 (00:14 +0000)]
Fix strange non-complaining error for missing page_array and pagearray
declarations.

21 years ago- comment out the noisy get/put LDLM_DEBUGs; I'll remove them when I'm sure
pschwan [Wed, 14 Aug 2002 22:45:18 +0000 (22:45 +0000)]
- comment out the noisy get/put LDLM_DEBUGs; I'll remove them when I'm sure
  that we're free of refcount bugs
- make mds_connect not crash when cluuid is NULL
- in ldlm_intent_policy, return a write lock if the client is opening a file
  with no EA
- in mds_extN_get_md, allow MD to be NULL
- fix resource ID corruption leading to infinite locks (b=595247)
- in lctl, make ptl_initialize failure non-fatal, so that I can run debugctl
  functions on non-Lustre systems

21 years ago- updated to match tools
rread [Wed, 14 Aug 2002 19:37:44 +0000 (19:37 +0000)]
- updated to match tools

21 years agoFix obvious breakage in ll_direct_IO.
adilger [Wed, 14 Aug 2002 10:55:57 +0000 (10:55 +0000)]
Fix obvious breakage in ll_direct_IO.

21 years agoAdd some renames to the runtest, since nobody seems to have noticed that
adilger [Wed, 14 Aug 2002 10:21:43 +0000 (10:21 +0000)]
Add some renames to the runtest, since nobody seems to have noticed that
it didn't work.

21 years agoFix annoying bugs in filter_write_locked_page() - we were not unlocking
adilger [Wed, 14 Aug 2002 10:19:26 +0000 (10:19 +0000)]
Fix annoying bugs in filter_write_locked_page() - we were not unlocking
the page, and this appears to have left stray locked pages around?
In filter_commitrw() we were never writing out the "locked" pages because
we didn't reset the loop variables.  Couldn't have found this bug without
the other one ;-).

21 years agoFix most obvious breakage due to rename. Still not 100% clean.
adilger [Wed, 14 Aug 2002 09:21:57 +0000 (09:21 +0000)]
Fix most obvious breakage due to rename.  Still not 100% clean.

21 years agoFix minor patch breakage.
adilger [Wed, 14 Aug 2002 05:58:21 +0000 (05:58 +0000)]
Fix minor patch breakage.

21 years agoMinor changes to bring patch-2.4.18 and patch-2.4.18-chaos12 into sync:
adilger [Wed, 14 Aug 2002 05:15:02 +0000 (05:15 +0000)]
Minor changes to bring patch-2.4.18 and patch-2.4.18-chaos12 into sync:
- named initializers for the intent structs
- whitespace cleanups
- diff chunk ordering (so it is easy to compare the two)
- add path_lookup_it() to patch-2.4.18, even though we don't use it there yet
- add intent_release() for rename dentries to -chaos12

Still does not contain sync of link_path_walk_it() differences.

21 years agoRun latex twice.
gord-fig [Wed, 14 Aug 2002 01:24:27 +0000 (01:24 +0000)]
Run latex twice.

21 years agoUpdated changebar generation to preserve nesting.
gord-fig [Wed, 14 Aug 2002 00:29:45 +0000 (00:29 +0000)]
Updated changebar generation to preserve nesting.

21 years agoMinor fixups for error handling case.
adilger [Tue, 13 Aug 2002 21:53:30 +0000 (21:53 +0000)]
Minor fixups for error handling case.

21 years agoClean up bulk descriptor refcounting now that we do not have both
adilger [Tue, 13 Aug 2002 21:42:35 +0000 (21:42 +0000)]
Clean up bulk descriptor refcounting now that we do not have both
callback and non-callback cases.  Fix comments to reflect current reality.

21 years agoAdded a chaos12 patch, with all updates
pschwan [Tue, 13 Aug 2002 15:32:25 +0000 (15:32 +0000)]
Added a chaos12 patch, with all updates

21 years agoMiscellaneous minor changes as a result of code audit.
adilger [Mon, 12 Aug 2002 22:43:48 +0000 (22:43 +0000)]
Miscellaneous minor changes as a result of code audit.
- write lastino to disk in little-endian format (still needs to be written
  to disk for each update, so we don't try to re-allocate existing objects,
  see bug #594147).
- don't call class_conn2export() just to check "conn" validity, and then call
  class_conn2obd() to get the obd - just use obd to determine conn validity.

21 years agoAdd an echo_cleanup, for the namespace
pschwan [Mon, 12 Aug 2002 22:25:53 +0000 (22:25 +0000)]
Add an echo_cleanup, for the namespace

21 years ago- James Newsome's dlm stress test
pschwan [Mon, 12 Aug 2002 21:57:43 +0000 (21:57 +0000)]
- James Newsome's dlm stress test
- Small warning fix in filter.c

21 years agob=585183
pschwan [Mon, 12 Aug 2002 21:26:05 +0000 (21:26 +0000)]
b=585183
We weren't telling the MDS what kind of unlink we were doing (unlink vs.
rmdir), so, for example, if you called rmdir() on a file, the MDS would
remove it and then the client VFS would return -ENODIR.  Not so good.

We send a 'mode' flag along with the unlink request now, that must be one of
S_IFDIR or S_IFREG.

I also fixed some unaligned structures in the MDS protocol, so if you update
one node you must UPDATE THEM ALL.

Minutiae:
- in the intent policy function, if mds_reint returns EISDIR or ENOTDIR, still
  go ahead and send back the file attributes
- in mds_reint_unlink, use the mode sent over the wire instead of the actual
  inode mode to determine which vfs unlink function to call

21 years agoI know, let's actually set the desc field, since we're going to use it later.
shaver [Mon, 12 Aug 2002 19:59:59 +0000 (19:59 +0000)]
I know, let's actually set the desc field, since we're going to use it later.

21 years agoFirst steps at getting recovery back off the ground:
shaver [Mon, 12 Aug 2002 19:53:27 +0000 (19:53 +0000)]
First steps at getting recovery back off the ground:
* make the callback data parameter to brw functions be strongly typed as
  cb_io_data.  LOV and other non-OSC users of these facilities should
  "inherit" from this struct, see lov_callback_data for an example.
* replace l_wait_event_killable and some wait_event calls with
  l_wait_event, an all-singing, all-dancing timeout- and interrupt-handling
  event waiting macro.  More such replacement to come.
* interrupt and timeout handling of bulk data will probably crash at present,
  but it didn't really work before either -- I'll fix it up ASAP.

21 years agoNew patches for 2.4.18 and 2.4.18-um (2.4.18-chaos to follow):
pschwan [Mon, 12 Aug 2002 19:45:02 +0000 (19:45 +0000)]
New patches for 2.4.18 and 2.4.18-um (2.4.18-chaos to follow):
- Fixes, or at least makes no worse, a race condition in open()
- Fixes a handful of lookup_intent initialization bugs that eventually lead
  to LBUGs trying to free nonexistent locks (b=593739)

21 years agoMore documentation:
braam [Mon, 12 Aug 2002 02:45:32 +0000 (02:45 +0000)]
More documentation:
 - object API
 - first three flow charts
 - lock api

21 years ago- change I/O to use a pagearray
braam [Sun, 11 Aug 2002 08:15:46 +0000 (08:15 +0000)]
- change I/O to use a pagearray
- implement remaining striping function in LOV:
  - read/write
  - locking
  - truncate
- minor protocol cleanup for MDS
- change documentation to include design / architecture / manual /
  appendix parts
- add design documents:
   - managmennt api
   - network format
-

21 years agoSilence remaining 4 warnings.
gord-fig [Sat, 10 Aug 2002 19:26:10 +0000 (19:26 +0000)]
Silence remaining 4 warnings.

21 years agoBack out for a different solution.
gord-fig [Sat, 10 Aug 2002 18:30:39 +0000 (18:30 +0000)]
Back out for a different solution.

21 years agoClean up extN patch and dist rules.
gord-fig [Sat, 10 Aug 2002 17:34:56 +0000 (17:34 +0000)]
Clean up extN patch and dist rules.

21 years agoCommit prototype changes in headers.
adilger [Sat, 10 Aug 2002 10:43:59 +0000 (10:43 +0000)]
Commit prototype changes in headers.

21 years agoAnother list_add() abuse.
adilger [Sat, 10 Aug 2002 10:06:44 +0000 (10:06 +0000)]
Another list_add() abuse.

21 years agoDo proper setup/cleanup of MDS exports and client data.
adilger [Sat, 10 Aug 2002 10:05:34 +0000 (10:05 +0000)]
Do proper setup/cleanup of MDS exports and client data.

This also changes the behaviour of MDS connections so that the export
and client data is set up immediately at connect time, rather than at
"getinfo" time.  I am ASSUMING that at recovery time the client does
another connect to the MDS, or that some other mechanism is in place
so that it will get the correct export back (it looks like this is
correct, but I didn't follow the whole code path through for recovery).

I was torn on whether to zap the on-disk MDS client record in the case
where it does a proper disconnect.  In the end I decided against it,
because it was too difficult to pass a parameter to the mds_disconnect()
call telling whether we should zap or not.  We don't want to change the
disk if there is some error in restarting after a failure or if we are
forcibly shutting down the MDS, but only on a clean disconnect by the
client.

So far, the only potential harm that comes from not doing the zapping
of the client record is that we get an (empty) export for each client
that shut down cleanly (and was not overwritten) on the last MDS incarnation.
On the following MDS incarnation this client export will be dropped
because the incarnation number is too low (assuming it remains unused).

Another thing of note is that we pass "struct file *" back to the client
upon open, and dereference this at close time.  We need to move this
into the export struct and pass a cookie to the client (and validate
the cookie) instead of (or in addition to) passing the pointer directly.
This is needed for recovery of the client open state anyways...

21 years agoFix LDLM namespace leak in client_obd_connect() if there is an error
adilger [Sat, 10 Aug 2002 09:50:12 +0000 (09:50 +0000)]
Fix LDLM namespace leak in client_obd_connect() if there is an error
connecting (i.e. bad UUID given for the target).

Fix semaphore imbalance in client_obd_disconnect() if we try to disconnect
an already disconnected device.

21 years agoUse list_heads properly. In a few places we were using them incorrectly:
adilger [Sat, 10 Aug 2002 09:46:25 +0000 (09:46 +0000)]
Use list_heads properly.  In a few places we were using them incorrectly:

BAD:  list_add(&list_item, list_head.prev);  Overwrites the adjacent field.
GOOD: list_add_tail(&list_item, list_head);

While the following usage is technically correct, it does encourage people
to use the above (incorrect) usage pattern, so it should be avoided:

BAD:  list_add(&list_item, list_head.next);
GOOD: list_add_tail(&list_item, &list_head);

Just FYI - list_add() is like a queue, while list_add_tail() is like a stack,
when iterating over items via list_for_each().