Whamcloud - gitweb
fs/lustre-release.git
22 years agoAdd a helper function to abstract the actual location of the UUID, to
adilger [Sat, 27 Apr 2002 08:22:03 +0000 (08:22 +0000)]
Add a helper function to abstract the actual location of the UUID, to
avoid the need for changes when UUIDs move around.

22 years agoRemove redundant inode parameter from mds_fs_journal_data().
adilger [Sat, 27 Apr 2002 00:20:46 +0000 (00:20 +0000)]
Remove redundant inode parameter from mds_fs_journal_data().

22 years agoAdd lustre_fsync() helper function.
adilger [Sat, 27 Apr 2002 00:17:13 +0000 (00:17 +0000)]
Add lustre_fsync() helper function.

22 years agoAdd last_committed, last_rcvd, and last_xid to the RPC mds_body.
adilger [Sat, 27 Apr 2002 00:16:14 +0000 (00:16 +0000)]
Add last_committed, last_rcvd, and last_xid to the RPC mds_body.

22 years agoUpdate journal callback patch so that we can tell if it is applied.
adilger [Fri, 26 Apr 2002 15:59:27 +0000 (15:59 +0000)]
Update journal callback patch so that we can tell if it is applied.

22 years agoAdd support for JBD journal callbacks to update MDS last_committed value.
adilger [Fri, 26 Apr 2002 15:57:30 +0000 (15:57 +0000)]
Add support for JBD journal callbacks to update MDS last_committed value.
This needs the most recent kernel patch in order to work properly.  If
the kernel patch isn't applied, you will get a message like:

"no journal callback kernel patch, faking it..."

Likewise, ext2 has "fake" support for commit callbacks.

22 years agoAdd callbacks from the JBD (journal) to allow async notification of when
adilger [Wed, 24 Apr 2002 21:09:30 +0000 (21:09 +0000)]
Add callbacks from the JBD (journal) to allow async notification of when
a handle has been committed to disk.

