Whamcloud - gitweb
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...
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.
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().
adilger [Sat, 10 Aug 2002 09:38:46 +0000 (09:38 +0000)]
Make the UUIDs more unique by appending the hostname, otherwise the MDS
gets confused about exports when there are multiple clients.
Robert - the same thing (or better) needs to be done for lctl also.
rread [Fri, 9 Aug 2002 19:57:54 +0000 (19:57 +0000)]
- update sample uml.xml
rread [Fri, 9 Aug 2002 19:56:52 +0000 (19:56 +0000)]
- support mounting osc or lov
rread [Fri, 9 Aug 2002 19:55:07 +0000 (19:55 +0000)]
- ensure lovconfig returns 0 on success
gord-fig [Fri, 9 Aug 2002 03:03:54 +0000 (03:03 +0000)]
Remove lctl.h from distribution.
gord-fig [Thu, 8 Aug 2002 21:49:26 +0000 (21:49 +0000)]
Changebar support for lustre.pdf. Check out the old doc directory into doc/doc.old, then run `make chbar' to produce lustre-chbar.pdf.
pschwan [Thu, 8 Aug 2002 11:53:15 +0000 (11:53 +0000)]
It would be nice to properly type obd_enqueue() to avoid future bugs of this
nature, but the header dependency problem is tricky.
pschwan [Thu, 8 Aug 2002 11:22:35 +0000 (11:22 +0000)]
Fix stupid deadlock-causing mistake in llite file locking callback
pschwan [Thu, 8 Aug 2002 10:33:56 +0000 (10:33 +0000)]
My work goes more smoothly when I think.
pschwan [Thu, 8 Aug 2002 10:06:02 +0000 (10:06 +0000)]
more export cleanup
pschwan [Thu, 8 Aug 2002 09:57:22 +0000 (09:57 +0000)]
in ldlm_lock_dump, show the lock holder's nid and the remote lock handle
pschwan [Thu, 8 Aug 2002 09:49:39 +0000 (09:49 +0000)]
add dump_ldlm command from obdctl
pschwan [Thu, 8 Aug 2002 09:43:43 +0000 (09:43 +0000)]
- lctl seems to exit immediately if we try to 'mynid' on elan in the scripts,
so don't do that.
- kqswnal is safe to unload now
pschwan [Thu, 8 Aug 2002 09:27:39 +0000 (09:27 +0000)]
Add obdctl.h to dist list
pschwan [Thu, 8 Aug 2002 09:15:25 +0000 (09:15 +0000)]
- Don't shutdown the LDLM if other modules still have namespaces
- force cleanup of open MDS exports
- added class_disconnect_all() to that end
pschwan [Thu, 8 Aug 2002 08:32:15 +0000 (08:32 +0000)]
Remove silly LBUG
pschwan [Thu, 8 Aug 2002 08:30:28 +0000 (08:30 +0000)]
- More lctl-related common.sh fixes
- It's a little late to be fixing llmountcleanup, but I did it anyways
adilger [Thu, 8 Aug 2002 08:19:04 +0000 (08:19 +0000)]
Fixes to use lctl instead of obdctl/ptlctl/debugctl
adilger [Thu, 8 Aug 2002 07:51:27 +0000 (07:51 +0000)]
Enable htree directories.
rread [Thu, 8 Aug 2002 07:38:45 +0000 (07:38 +0000)]
new file
rread [Thu, 8 Aug 2002 07:31:29 +0000 (07:31 +0000)]
- remove old errro
rread [Thu, 8 Aug 2002 07:30:57 +0000 (07:30 +0000)]
- speedups and cleanups
rread [Thu, 8 Aug 2002 06:42:18 +0000 (06:42 +0000)]
- new xml format, generated by lmc
rread [Thu, 8 Aug 2002 06:38:27 +0000 (06:38 +0000)]
- configure lov on mds
- mds is configured with a name
pschwan [Thu, 8 Aug 2002 04:08:58 +0000 (04:08 +0000)]
Many updates to the howto
b=591845
adilger [Thu, 8 Aug 2002 01:03:43 +0000 (01:03 +0000)]
Update README to say more about lustre-HOWTO.
rread [Wed, 7 Aug 2002 23:38:29 +0000 (23:38 +0000)]
- add --mdc option
rread [Wed, 7 Aug 2002 23:28:48 +0000 (23:28 +0000)]
- reorganize so same functions are used by both obdctl and lctl
- obdctl functions moved to obd.c
- removed libxml2 dependency
shaver [Wed, 7 Aug 2002 21:46:32 +0000 (21:46 +0000)]
* Pass the connecting client's UUID (NB: not the _connection_'s UUID, the
_client_'s) through the various obd connection functions.
* Use this newfound UUID to match up the exports conjured up from reading
last_rcvd with reattaching clients.
pschwan [Wed, 7 Aug 2002 17:30:04 +0000 (17:30 +0000)]
- Updated changelog and spec file
- Changed 'obdctl' to 'lctl' in common.sh, since we don't include obdctl in
the RPM, and it Just Works
rread [Wed, 7 Aug 2002 09:07:20 +0000 (09:07 +0000)]
- the xml format used by lconf has changed considerably
- profile is embeded in node
- list of osc's on client come from lov
- other changes
- lmc generates proper configs, except mdc_ref missing on servers.
- at the top of lmc is a comment with a sample use of lmc
adilger [Wed, 7 Aug 2002 06:30:04 +0000 (06:30 +0000)]
Fix request leaks for failed intent operations.
rread [Wed, 7 Aug 2002 02:53:08 +0000 (02:53 +0000)]
- very close to functional
- lconf needs to be updated to work with new style config files
rread [Wed, 7 Aug 2002 02:52:20 +0000 (02:52 +0000)]
- refactor code in attempt to make it clearer and simpler
pschwan [Tue, 6 Aug 2002 23:05:27 +0000 (23:05 +0000)]
- Fixed an unaligned structure that I introduced yesterday
- Change a harmless lock message from CERROR to CDEBUG
adilger [Tue, 6 Aug 2002 23:02:31 +0000 (23:02 +0000)]
Tell us which locks are still outstanding at shutdown time.
rread [Tue, 6 Aug 2002 22:44:47 +0000 (22:44 +0000)]
- added buffer params to connect call
rread [Tue, 6 Aug 2002 22:30:49 +0000 (22:30 +0000)]
- support non-tcp network types
- initial support for tcp buffer sizes
adilger [Tue, 6 Aug 2002 20:34:45 +0000 (20:34 +0000)]
Return the real error code to the caller from ll_lookup2.
adilger [Tue, 6 Aug 2002 19:23:04 +0000 (19:23 +0000)]
Don't have spaces in process names.
rread [Tue, 6 Aug 2002 18:41:51 +0000 (18:41 +0000)]
- patch for alpha arch
rread [Tue, 6 Aug 2002 07:56:04 +0000 (07:56 +0000)]
- use rqswnal
rread [Tue, 6 Aug 2002 07:55:06 +0000 (07:55 +0000)]
- auto-naming is now smarter
- most basic features implemented, except for profile
pschwan [Tue, 6 Aug 2002 02:02:13 +0000 (02:02 +0000)]
- Grammatical, LDLM updates to network.lyx
- dlm cleanups, bugfixes
- there are now two totally separate DLM callback packets and functions
- beginnings of ldlm /proc bits
- the lock server can now change the lock mode, in addition to the resource
- fix one part of the open() object creation race by adding a semaphore that's
taken in ll_file_open
- some cleanup in obdclass/proc_lustre.c; much more is needed
shaver [Fri, 2 Aug 2002 13:44:57 +0000 (13:44 +0000)]
* Change mds_client_info to mds_export_data and embed it in obd_export.
* Curtail some excessive include cycles.
* Create "phantom" exports from last_rcvd data, suitable for later (soon!)
hooking up in mds_connect.
* Add class_new_export utility function for use by class_connect and
mds_read_last_rcvd.
* Fix last_mount/last_rcvd recovery-eligibility test in mds_read_last_rcvd.
* Force common.sh's DEBUG_WAIT read to use /dev/tty, so it works from scripts
like runtests. (lconf, take me away!)
adilger [Fri, 2 Aug 2002 10:58:46 +0000 (10:58 +0000)]
Use rqswnal instead of qswnal.
adilger [Fri, 2 Aug 2002 10:56:23 +0000 (10:56 +0000)]
One more obdctl remnant removed.
adilger [Fri, 2 Aug 2002 10:51:41 +0000 (10:51 +0000)]
Also comment out obdctl_SOURCES, otherwise it will fail to configure.
braam [Thu, 1 Aug 2002 23:27:40 +0000 (23:27 +0000)]
- send client UUID over in the connect calls
rread [Thu, 1 Aug 2002 20:52:20 +0000 (20:52 +0000)]
- lmc refactored for impending enhancments
- now uses the PrettyPrint in PyXML
rread [Thu, 1 Aug 2002 17:38:49 +0000 (17:38 +0000)]
- disable obdctl from being built; use lctl now
rread [Thu, 1 Aug 2002 17:34:27 +0000 (17:34 +0000)]
- remove check for libxml2, since it is soon going away and the check
appears to be failing
rread [Thu, 1 Aug 2002 17:32:52 +0000 (17:32 +0000)]
- new config
pschwan [Thu, 1 Aug 2002 17:19:11 +0000 (17:19 +0000)]
Landing random changes that were somehow never committed: a warning about an
unused variable, the finished OST netfailure script, a couple LBUGs to catch
bad API usage
adilger [Thu, 1 Aug 2002 16:20:25 +0000 (16:20 +0000)]
Ignore generated include files.
adilger [Thu, 1 Aug 2002 16:19:35 +0000 (16:19 +0000)]
Ignore munlink binary.
adilger [Thu, 1 Aug 2002 00:13:20 +0000 (00:13 +0000)]
Still do lustre setup if portals is loaded, but no NAL is...
adilger [Thu, 1 Aug 2002 00:12:19 +0000 (00:12 +0000)]
Include failed operation for the RPC failures.
adilger [Thu, 1 Aug 2002 00:11:06 +0000 (00:11 +0000)]
- Set valid flags in llite and not OSC. It does not make sense for the OSC
layer to be needed for llite->OBD operations to work properly.
- Set LOV EA size in mds_reint_unlink, so we use the EA data to unlink object.
- Remove extNisms from MDS code (mds_fs_get_md()) will return status if
there is an available EA, and what size it is.
- Handle error on open intent, to avoid spurious actions on non-existent file.
- Rename OBD_MD_FLOBJID to OBD_MD_FLEASIZE to more accurately name it.
adilger [Thu, 1 Aug 2002 00:01:18 +0000 (00:01 +0000)]
Add munlink tool which unlinks files without stat first (unlike GNU rm).
braam [Wed, 31 Jul 2002 20:49:39 +0000 (20:49 +0000)]
- move the peter branch changes to the head
adilger [Wed, 31 Jul 2002 19:19:28 +0000 (19:19 +0000)]
Zero the intent for new dentries.
rread [Tue, 30 Jul 2002 23:19:49 +0000 (23:19 +0000)]
file mds-failover.xml was initially added on branch peter.
adilger [Tue, 30 Jul 2002 21:01:47 +0000 (21:01 +0000)]
Always return a valid pointer or an error code from mds_*2locked_dentry().
rread [Tue, 30 Jul 2002 07:39:47 +0000 (07:39 +0000)]
- change auto detect for readline to explicit args
rread [Tue, 30 Jul 2002 05:24:28 +0000 (05:24 +0000)]
- delete llxmlsetup.sh
rread [Tue, 30 Jul 2002 05:15:08 +0000 (05:15 +0000)]
- deleted
rread [Tue, 30 Jul 2002 04:50:35 +0000 (04:50 +0000)]
- use ncurses when looking for readline
rread [Tue, 30 Jul 2002 01:50:29 +0000 (01:50 +0000)]
fix readline
adilger [Sat, 27 Jul 2002 22:17:58 +0000 (22:17 +0000)]
Set OST/DLM variables even if portals already set up.
Hide extraneous error message.
gord-fig [Sat, 27 Jul 2002 08:07:22 +0000 (08:07 +0000)]
Distribute obdfs, put modules in /lib/modules//kernel/fs/lustre.
adilger [Sat, 27 Jul 2002 07:59:05 +0000 (07:59 +0000)]
Use modprobe to load modules in non-testing mode.
gord-fig [Sat, 27 Jul 2002 05:52:05 +0000 (05:52 +0000)]
Include test data in distribution.
adilger [Sat, 27 Jul 2002 05:49:25 +0000 (05:49 +0000)]
Don't try to remove kqswnal module, it oopses the kernel.
gord-fig [Sat, 27 Jul 2002 05:28:52 +0000 (05:28 +0000)]
Add test scripts to distribution.
rread [Sat, 27 Jul 2002 01:26:06 +0000 (01:26 +0000)]
- add --get url option to lconf
- bug fixes
rread [Sat, 27 Jul 2002 01:25:18 +0000 (01:25 +0000)]
- new xml config for a 3 uml setup
- use modules.cfg with llmodules
adilger [Fri, 26 Jul 2002 23:25:29 +0000 (23:25 +0000)]
Updated patch for chaos11 (same as chaos10)
gord-fig [Fri, 26 Jul 2002 22:29:08 +0000 (22:29 +0000)]
Update HOWTO version block.
> Move master.bib to lustre.bib to be consistent.
gord-fig [Fri, 26 Jul 2002 21:51:21 +0000 (21:51 +0000)]
lustre.pdf depends on lustre-HOWTO.lyx
gord-fig [Fri, 26 Jul 2002 19:32:46 +0000 (19:32 +0000)]
Insert header comments so RPM doesn't get confused.
pschwan [Fri, 26 Jul 2002 18:54:59 +0000 (18:54 +0000)]
One last fix from yesterday, for forced DLM cleanup after network timeouts
gord-fig [Fri, 26 Jul 2002 18:38:08 +0000 (18:38 +0000)]
Tweak RPMs
adilger [Fri, 26 Jul 2002 18:22:32 +0000 (18:22 +0000)]
Same compile warnings for lustre.
adilger [Fri, 26 Jul 2002 18:07:17 +0000 (18:07 +0000)]
Fix unused variable warning.
rread [Fri, 26 Jul 2002 16:54:56 +0000 (16:54 +0000)]
- small include changes needed compile on powerpc
rread [Fri, 26 Jul 2002 16:52:19 +0000 (16:52 +0000)]
remove hardcoded -lreadline
rread [Fri, 26 Jul 2002 16:51:43 +0000 (16:51 +0000)]
- clean up xml and dtd
rread [Fri, 26 Jul 2002 16:48:54 +0000 (16:48 +0000)]
- add support for building without libreadline
gord-fig [Fri, 26 Jul 2002 05:27:20 +0000 (05:27 +0000)]
Drop TAG from EXTRA_DIST.
gord-fig [Fri, 26 Jul 2002 05:23:17 +0000 (05:23 +0000)]
Every checkin changes the tag, but this should do it.
rread [Fri, 26 Jul 2002 05:21:11 +0000 (05:21 +0000)]
- add network element
- slightly improved output
gord-fig [Fri, 26 Jul 2002 05:17:50 +0000 (05:17 +0000)]
More scientific CVS tag experimentation.
rread [Fri, 26 Jul 2002 05:16:59 +0000 (05:16 +0000)]
- cosmetic fixes
gord-fig [Fri, 26 Jul 2002 05:14:54 +0000 (05:14 +0000)]
Another shot at CVS tag substitution.
rread [Fri, 26 Jul 2002 05:06:28 +0000 (05:06 +0000)]
- use llmodules.sh to load modules now
- all networking config (except for the modules) is now in lconf
gord-fig [Fri, 26 Jul 2002 03:14:45 +0000 (03:14 +0000)]
Properly munge CVS/Tag.