Whamcloud - gitweb
18 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.

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

18 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

18 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.

18 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().

18 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.

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

18 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.

18 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.

18 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.

18 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.

18 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.

18 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.

18 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

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

18 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.

18 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.

18 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.

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

18 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

18 years ago- small changes to name2dev:
braam [Mon, 22 Apr 2002 16:51:27 +0000 (16:51 +0000)]
- small changes to name2dev:
    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.

18 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

18 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
 - the mds has a mds_rootfid field accordingly. This is set in

18 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.

18 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.

18 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.

18 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

18 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
- 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

18 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:

- 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

18 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.

18 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).

18 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.

18 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

18 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.

18 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.

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

18 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.

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

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

18 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

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

18 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.

18 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.

18 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.

18 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

18 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.

18 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

18 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).

18 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

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

18 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).


          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

18 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.

18 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.

18 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.

18 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

18 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".

18 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>
command [args ...]

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

util/obdctl --device 2 test_getattr 1000 q
util/obdctl --device 2 test_brw 1000 w q

18 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)

18 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.

18 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).

18 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.

18 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.

18 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.

18 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.

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

18 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

18 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

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.

18 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.

18 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.

18 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.

18 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.

18 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.

18 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

18 years ago- Fixed lock tests--early indicates are that extents are working
pschwan [Thu, 4 Apr 2002 18:07:17 +0000 (18:07 +0000)]
- Fixed lock tests--early indicates are that extents are working

18 years agoAdd journal wrapping calls to all of the mds_reint operations. We also
adilger [Thu, 4 Apr 2002 09:25:29 +0000 (09:25 +0000)]
Add journal wrapping calls to all of the mds_reint operations.  We also
use the mds_fs_setattr method to change the fields in the inode, as this
will properly mark the inode dirty and ensure it is written to disk.

This fixes the problem of updates to the MDS inode not being written to
disk because the dentry and inode are being discarded too quickly.

The journal wrapping of all reint operations will make the addition of
calls to atomically update last recieved trivial, so it is time well spent.

18 years ago- Don't abort if fig2dev doesn't exist
pschwan [Thu, 4 Apr 2002 04:22:42 +0000 (04:22 +0000)]
- Don't abort if fig2dev doesn't exist
- first chunk of DLM changes for new extents
- fixups to work with the new Portals tip

18 years agoAdd skeleton definition for struct obd_run_ctxt to quiet compiler warning.
adilger [Wed, 3 Apr 2002 10:48:24 +0000 (10:48 +0000)]
Add skeleton definition for struct obd_run_ctxt to quiet compiler warning.

18 years agoBecause we now return an error code from filter_prep() we have to make sure
adilger [Wed, 3 Apr 2002 10:02:33 +0000 (10:02 +0000)]
Because we now return an error code from filter_prep() we have to make sure
we return 0 if we made it through OK...

18 years agoThe start of moving the MDS root out of the filesystem root. A bit of
adilger [Wed, 3 Apr 2002 09:57:59 +0000 (09:57 +0000)]
The start of moving the MDS root out of the filesystem root.  A bit of
code reorg, and we now create ROOT and FH directories (no RCVD file yet).
Also moves MOD_INC_USE_COUNT earlier in mds_setup to avoid races.

18 years agoClean up strange loop variable usage in filter_preprw() and filter_commitrw(),
adilger [Wed, 3 Apr 2002 08:37:25 +0000 (08:37 +0000)]
Clean up strange loop variable usage in filter_preprw() and filter_commitrw(),
and make variables more local.

18 years agoHave filter_prep() return an error code, and minor cleanups.
adilger [Wed, 3 Apr 2002 08:08:26 +0000 (08:08 +0000)]
Have filter_prep() return an error code, and minor cleanups.
Move MOD_INC_USE_COUNT earlier in filter_setup() to avoid module unload races.

18 years agoRemove simple_mkdir(), push_ctxt(), and pop_ctxt() from filterobd.c and
adilger [Wed, 3 Apr 2002 07:57:25 +0000 (07:57 +0000)]
Remove simple_mkdir(), push_ctxt(), and pop_ctxt() from filterobd.c and
put them in lib/simple.c so we can use them in MDS.  Add simple.c to
files for obdfilter.