22 years agoAdd client RPC xid to per-client last_rcvd data. If the MDS dies but the
adilger [Wed, 24 Apr 2002 20:16:19 +0000 (20:16 +0000)]
Add client RPC xid to per-client last_rcvd data.  If the MDS dies but the
client lives, the on-disk xid tells the client which operations the MDS
has completed, even if the client never got a reply (hence no last_rcvd #).

22 years agoCode to update the last_rcvd file within a transaction.
adilger [Wed, 24 Apr 2002 20:03:54 +0000 (20:03 +0000)]
Code to update the last_rcvd file within a transaction.

22 years agoMinor fixups to avoid warnings on 64-bit platforms.
adilger [Wed, 24 Apr 2002 08:46:14 +0000 (08:46 +0000)]
Minor fixups to avoid warnings on 64-bit platforms.

22 years agoNice change to the OBD_ALLOC and OBD_FREE macros - it prints the name of
adilger [Wed, 24 Apr 2002 08:34:15 +0000 (08:34 +0000)]
Nice change to the OBD_ALLOC and OBD_FREE macros - it prints the name of
the pointer which is being allocated or freed, to make debugging easier.

22 years agoThe code to read the last_rcvd file at MDS startup.
adilger [Wed, 24 Apr 2002 08:32:47 +0000 (08:32 +0000)]
The code to read the last_rcvd file at MDS startup.

22 years agoDon't print out bogus rootfid on error.
adilger [Wed, 24 Apr 2002 08:15:49 +0000 (08:15 +0000)]
Don't print out bogus rootfid on error.

22 years agoAdd llcleanup.sh script. This is the opposite of the llsetup.sh script,
adilger [Wed, 24 Apr 2002 06:31:47 +0000 (06:31 +0000)]
Add llcleanup.sh script.  This is the opposite of the llsetup.sh script,
and also needs a config file in order to work.  Some time soon when
network configuration is included, this will be able to do the network
cleanup, unlike the "llmountcleanup.sh" script.

22 years agoAdd in a bit of explanation to the config file documentation. Also added
adilger [Wed, 24 Apr 2002 06:29:55 +0000 (06:29 +0000)]
Add in a bit of explanation to the config file documentation.  Also added
some notes about the 'runtests' test.

22 years agoUpdate the new test configuration stuff to use the newly implemented obdctl
adilger [Wed, 24 Apr 2002 06:07:15 +0000 (06:07 +0000)]
Update the new test configuration stuff to use the newly implemented obdctl
features (newdev, name2dev FOO, and setup $FOO).  Also changed the "runtests"
script over to using the new configuration setup so that it is easier to run
with both ext2/ext3 MDS and obdext2/obdfilter OBDs.

22 years agoFixups to handle error recovery when we are out of memory. Some of them
adilger [Wed, 24 Apr 2002 06:00:47 +0000 (06:00 +0000)]
Fixups to handle error recovery when we are out of memory.  Some of them
need a bit closer inspection, but should be mostly correct.

22 years agoAllow obdctl to use "$OBDDEV" to resolve a device number in setup.
adilger [Wed, 24 Apr 2002 05:56:16 +0000 (05:56 +0000)]
Allow obdctl to use "$OBDDEV" to resolve a device number in setup.

This required changing the NAME2DEV ioctl so that it didn't change the
currently selected device when it was resolving a name.  Now the NAME2DEV
ioctl only resolves the name, and obdctl selects the returned device
explicitly (to user-space the "name2dev" command works exactly the same).

Cleaned up setup scripts to remove last vestiges of hard-coded device numbers.
Instead we use "setup $OBDDEV" (note that the '$' must be escaped from the
shell if using it in a shell script).

22 years agoAdded nesting of journaled operations to last_rcvd file. Currently has a
adilger [Wed, 24 Apr 2002 01:16:55 +0000 (01:16 +0000)]
Added nesting of journaled operations to last_rcvd file.  Currently has a
no-op for the last_rcvd update.

22 years agoOnly set up the MDS service after the filesystem-specific stuff is set up.
adilger [Wed, 24 Apr 2002 00:50:51 +0000 (00:50 +0000)]
Only set up the MDS service after the filesystem-specific stuff is set up.
Still working towards my broken tree - haven't hit the problem yet.

22 years agoSmall start to committing MDS changes. Testing/committing in separate tree
adilger [Tue, 23 Apr 2002 22:03:30 +0000 (22:03 +0000)]
Small start to committing MDS changes.  Testing/committing in separate tree
to ensure they are not the cause of my problems.  This one just adds new
fields into the MDS structs (no functional change).

22 years agoChange llext3.sh and llrmount.sh to use obdfilter, so that mount/remount
adilger [Tue, 23 Apr 2002 21:44:42 +0000 (21:44 +0000)]
Change llext3.sh and llrmount.sh to use obdfilter, so that mount/remount
will work properly.  Fixes "fatal - invalid inode" bug Peter reported.

22 years agoCommit minor cleanups to reduce size of outstanding changes in my tree.
adilger [Tue, 23 Apr 2002 21:33:05 +0000 (21:33 +0000)]
Commit minor cleanups to reduce size of outstanding changes in my tree.

22 years agoMore changes to OBDDEV so that cleanup works properly.
adilger [Tue, 23 Apr 2002 21:26:12 +0000 (21:26 +0000)]
More changes to OBDDEV so that cleanup works properly.

22 years agoAnother change to OBDDEV so that cleanup works properly.
adilger [Tue, 23 Apr 2002 21:18:49 +0000 (21:18 +0000)]
Another change to OBDDEV so that cleanup works properly.

22 years agoUse debugging macros to aid in tracing.
adilger [Tue, 23 Apr 2002 20:57:36 +0000 (20:57 +0000)]
Use debugging macros to aid in tracing.

22 years agoRemove extraneous RSH_MDS from elan-server.cfg.
adilger [Tue, 23 Apr 2002 20:55:19 +0000 (20:55 +0000)]
Remove extraneous RSH_MDS from elan-server.cfg.
Use OBDDEV for llext3.sh setup script, so cleanup works.

22 years agoFix symlinks when building a new tree outside the source tree.
adilger [Tue, 23 Apr 2002 20:30:30 +0000 (20:30 +0000)]
Fix symlinks when building a new tree outside the source tree.

22 years ago- newdev feature in obdctl
braam [Tue, 23 Apr 2002 19:23:24 +0000 (19:23 +0000)]
- newdev feature in obdctl

22 years agoDescription how to run the tests
braam [Tue, 23 Apr 2002 18:52:46 +0000 (18:52 +0000)]
Description how to run the tests

22 years agoMissed one of the "OBDDEV" changes to allow common cleanup in llecho.sh.
adilger [Tue, 23 Apr 2002 07:37:38 +0000 (07:37 +0000)]
Missed one of the "OBDDEV" changes to allow common cleanup in llecho.sh.

22 years agoCleanup - avoid extraneous indirection in ost_brw_write_cb().
adilger [Tue, 23 Apr 2002 07:36:15 +0000 (07:36 +0000)]
Cleanup - avoid extraneous indirection in ost_brw_write_cb().

22 years agoMinor cleanups, get ready to make statfs not complain.
adilger [Tue, 23 Apr 2002 07:33:49 +0000 (07:33 +0000)]
Minor cleanups, get ready to make statfs not complain.

22 years agoAdd in UUID fields.
adilger [Tue, 23 Apr 2002 07:33:04 +0000 (07:33 +0000)]
Add in UUID fields.

22 years agoAdd a couple of helper functions to get ll data from a superblock.
adilger [Tue, 23 Apr 2002 07:30:13 +0000 (07:30 +0000)]
Add a couple of helper functions to get ll data from a superblock.

22 years agoUpdate scripts to use name2dev.
adilger [Tue, 23 Apr 2002 07:28:39 +0000 (07:28 +0000)]
Update scripts to use name2dev.
For OST devices, use "OBDDEV" for all types (ext2obd,filterobd,echo) so that
you can clean them all up the same way.

22 years agoClean and restart up before running the removal test.
adilger [Tue, 23 Apr 2002 07:21:40 +0000 (07:21 +0000)]
Clean and restart up before running the removal test.

22 years agoUse underscores instead of dashes in device environment variables.
adilger [Tue, 23 Apr 2002 07:20:35 +0000 (07:20 +0000)]
Use underscores instead of dashes in device environment variables.

22 years agoReturn an error from simple_mkdir() if the target exists and isn't a directory.
adilger [Tue, 23 Apr 2002 07:15:49 +0000 (07:15 +0000)]
Return an error from simple_mkdir() if the target exists and isn't a directory.

22 years agoClear the current device in the filehandle if name2dev fails.
adilger [Tue, 23 Apr 2002 07:14:51 +0000 (07:14 +0000)]
Clear the current device in the filehandle if name2dev fails.

22 years ago64-bit warning fixes. Someone should take a closer look at ext2_obd.c
pschwan [Mon, 22 Apr 2002 22:06:42 +0000 (22:06 +0000)]
64-bit warning fixes.  Someone should take a closer look at ext2_obd.c

22 years agoCosmetic cleanup.
adilger [Mon, 22 Apr 2002 18:26:50 +0000 (18:26 +0000)]
Cosmetic cleanup.

22 years agoOnly put the ldlm connection if we are not connected locally.
adilger [Mon, 22 Apr 2002 18:18:28 +0000 (18:18 +0000)]
Only put the ldlm connection if we are not connected locally.

22 years agoAdd mds_fs_journal_data() method to enable data journaling on last_rcvd file.
adilger [Mon, 22 Apr 2002 18:15:42 +0000 (18:15 +0000)]
Add mds_fs_journal_data() method to enable data journaling on last_rcvd file.

22 years agoFix minor error in error checking.
adilger [Mon, 22 Apr 2002 18:12:37 +0000 (18:12 +0000)]
Fix minor error in error checking.

22 years agoFix MDS dir truncation bug.
adilger [Mon, 22 Apr 2002 18:11:30 +0000 (18:11 +0000)]
Fix MDS dir truncation bug.

22 years ago- minor further changes to the test script:
braam [Mon, 22 Apr 2002 17:34:25 +0000 (17:34 +0000)]
- minor further changes to the test script:
 - add a fail function to common.sh to notify user that umount failed

- give all attaches a name.
- clean up llmountcleanup.sh with name2dev
- remove debugging printouts from obdctl

22 years ago- small changes to name2dev:
braam [Mon, 22 Apr 2002 16:51:27 +0000 (16:51 +0000)]
- small changes to name2dev:
  Usage:
    obdctl > attach osc THEOSC
    obdctl > quit
    mount -t lustre_lite -o device=`obdctl name2dev THEOSC` none /mnt/lustre

- free a tiny leak
- temporary fix to runfailure-net
- also add to obdctl the setting of an environment variable when
  setting the name of a device.  Not clear yet if this is useful.

22 years ago- fix mds_connect memory leak
braam [Mon, 22 Apr 2002 06:56:45 +0000 (06:56 +0000)]
- fix mds_connect memory leak
- install name parameter for jt_attach in obdctl
- add name2dev feature to find device by name

22 years ago- rename ha_mgr to recovd
braam [Mon, 22 Apr 2002 05:57:35 +0000 (05:57 +0000)]
- rename ha_mgr to recovd
- rename connmgr_obd to recovd_obd
- pack fids as part of body_pack/body_unpack
- do body_pack/unpack for both requests and replies
- clean up 3 different groups of constants:
 - PTL_RPC_MSG_ERR/REQUEST -- into _idl: part of lustre_msg
 - PTL_RPC_FL_{TIMEOUT,REPLY...,} -- bitmask part of request->rq_flags
      will control the state machine for recovery somewhat
 - PTL_RPC_TYPE_REQUEST/REPLY -- request->rq_type:
      to determine what kind of packet is being sent
- ptlrpc_error: set the msg type field to an error message, otherwise
  the reply body is accidentally unpacked
- add a c_level field to the connection: the level will control what
  RPC's will go out during recovery and which ones are held up until
  recovery completes. This will be compared with an rq_level field
  (still to be added).
- mdc_connect further finished:
 - it gets the fid of ROOT on the MDS and
 - llite/super.c now uses that as the root inode. Didn't see major
   havoc.
 - the mds has a mds_rootfid field accordingly. This is set in
   mds_prep.

22 years agoInitialize ldlm_resources at allocation time instead of at ldlm_setup()
adilger [Thu, 18 Apr 2002 21:19:57 +0000 (21:19 +0000)]
Initialize ldlm_resources at allocation time instead of at ldlm_setup()
time, so we don't oops if ldlm_setup has not been called yet.

22 years agoIt is pretty important that Lustre knows when the DLM for a given service is
pschwan [Thu, 18 Apr 2002 16:54:00 +0000 (16:54 +0000)]
It is pretty important that Lustre knows when the DLM for a given service is
running on the local machine.

22 years agoUse a new ptlrpc_client->cli_lock to protect the cli lists.
pschwan [Thu, 18 Apr 2002 04:11:27 +0000 (04:11 +0000)]
Use a new ptlrpc_client->cli_lock to protect the cli lists.

22 years ago- fixed some warnings in the DLM
pschwan [Thu, 18 Apr 2002 03:00:36 +0000 (03:00 +0000)]
- fixed some warnings in the DLM
- fixed the connection reference leak when bulk is used
- fixed, I hope, a race condition with the HA lists that was corrupting memory

22 years agoThe more controversial changes, although my tree finally works:
pschwan [Wed, 17 Apr 2002 17:49:27 +0000 (17:49 +0000)]
The more controversial changes, although my tree finally works:

- if the enqueue_lock RPC doesn't return an immediately granted lock, go to
  sleep
- when the callback RPC is received, wake that process up
- LBUG if we try to free a lock that still has children
- set the completion_ast at the end of local_lock_enqueue, to avoid doing a
  spurious RPC in the case of an immediately granted lock
- removed ldlm_server_conn, in favour of using the MDS/OST connections that
  already exist.
- don't do remote locking RPCs if the lock is managed locally
- fixed some osc_setup error cases
- create a namespace at mount time

22 years agoThe noncontroversial portion of the last few days of changes:
pschwan [Wed, 17 Apr 2002 17:39:07 +0000 (17:39 +0000)]
The noncontroversial portion of the last few days of changes:

- ENTRY/EXIT/RETURN cleanups
- extraneous header file removal
- made forgetting the 'setup' arguments in MDS/OST less fatal
- added the connection and token to the CONNECT RPC, so that we can do the
  pointer/token connection trick now
- fixed the 60 byte/-60 byte "leak"
- added ptlrpc and ldlm setup to llmount.sh, llrmount.sh, -client, and -server

22 years agoAdd mount_count file to hold the current MDS generation number. Note that
adilger [Tue, 16 Apr 2002 07:22:49 +0000 (07:22 +0000)]
Add mount_count file to hold the current MDS generation number.  Note that
you cannot read this file from userspace, because it will (mistakenly) think
that this file lives on the OST and LBUG if that inode isn't allocated, or
you will get garbage data.  The kernel code has no problem reading it, of
course.  This LBUG will go away with EAs and/or when we start mounting the
ROOT directory, at which point you will not be able to read the file at all.

22 years agoOpen/create the last_rcvd file for MDS at filesystem mount time and close it
adilger [Mon, 15 Apr 2002 22:29:36 +0000 (22:29 +0000)]
Open/create the last_rcvd file for MDS at filesystem mount time and close it
when we unmount the filesystem.  Also check error returns from mkdir on FH
and ROOT directories (ignore EEXIST only).

22 years agoFix up thread exit status. It _should_ be returning 0 from WIFEXITED() when
adilger [Mon, 15 Apr 2002 21:12:49 +0000 (21:12 +0000)]
Fix up thread exit status.  It _should_ be returning 0 from WIFEXITED() when
there was an error (well, according to the wait(2) man page), but instead it
appears to just tell is if this PID has exited or not.

22 years agotests/Makefile.am: remove ldaptest.c from build list, it doesn't build
adilger [Mon, 15 Apr 2002 21:10:02 +0000 (21:10 +0000)]
tests/Makefile.am: remove ldaptest.c from build list, it doesn't build
tests/*.sh: add ptlrpc setup to config scripts
tests/runtests: use "sh ll*.sh" in case the script isn't executable

22 years agoGrab the inode semaphore per VFS locking rules in the MDS reint path.
adilger [Mon, 15 Apr 2002 20:12:17 +0000 (20:12 +0000)]
Grab the inode semaphore per VFS locking rules in the MDS reint path.

22 years agoOptimize write-full-page so that we don't read in a page full of data we
adilger [Mon, 15 Apr 2002 19:51:09 +0000 (19:51 +0000)]
Optimize write-full-page so that we don't read in a page full of data we
are not going to use.  This should speed up the rewrite tests in iozone.

Split the lustre_get_page() into two functions - lustre_get_page_read()
and lustre_get_page_write().  The first one reads in the page, and the
second one just gets the page locked but without any data.

22 years ago- new file
braam [Mon, 15 Apr 2002 18:50:01 +0000 (18:50 +0000)]
- new file

22 years ago- added, may prove useful as the first 20 lines of code.
braam [Mon, 15 Apr 2002 17:59:46 +0000 (17:59 +0000)]
- added, may prove useful as the first 20 lines of code.

22 years agoFixed build break
pschwan [Mon, 15 Apr 2002 16:34:45 +0000 (16:34 +0000)]
Fixed build break

22 years agoFixed build break
pschwan [Mon, 15 Apr 2002 16:33:15 +0000 (16:33 +0000)]
Fixed build break

22 years agoWARNING - if an RPC times out you will crash older UML's.
braam [Mon, 15 Apr 2002 08:13:59 +0000 (08:13 +0000)]
WARNING - if an RPC times out you will crash older UML's.

Update your user mode linux to the 2.4.18 um15 + extra patch
  take source from ftp.lustre.org:/pub/people/robert
[call_usermode_helper has a bug in older versions of UML]

- new infrastructure for MDS failover recovery
  - recovd replaces the ha daemon. Now located in RPC directory
  - this comes with a service daemon to answer connect calls
  - wrapped it in an obd, for management purposes, and to be able
    to run multiple daemons on one system eventually
- commit callback daemon added to the lustre_lite directory
- removed small amounts of dead code from the rpc directory
- this code has seen little testing
- added the configuration management section to the master document

22 years agoPopulate 'peer' before using it.
pschwan [Mon, 15 Apr 2002 07:10:37 +0000 (07:10 +0000)]
Populate 'peer' before using it.

22 years agoFixed some thinkos in the remote connection/token stuff. Fixed a typo in the
pschwan [Mon, 15 Apr 2002 05:44:51 +0000 (05:44 +0000)]
Fixed some thinkos in the remote connection/token stuff.  Fixed a typo in the
previous lock init fix.

22 years agoptlrpc_client->cli_lock moved to ptlrpc_connection->c_lock, but I'd forgotten
pschwan [Mon, 15 Apr 2002 05:14:38 +0000 (05:14 +0000)]
ptlrpc_client->cli_lock moved to ptlrpc_connection->c_lock, but I'd forgotten
to move the spin_lock_init().  Fixed.

22 years ago- added connection structure which encompasses some (but perhaps not enough yet)
pschwan [Sat, 13 Apr 2002 17:01:01 +0000 (17:01 +0000)]
- added connection structure which encompasses some (but perhaps not enough yet)
HA elements and a lustre_peer.  see rpc/connection.c or lustre_net.h for the
very-simple API
- removed many duplicated structure entries from the RPC path
- broke local_lock_enqueue into two functions; create the lock, do the remote
operation, do the local operation.
- the shadow local lock tree is implemented, but not tested.

22 years agoAdd elan config files (not sure if they are correct, but someone will fix
adilger [Fri, 12 Apr 2002 17:00:25 +0000 (17:00 +0000)]
Add elan config files (not sure if they are correct, but someone will fix
that).

22 years ago- add a new directory for extN file system: ext3 with new features
braam [Fri, 12 Apr 2002 16:28:04 +0000 (16:28 +0000)]
- add a new directory for extN file system: ext3 with new features
 - placed large directory patch in this directory.

22 years agoRenamed a few of the config files so that they are grouped more logically
adilger [Thu, 11 Apr 2002 20:56:50 +0000 (20:56 +0000)]
Renamed a few of the config files so that they are grouped more logically
together.

22 years agoA regression test for networking (probably using the echo device).
adilger [Thu, 11 Apr 2002 10:05:33 +0000 (10:05 +0000)]
A regression test for networking (probably using the echo device).

It runs test_getattrs, test_brw (read, then write).  First simple tests,
then increasing in size, threads, etc.

This uses the new config setup, so it needs to be run like:

runregression-net.sh local.cfg echo.cfg client-echo.cfg

Still doesn't work correctly (details to be worked on include proper
cleanup, remote setup of the server, remote debugging, etc).

22 years agoSplit out the various common configurations into simple config files.
adilger [Thu, 11 Apr 2002 10:00:24 +0000 (10:00 +0000)]
Split out the various common configurations into simple config files.
These will be used by various scripts for configuration, and can be
copied, combined, edited for each user as desired.

The llsetup.sh script will do the appropriate configuration based on
the config scripts that are passed.  For example:

llmount.sh == llsetup.sh local.cfg client-mount.cfg mds.cfg obdext2.cfg
llecho.sh  == llsetup.sh local.cfg client-echo.cfg echo.cfg
llmount-server.sh = llsetup.sh server-net.cfg mds.cfg obdext2.cfg
llmount-client.sh = llsetup.sh client-net.cfg client-mount.cfg

It is of course possible to combine several of the config files into a
single file for ease of typing, these ones are just the basics, e.g.

llsetup.sh peter.cfg
llsetup.sh adilger.cfg

By default it will also check in $HOME/.lustrerc for configuration before
parsing the specified config files.

None of the other scripts have been moved over to this config setup yet.

Still TODO: remote server setup

22 years agoConsolidate verbose flag parsing.
adilger [Wed, 10 Apr 2002 23:10:21 +0000 (23:10 +0000)]
Consolidate verbose flag parsing.

22 years agoChange the "silent" handling code to be "verbose" handling. The devault is
adilger [Wed, 10 Apr 2002 23:02:57 +0000 (23:02 +0000)]
Change the "silent" handling code to be "verbose" handling.  The devault is
still to print each item as it happens, but now there are more options.

- you can use letters 's' or 'q' to be silent/quiet
- you can use letter 'v' to be verbose (default, print each item)
- you can use positive numbers to show each Nth item (default = 1, like 'v')
- you can use negative numbers to show output every -N seconds

The "--threads" command now takes a mandatory "verbose" flag because with
large numbers of threads it is too much output.  Note that this flag only
applies to the spawning of the threads and not the individual commands
(which can have their verbosity specified separately).

Example:

          device number-v v-command    v------v-command args
obdctl --threads 100 20 2 test_getattr 10000 -5
    threads count-^   ^-threads verbosity     ^-test_getattr verbosity

- run 100 threads, and print status for each 20th thread started
- on device 2 run test_getattr for 10000 attrs and print status once per 5sec

22 years agoMention new --device flag for running obdctl commands instead of old way.
adilger [Wed, 10 Apr 2002 22:33:11 +0000 (22:33 +0000)]
Mention new --device flag for running obdctl commands instead of old way.

22 years agoWe already create /mnt/lustre in setup_lustre if it doesn't exist.
adilger [Wed, 10 Apr 2002 22:31:39 +0000 (22:31 +0000)]
We already create /mnt/lustre in setup_lustre if it doesn't exist.

22 years ago- More Peter's additions for the ha manager. This doesn't seem to break much -
braam [Wed, 10 Apr 2002 19:25:43 +0000 (19:25 +0000)]
- More Peter's additions for the ha manager. This doesn't seem to break much -
  but this code hasn't been tested much.

22 years agoNo new functionality outside of the DLM. ptlrpc_client no longer contains
pschwan [Wed, 10 Apr 2002 16:27:43 +0000 (16:27 +0000)]
No new functionality outside of the DLM.  ptlrpc_client no longer contains
a peer, so the peer is passed in and managed separately.

- All of the DLM calls are hooked up to the RPC system now
- Some unmaintained local processing code removed
- Added ldlm network-related bits to the test scripts

22 years agoSupport for running multiple threads with a single command. This adds
adilger [Wed, 10 Apr 2002 04:48:27 +0000 (04:48 +0000)]
Support for running multiple threads with a single command.  This adds
the "--threads" parameter, which takes as arguments the number of threads
to fork, the device number, and the command (and optional arguments) to run.
Usage is similar to the "--device" command, with an additional argument.
("--threads 1 X <foo>" does about the same thing as "--device X <foo>").

Usage example:

# tests/llecho.sh

# utils/obdctl --threads 5 2 test_getattr 5000 q
--threads: starting 5 threads on device 2 running test_getattr
--threads: thread 1 (PID 6029) started
--threads: thread 2 (PID 6030) started
test_getattr-1: 5000 attrs (testing only): Tue Apr  9 22:45:25 2002
test_getattr-2: 5000 attrs (testing only): Tue Apr  9 22:45:25 2002
test_getattr-3: 5000 attrs (testing only): Tue Apr  9 22:45:25 2002
--threads: thread 3 (PID 6031) started
--threads: thread 4 (PID 6032) started
--threads: thread 5 (PID 6033) started
test_getattr-5: 5000 attrs (testing only): Tue Apr  9 22:45:25 2002
test_getattr-4: 5000 attrs (testing only): Tue Apr  9 22:45:25 2002
test_getattr-2: 5000 attrs in 17.24s (290.1 attr/s): Tue Apr  9 22:45:42 2002
test_getattr-3: 5000 attrs in 17.26s (289.7 attr/s): Tue Apr  9 22:45:42 2002
test_getattr-1: 5000 attrs in 17.29s (289.2 attr/s): Tue Apr  9 22:45:42 2002
test_getattr-4: 5000 attrs in 17.26s (289.8 attr/s): Tue Apr  9 22:45:42 2002
test_getattr-5: 5000 attrs in 17.31s (288.9 attr/s): Tue Apr  9 22:45:42 2002

# utils/obdctl --threads 5 2 test_brw 5000 w q
--threads: starting 5 threads on device 2 running test_brw
--threads: thread 1 (PID 5997) started
--threads: thread 2 (PID 5998) started
test_brw-2: reading 5000 (1x1 pages) (testing only): Tue Apr 9 22:37:28 2002
test_brw-1: reading 5000 (1x1 pages) (testing only): Tue Apr 9 22:37:28 2002
--threads: thread 3 (PID 5999) started
--threads: thread 4 (PID 6000) started
test_brw-3: reading 5000 (1x1 pages) (testing only): Tue Apr 9 22:37:28 2002
--threads: thread 5 (PID 6001) started
test_brw-4: reading 5000 (1x1 pages) (testing only): Tue Apr 9 22:37:28 2002
test_brw-5: reading 5000 (1x1 pages) (testing only): Tue Apr 9 22:37:28 2002
test_brw-1: read 1x1x5000 pages in 32.7s (152.9 pg/s): Tue Apr 9 22:38:01 2002
test_brw-2: read 1x1x5000 pages in 32.73s (152.8 pg/s): Tue Apr 9 22:38:01 2002
test_brw-3: read 1x1x5000 pages in 32.73s (152.8 pg/s): Tue Apr 9 22:38:01 2002
test_brw-4: read 1x1x5000 pages in 32.72s (152.8 pg/s): Tue Apr 9 22:38:01 2002
test_brw-5: read 1x1x5000 pages in 32.72s (152.8 pg/s): Tue Apr 9 22:38:01 2002

The first example runs 5 threads doing 5000 test_getattrs on device 2.
The second example runs 5 threads doing 5000 test_brw writes on device 2.

All output is prepended with the command and thread number which is running
that command, like "test_getattr-1", "test_getattr-2", etc.  This is done
via the "cmdline()" helper function, which should now be used at all times
for obdctl output instead of "argv[0]".  If we are not running with threads,
cmdline("foo") degenerates to just "foo".

22 years agoAdd new command to allow obdctl usage from command-line.
adilger [Tue, 9 Apr 2002 23:17:29 +0000 (23:17 +0000)]
Add new command to allow obdctl usage from command-line.
usage: --device <devno> <command [args ...]>

This is exactly the same thing as:
obdctl <<- EOF
device <devno>
connect
command [args ...]
disconnect
EOF

You can use it to run simple obdctl commands, for example:

tests/llecho.sh
util/obdctl --device 2 test_getattr 1000 q
util/obdctl --device 2 test_brw 1000 w q
tests/llmountcleanup.sh

22 years agoClean up obdctl code:
adilger [Tue, 9 Apr 2002 23:12:41 +0000 (23:12 +0000)]
Clean up obdctl code:
- all errors are now written to stderr, and have "error:" at the start
- all functions return non-zero on error (-1 = usage, -2 = params, +ve errno)

22 years agoStart to abstract out the location of modules for LUSTRE and PORTALS. It
adilger [Tue, 9 Apr 2002 21:59:27 +0000 (21:59 +0000)]
Start to abstract out the location of modules for LUSTRE and PORTALS.  It
doesn't actually do anything differently yet, but at least we have isolated
the paths into a single location.

22 years agoUse "$(PORTALS)" and "$(top_srcdir)" instead of ".." so that we can build
adilger [Tue, 9 Apr 2002 21:57:53 +0000 (21:57 +0000)]
Use "$(PORTALS)" and "$(top_srcdir)" instead of ".." so that we can build
in a different directory from the source tree (for UML and kernel builds).

22 years agoosc/osc_request.c: replace "n" with "pages", as "n" is not defined anywhere.
adilger [Tue, 9 Apr 2002 21:55:56 +0000 (21:55 +0000)]
osc/osc_request.c: replace "n" with "pages", as "n" is not defined anywhere.
others: minor cleanups.

22 years agoOnly try to run setup if there isn't already a Lustre filesystem set up.
adilger [Tue, 9 Apr 2002 00:04:23 +0000 (00:04 +0000)]
Only try to run setup if there isn't already a Lustre filesystem set up.

22 years agoMinor change - rename "run" to "test_fail" to match runfailure-mds.
adilger [Tue, 9 Apr 2002 00:03:43 +0000 (00:03 +0000)]
Minor change - rename "run" to "test_fail" to match runfailure-mds.

22 years agocommon.sh: move all of the portals setup from setup() to setup_portals().
adilger [Tue, 9 Apr 2002 00:02:46 +0000 (00:02 +0000)]
common.sh: move all of the portals setup from setup() to setup_portals().
- make the NAL module conditional upon the network connection type.
- rename setup() to be setup_lustre().
all others:
- you need to call setup_portals() before setup_lustre() now.

22 years agoFix typo "lusre" -> "lustre"
adilger [Mon, 8 Apr 2002 20:50:06 +0000 (20:50 +0000)]
Fix typo "lusre" -> "lustre"

22 years ago- name switch: "light" --> "lite"
braam [Mon, 8 Apr 2002 18:28:50 +0000 (18:28 +0000)]
- name switch:  "light" --> "lite"
                "/mnt/obd" --> "/mnt/lustre"
- small changes to RPC code to handle request packet freeing later,
  separate connection initialization and connect.
- rename event handlers and queues, add separate request_out and
  reply_out queue

22 years agoRemoves all traces of mds_req, mds_rep, ost_req, and ost_rep. All subsystems
pschwan [Sat, 6 Apr 2002 17:38:35 +0000 (17:38 +0000)]
Removes all traces of mds_req, mds_rep, ost_req, and ost_rep.  All subsystems
now use the functions in rpc/pack_generic.c, which are based around
struct lustre_msg.  That file is small and easily understood, see it for more
details.

Now that everyone uses the same functions, the code can probably be refactored
more sensibly.  This is left as an exercise for the reader.

Other, cleanups:
- we don't need to memset() after OBD_ALLOC
- the MDS and OST request and reply packets were so similar that they've been
merged, into struct mds_body and ost_body respectively.

22 years agoEnsure that the file type is valid.
adilger [Fri, 5 Apr 2002 20:29:39 +0000 (20:29 +0000)]
Ensure that the file type is valid.

22 years agoRemove use of ext2-specific inode flags to signal objid-in-i_data. Just
adilger [Fri, 5 Apr 2002 20:29:12 +0000 (20:29 +0000)]
Remove use of ext2-specific inode flags to signal objid-in-i_data.  Just
use the check whether it is a regular file.

Also don't use memcpy when saving objid into inode - it should be endian
converted beforehand.

22 years agoEnsure we undo everything in ll_read_super() on error.
adilger [Fri, 5 Apr 2002 20:26:22 +0000 (20:26 +0000)]
Ensure we undo everything in ll_read_super() on error.

22 years agoAdd a check in new_fs() to try and avoid overwriting an in-use block device.
adilger [Fri, 5 Apr 2002 20:13:53 +0000 (20:13 +0000)]
Add a check in new_fs() to try and avoid overwriting an in-use block device.
Not perfect, because it will only check for mounted filesystems, but better
than nothing.

22 years agoAdd open/close methods for filterobd.
adilger [Fri, 5 Apr 2002 20:06:45 +0000 (20:06 +0000)]
Add open/close methods for filterobd.
Other minor cleanups to replace "ext2obd" with "filter" in unused codepaths.

22 years ago- Don't start acceptor in the background anymore
pschwan [Thu, 4 Apr 2002 21:01:46 +0000 (21:01 +0000)]
- Don't start acceptor in the background anymore