18 years agoAdd .eps files to ignored files for doc/ directory.
adilger [Wed, 3 Apr 2002 07:34:32 +0000 (07:34 +0000)]
Add .eps files to ignored files for doc/ directory.

18 years agoYou don't need to specify the size for new_fs() if you are using a block
adilger [Wed, 3 Apr 2002 07:31:18 +0000 (07:31 +0000)]
You don't need to specify the size for new_fs() if you are using a block
device (we just use the whole block device in that case).

18 years agoMake some attempt to clean up ptlrpc_init_svc() if there are errors setting up
adilger [Wed, 3 Apr 2002 07:28:55 +0000 (07:28 +0000)]
Make some attempt to clean up ptlrpc_init_svc() if there are errors setting up
the ring buffer.

18 years agoMove MOD_INC_USE_COUNT up in ost_setup() to avoid module unload races.
adilger [Wed, 3 Apr 2002 07:26:49 +0000 (07:26 +0000)]
Move MOD_INC_USE_COUNT up in ost_setup() to avoid module unload races.

18 years agoAdd push_ctxt and pop_ctxt to simple.c from filter.c.
adilger [Wed, 3 Apr 2002 00:50:06 +0000 (00:50 +0000)]
Add push_ctxt and pop_ctxt to simple.c from filter.c.

18 years agoMove simple_mkdir() out of filterobd so that MDS can use it also.
adilger [Wed, 3 Apr 2002 00:45:32 +0000 (00:45 +0000)]
Move simple_mkdir() out of filterobd so that MDS can use it also.

18 years ago- update a 3 year old message
braam [Tue, 2 Apr 2002 20:58:26 +0000 (20:58 +0000)]
- update a 3 year old message
- split the failing (uml) part of the io-failure mechanism into a separate patch

18 years agoFix the setattr and rename error messages and turn off shell verbosity.
adilger [Tue, 2 Apr 2002 19:40:44 +0000 (19:40 +0000)]
Fix the setattr and rename error messages and turn off shell verbosity.

18 years agoAdd checks into MDS failure test to verify operations failed.
adilger [Tue, 2 Apr 2002 19:30:13 +0000 (19:30 +0000)]
Add checks into MDS failure test to verify operations failed.

18 years ago- this Makefile.am re-builds the eps pictures and the master pdf document
braam [Tue, 2 Apr 2002 19:29:19 +0000 (19:29 +0000)]
- this Makefile.am re-builds the eps pictures and the master pdf document

18 years agoadd missing close to filter obd
braam [Tue, 2 Apr 2002 19:26:24 +0000 (19:26 +0000)]
add missing close to filter obd

18 years agoRe-enable writes only after MDS has been shut down.
adilger [Tue, 2 Apr 2002 19:23:14 +0000 (19:23 +0000)]
Re-enable writes only after MDS has been shut down.

18 years agoA script which sets up an ext3 testbed (ala llext3.sh), and then runs some
adilger [Tue, 2 Apr 2002 19:13:25 +0000 (19:13 +0000)]
A script which sets up an ext3 testbed (ala llext3.sh), and then runs some
failure tests (setattr, create, unlink, rename) that would write to disk.

18 years ago- add disk write instrumentation to 2.4.18 patch
braam [Tue, 2 Apr 2002 18:45:47 +0000 (18:45 +0000)]
- add disk write instrumentation to 2.4.18 patch

18 years ago- lustre_mds.h: just shrink_dcache on de
pschwan [Tue, 2 Apr 2002 17:48:06 +0000 (17:48 +0000)]
- lustre_mds.h: just shrink_dcache on de
- file.c: reverse the order of the MDS/OST open RPCs
- runfailure-net: do unmount/mount after each test

18 years ago- forgot to put the parent...
braam [Tue, 2 Apr 2002 16:35:37 +0000 (16:35 +0000)]
- forgot to put the parent...

18 years ago- second part of shrink fix
braam [Tue, 2 Apr 2002 16:34:01 +0000 (16:34 +0000)]
- second part of shrink fix

18 years ago- part one of prune fix.
braam [Tue, 2 Apr 2002 16:33:31 +0000 (16:33 +0000)]
- part one of prune fix.