Whamcloud - gitweb
shaver [Wed, 30 Oct 2002 20:38:28 +0000 (20:38 +0000)]
- Bug 296: remove LDLM_MDSINTENT to fix mismatches with LDLM_PLAIN locks.
We now use LDLM_FL_HAS_INTENT in flags, instead.
- Remove some over-verbose debugging in lookup2_finish.
- Automatically reactivate OSC when recovery reconnects successfully.
braam [Wed, 30 Oct 2002 20:25:03 +0000 (20:25 +0000)]
- minor fixes to get mount to roll in 2.5
pschwan [Wed, 30 Oct 2002 18:58:41 +0000 (18:58 +0000)]
"mds" was in SUBDIRS twice--this is bad.
rread [Wed, 30 Oct 2002 18:38:36 +0000 (18:38 +0000)]
* add --fstype arg to both --mds and --ost
eg:
lmc ... --node node --fstype ext3 --mds mds1 $MDSDEV $MDSSIZE
lmc ... --node node --fstype ext3 --ost $OSTDEV $OSTSIZE
pschwan [Wed, 30 Oct 2002 08:29:45 +0000 (08:29 +0000)]
Update changelog
pschwan [Wed, 30 Oct 2002 08:20:49 +0000 (08:20 +0000)]
b=201
b=285
- Added generation numbers to MDS locks (still need to for OSC locks, bug 294)
- fixup the inode pointer in the ldlm_lock after intent gives us a lock on a
different resource (bug 285)
- cancel locks when the inodes are flushed from the cache (bug 201)
- fix serious cache coherancy bugs by really tying locks to dentries:
- always return 0 from revalidate2 for a negative dentry, forcing lookup2
- when MDS locks are cancelled, unhash the associated dentries (but do NOT
remove them from the aliases list)
- avoid calling the cancellation callback at shutdown and clear_inode time,
by adding yet another flag, this time to cancel_unused
- lookup2 searches for old dentries that may satisfy a new request, and may
reuse a dentry that we previously unhashed
We broke hard links even more than they were before--you've been warned!
shaver [Wed, 30 Oct 2002 04:16:16 +0000 (04:16 +0000)]
Good citzenship.
shaver [Wed, 30 Oct 2002 03:31:47 +0000 (03:31 +0000)]
- Bugzilla 214: Have LOV do its own timeout management, so that all OSCs get
removed correctly, _and_ we don't crash as soon as we try to kick off
recovery. What a deal!
- Fix removal of OSC from LOV on OST failure (silly & and type-smashing
list_head macros).
- Lots of comments in lov_brw, so I don't have to figure it out from first
principles next time. (I think they're correct, but Andreas will review to
make sure.)
- Skip inactive OSCs in lov_statfs, because otherwise we return -EIO and
the caller will ignore all of the data we get from the active/working OSCs.
- A bit more bulletproofing of the sync_io_timeout case -- if you see that
message, please reopen the bug.
- Be a little smarter about double-failed connections. Might make
failure-in-recovery work better, and will definitely make multiply-detected
connection failure work better.
rread [Wed, 30 Oct 2002 01:40:16 +0000 (01:40 +0000)]
* create a minimal MDT
- only setup once on a node
- one thead pool for all MDS's
- theads call mds_handle directly
* changes to lconf to setup/cleanup MDT
adilger [Wed, 30 Oct 2002 00:15:12 +0000 (00:15 +0000)]
Allow unlink to be done on another node, to test multi-client openunlink
handling on OST.
braam [Tue, 29 Oct 2002 23:52:22 +0000 (23:52 +0000)]
unimportant change to understand a feature of CVS
adilger [Tue, 29 Oct 2002 23:37:35 +0000 (23:37 +0000)]
Make the openunlink messages consistent.
adilger [Tue, 29 Oct 2002 23:35:40 +0000 (23:35 +0000)]
Just a minor change to make it clear what the LOV config parameters are.
adilger [Tue, 29 Oct 2002 23:33:59 +0000 (23:33 +0000)]
Return an LDLM error code from osc_enqueue, just to be clear at the caller
that we are getting back the right thing (ELDLM_OK == 0).
adilger [Tue, 29 Oct 2002 23:20:17 +0000 (23:20 +0000)]
Allow uml.sh to generate a 1-server, 3-client config nicely if desired.
rread [Tue, 29 Oct 2002 22:22:09 +0000 (22:22 +0000)]
* complete the getlovinfo compromise
rread [Tue, 29 Oct 2002 22:01:20 +0000 (22:01 +0000)]
* support for toenal
* support for more than one mds client
rread [Tue, 29 Oct 2002 21:58:31 +0000 (21:58 +0000)]
* use correct mds device in getlovinfo
adilger [Tue, 29 Oct 2002 20:34:31 +0000 (20:34 +0000)]
Simple script to monitor lustre/portals stuff in /proc/slabinfo
adilger [Tue, 29 Oct 2002 19:11:33 +0000 (19:11 +0000)]
Add filter_dops at the same point where we add dentry->d_fsdata, so that
the dentry data is always freed.
Remove redundant definition of PageUptodate().
adilger [Tue, 29 Oct 2002 09:59:33 +0000 (09:59 +0000)]
Allow a count for lctl "destroy" to allow easy destroying of a sequence of
objects created by "create".
adilger [Tue, 29 Oct 2002 08:32:12 +0000 (08:32 +0000)]
Remove some cruft I added for lock allocation, I've resolved it differently.
adilger [Tue, 29 Oct 2002 08:20:23 +0000 (08:20 +0000)]
Line length.
adilger [Tue, 29 Oct 2002 08:04:12 +0000 (08:04 +0000)]
Call common cleanup function.
adilger [Tue, 29 Oct 2002 08:02:48 +0000 (08:02 +0000)]
A minor bit of debugging for tracking the extN refcount bug.
adilger [Tue, 29 Oct 2002 08:01:45 +0000 (08:01 +0000)]
Update Changelog with recent bug fixes and incompatible changes.
adilger [Tue, 29 Oct 2002 07:56:58 +0000 (07:56 +0000)]
Move version back to its original location, and put flags at the end.
It is better to have version close to the beginning of the message, so
that it is possible to change fields after it without breaking things.
adilger [Tue, 29 Oct 2002 07:52:43 +0000 (07:52 +0000)]
Quiet compiler warning.
adilger [Tue, 29 Oct 2002 07:51:51 +0000 (07:51 +0000)]
While we are breaking BA OST compatibility, swap the osc_punch packing of
"start" and "end" so that "start" is in o_size, which is more consistent
with setting i_size on truncate.
Also add some more FIXMEs for bug 288.
adilger [Tue, 29 Oct 2002 07:35:34 +0000 (07:35 +0000)]
Re-do change that Phil killed in his ll_lookup2()/ll_invalidate_inode() merge.
adilger [Tue, 29 Oct 2002 06:29:18 +0000 (06:29 +0000)]
Disable the code which sets the file size on the MDS:
1) we never (or should never) currently use the file size from the MDS
2) only the client which holds the size lock would need to update the MDS
3) that client already knows the correct file size locally, so no obd_getattr
Removing this hunk of code also has the benefit of removing an extraneous
obd_getattr() x stripe_count + mdc_setattr() per file, so it should improve
performance for tar/bonnie/etc noticably.
Passes multi-client runtests.
pschwan [Tue, 29 Oct 2002 05:27:13 +0000 (05:27 +0000)]
b=256
abstract ll_lookup2; make ll_lookup2 and ll_revalidate2 both use this
function. For the first time, we might almost be properly cache coherant.
rread [Tue, 29 Oct 2002 00:27:07 +0000 (00:27 +0000)]
sacrifice 80 the column margin on one line for the broader goal of compiling on
older versions of gcc.
shaver [Mon, 28 Oct 2002 23:42:49 +0000 (23:42 +0000)]
Put back lustre_msg.version (in a different spot, though, so out-of-date clients
will still barf -- I think this is a feature).
Some ChangeLog updates.
shaver [Mon, 28 Oct 2002 20:23:09 +0000 (20:23 +0000)]
Add some null-proofing in DEBUG_REQ, and supply arguments for all the format
fields (!) while we're at it.
Bullet-proof expired_request to see if we can figure out why we sometimes see
NULL derefs during timeout on dev.
Make the cleanup-from-sending-list stuff use D_ERROR, so that we can see it even
if the client crashes afterwards. (Just playing a hunch.)
shaver [Mon, 28 Oct 2002 20:18:09 +0000 (20:18 +0000)]
Only initialize fdd in terms of object_dentry once object_dentry has itself been
initialized.
Also remove shadowing redecl of fdd.
pschwan [Mon, 28 Oct 2002 19:30:55 +0000 (19:30 +0000)]
Backout sravi's changes; please contact Robert with your patches.
adilger [Mon, 28 Oct 2002 19:25:27 +0000 (19:25 +0000)]
Fix space leak after recent change of openunlink code logic (fdd was
previously released at d_delete time and is now done at d_release time,
so the mere presence of d_fsdata isn't enough to signal an open file).
sravi [Mon, 28 Oct 2002 19:19:19 +0000 (19:19 +0000)]
Lconf modified accordingy lmc, to handle mdc info in the xml file.
pschwan [Mon, 28 Oct 2002 19:10:32 +0000 (19:10 +0000)]
- Fixed uninitialized flags, which tricked ldlm_cli_enqueue into thinking
that it was in recovery
sravi [Mon, 28 Oct 2002 18:49:49 +0000 (18:49 +0000)]
Modified the this to generate mdc configuration.
adilger [Mon, 28 Oct 2002 17:49:14 +0000 (17:49 +0000)]
Per Mike's observation, we already set lic.lic_body before this point.
adilger [Mon, 28 Oct 2002 17:40:28 +0000 (17:40 +0000)]
Avoid CVS permission problems.
shaver [Mon, 28 Oct 2002 02:49:56 +0000 (02:49 +0000)]
Short version: replaying create and rename works now, including all the fixups
you could ever, ever want. (OK, except lock replay, but that's
easy now.) Single-client recovery should now be much, much
more robust.
- Added LDLM_FL_INTENT_ONLY to avoid acquiring locks during intent-lock replay.
- Fix leak of open requests that was due to a misunderstanding (mine) of the
way that the ptlrpc_request refcounting code (mine) really worked.
- Store FID data after create, so that we can fix up the world afterwards.
- Poor man's lustre_spare_buf support through simple over-allocation of request
buffers.
- Cancel unused locks when we lose contact with an MDS.
- When replaying create, fix up to-be-replayed and delayed-for-recovery requests
to contain the new FID generation, in addition to the actual in-memory inode.
- Don't sweat a "failed" return code for replayed requests, but do squeak a bit
if the old and new status doesn't match up (virtually guaranteed, in fact,
but I'll tune that down later).
- Skip no-transno requests during replay, since they don't affect MDS state.
pschwan [Mon, 28 Oct 2002 01:18:30 +0000 (01:18 +0000)]
- Pass flags into lock policy function
pschwan [Sun, 27 Oct 2002 03:03:50 +0000 (03:03 +0000)]
most of the work for lock replay:
- add a dlm replay flag that:
- prevents the calling of policy functions
- tells the server to trust the client's judgement
- a function to call ldlm_cli_enqueue for replay
next up:
- something to help replay _all_ locks in a given namespace, probably in
the form of some generic ldlm_namespace_foreach thing
adilger [Sat, 26 Oct 2002 23:58:10 +0000 (23:58 +0000)]
One lock too many.
pschwan [Sat, 26 Oct 2002 18:54:22 +0000 (18:54 +0000)]
Oops, one more.
pschwan [Sat, 26 Oct 2002 18:40:00 +0000 (18:40 +0000)]
- Fixes build break and &&-instead-of-& logic error
- Andreas, will you please verify that I guessed your intentions with respect
to spinlocks correctly? In particular, the fed_lock and the extra
spin_lock_init
adilger [Sat, 26 Oct 2002 08:29:39 +0000 (08:29 +0000)]
Support for delayed-destroy of objects on the OST. It isn't perfect,
in the sense that there is still some work to be done for handling
multi-client unlink properly, but it passes all of the normal tests,
so it is no worse than what we have now.
shaver [Fri, 25 Oct 2002 21:17:07 +0000 (21:17 +0000)]
- Convert version to flags -- a few days earlier than I said, but I'll back it
out if people complain.
- Add some helpers for accessing the lower (general) and upper (op-specific)
portions of the flags.
- Use an op flag (MDS_OPEN_HAS_EA) rather than bufcount checking to determine
whether or not an open has an EA for delayed-create.
- Remove basically-unused rq_reply_md_h.
- Pack open-replay state in extra message buffer, instead of dangling it off the
request.
- Add DEBUG_REQ for consistent and clean request-dumping, and use it somewhat
liberally.
- Teach reint_link to be tolerant of -EEXIST if replaying.
- Likewise for reint_unlink and -ENOENT.
- Remove connection locking from ptlrpc_check_reply. We don't lock in
queue_wait, so if it's needed I need a better story anyway, and in the interim
this will fix a guaranteed deadlock in replay.
- Factor sending-queue request disposition checks for legibility and reuse.
- Dump retained-request state before starting replay, to aid debugging.
thantry [Fri, 25 Oct 2002 06:05:32 +0000 (06:05 +0000)]
Proc header for SNMP. Counter functionality/macros will go into a different header file
pschwan [Fri, 25 Oct 2002 03:43:08 +0000 (03:43 +0000)]
- Update ChangeLog
- only send cancels to the LDLM portal, since Peter pointed out that my last
"fix" didn't really fix anything
pschwan [Fri, 25 Oct 2002 01:15:43 +0000 (01:15 +0000)]
b=611336
Land Alok's patch with a couple small modifications (which were my fault,
for lying to him about the return values of osc_brw_{read,write})
adilger [Fri, 25 Oct 2002 00:05:38 +0000 (00:05 +0000)]
Quiet compiler warning.
adilger [Thu, 24 Oct 2002 21:30:22 +0000 (21:30 +0000)]
Don't oops if data->ioc_inlbuf1 is not set.
adilger [Thu, 24 Oct 2002 21:08:35 +0000 (21:08 +0000)]
Return a valid error code on normal exit.
radhikav [Thu, 24 Oct 2002 18:47:04 +0000 (18:47 +0000)]
New lmc manpage that describes the new lmc command line interface.
amrutjoshi [Thu, 24 Oct 2002 15:51:18 +0000 (15:51 +0000)]
Patch for tinderbox
amrutjoshi [Thu, 24 Oct 2002 14:43:00 +0000 (14:43 +0000)]
Improved patch.. for the portalslib
amrutjoshi [Thu, 24 Oct 2002 13:43:21 +0000 (13:43 +0000)]
Patched configure.in to get the correct portalslib. Usually $enable_portalsdir/utils/linux. To override use --with-portalslib=<dir>
pschwan [Thu, 24 Oct 2002 04:14:32 +0000 (04:14 +0000)]
ChangeLog for 0.5.15
pschwan [Thu, 24 Oct 2002 03:59:56 +0000 (03:59 +0000)]
- Fix recovery crash bug in prepare_ost()
pschwan [Thu, 24 Oct 2002 00:54:44 +0000 (00:54 +0000)]
b=625069
- Workaround for 625069: send all LDLM requests, not just callbacks, to the
LDLM portal
- change CERROR in lov_getattr into CDEBUG
shaver [Thu, 24 Oct 2002 00:51:03 +0000 (00:51 +0000)]
"force" should _cause_ forcing, not disable forcing. Thanks to robert for the
catch.
shaver [Thu, 24 Oct 2002 00:32:56 +0000 (00:32 +0000)]
A patch only a mother could love to notify LOVs when OSCs are disabled due to
OST failure or partition.
Remember to re-enable it in your upcall, after reconnecting!
adilger [Wed, 23 Oct 2002 23:07:03 +0000 (23:07 +0000)]
Fix LOV stripe allocation.
Don't re-assign lsm_stripe_offset because it is 0 (which is a valid offset).
adilger [Wed, 23 Oct 2002 22:06:01 +0000 (22:06 +0000)]
Make the cleanup and remount scripts consistent in accepting "NAME" as
the basename of the config script, so you can do:
NAME=lov sh llmount.sh
NAME=lov sh llmountcleanup.sh
and it will work.
Also fix a bug in llmount.sh, which I think would have prevented the
XML config file from being regenerated properly.
shaver [Wed, 23 Oct 2002 18:57:33 +0000 (18:57 +0000)]
- Beginning of new REINT replay infrastructure.
- Poison imports for failed OSCs, so future requests get -EIO.
- Remove the epoch checking for mounts and inodes, because we don't want to
kill a while filesystem because a single OSC died.
- Close open files on MDS-disconnect.
- If asked with a "force" parameter, disconnect all remaining exports during
OBD disconnection.
- Teach lconf to send that parameter when given -f.
rread [Wed, 23 Oct 2002 10:50:05 +0000 (10:50 +0000)]
* startlevel and endlevel patch supplied by Evan.Felix@pnl.gov
thantry [Wed, 23 Oct 2002 03:18:36 +0000 (03:18 +0000)]
Some random double pointer error..
thantry [Wed, 23 Oct 2002 03:05:50 +0000 (03:05 +0000)]
File containing read/write fptr implementations for PTLRPC device. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:05:21 +0000 (03:05 +0000)]
File containing read/write fptr implementations for OST device. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:04:57 +0000 (03:04 +0000)]
File containing read/write fptr implementations for OSC device. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:04:22 +0000 (03:04 +0000)]
File containing read/write fptr implementations for OBDFILTER device. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:03:47 +0000 (03:03 +0000)]
File containing read/write fptr implementations for echo device. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:03:16 +0000 (03:03 +0000)]
File containing read/write fptr implementations for MDS. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:02:49 +0000 (03:02 +0000)]
File containing read/write fptr implementations for MDC. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:02:20 +0000 (03:02 +0000)]
File containing read/write fptr implementations for LOV. To be added to make path after review
thantry [Wed, 23 Oct 2002 03:01:45 +0000 (03:01 +0000)]
File containing read/write fptr implementations for mount_point. To be added to make path after review
thantry [Wed, 23 Oct 2002 02:59:02 +0000 (02:59 +0000)]
Adding to the source repository. Will be linked in to the makefile after
review.
adilger [Tue, 22 Oct 2002 22:36:40 +0000 (22:36 +0000)]
Pass ioctls on LOV device through to all underlying OSCs if unknown.
adilger [Tue, 22 Oct 2002 21:22:58 +0000 (21:22 +0000)]
Fix LOV striping code:
- don't set default stripe count at lov_connect() time if it is zero, defer
it to lov_create() time in case the number of OSTs has changed
- validate the "stripe width < 4GB" requirement at lov_create() time, in
case bad user-specified striping patterns are given or #OSTs has increased
- don't override lsm_stripe_count if it is already set
- choose from all OSTs as the starting OST, instead of only [0-active]
- return -ENOTTY for unimplemented ioctls
adilger [Tue, 22 Oct 2002 20:41:47 +0000 (20:41 +0000)]
Minor tweak to match RH 2.4.18-14 function name in kernel.
adilger [Tue, 22 Oct 2002 20:33:28 +0000 (20:33 +0000)]
Remove old -12.5 kernel patch, the -14 patch is exactly the same, and uptodate.
pschwan [Tue, 22 Oct 2002 06:55:14 +0000 (06:55 +0000)]
- teeny fix to ll_revalidate2; this will be trumped by my fix for 626244
in ways that can scarcely be described by mere words
- multiple CONNECTs to the LOV would do more CONNECTs to the OSCs, each
clobbering the last connection and preventing cleanup; fixed.
- LOV targets now have an 'active' bit; inactive targets will be skipped at
CREATE and DISCONNECT time
- added locking for the above, along with a function to toggle the bit given an
LOV and a UUID
- added a LOV_SET_OSC_ACTIVE ioctl to the lov driver and lctl
braam [Mon, 21 Oct 2002 23:37:39 +0000 (23:37 +0000)]
- fixes to osc_brw path to address fsx failures. We in fact uncovered
serious problems with writes of less than one page.
- minor fixes for 2.5
adilger [Mon, 21 Oct 2002 22:05:33 +0000 (22:05 +0000)]
Commit new intent patch for 2.4.18.
adilger [Mon, 21 Oct 2002 22:05:11 +0000 (22:05 +0000)]
Remove sig from end of patch.
adilger [Mon, 21 Oct 2002 21:45:15 +0000 (21:45 +0000)]
The curse of copy-n-paste. Fix compile warnings and maybe code too.
adilger [Mon, 21 Oct 2002 21:32:53 +0000 (21:32 +0000)]
Getting ready to land OBD open file handles, and OSC/LOV local lock handle
allocations.
adilger [Mon, 21 Oct 2002 21:31:04 +0000 (21:31 +0000)]
A little debugging I've been running in my tree for a long time.
It caught a couple of minor bugs, and should prevent more in the future.
adilger [Mon, 21 Oct 2002 21:25:05 +0000 (21:25 +0000)]
Add lov_getconfig to lctl docs.
adilger [Mon, 21 Oct 2002 21:16:46 +0000 (21:16 +0000)]
Change lctl lovconfig command into lov_getconfig, and add lov_setconfig.
Update all scripts/docs which refer to the lovconfig command.
lov_getconfig compiles OK, and does not affect normal operation, but it
is not working yet (user-space segfault) and I need to run it on a real
system (can't run GDB under UML).
adilger [Mon, 21 Oct 2002 18:26:53 +0000 (18:26 +0000)]
Add permission bits to open(O_CREAT) (b=624321).
Add a verifiable data pattern so that we can confirm if data is going to the
correct stripe.
eeb [Mon, 21 Oct 2002 17:29:53 +0000 (17:29 +0000)]
removed demos/Makefile from configure.in
pschwan [Mon, 21 Oct 2002 07:17:26 +0000 (07:17 +0000)]
Oops, missed a hunk.
pschwan [Mon, 21 Oct 2002 07:16:15 +0000 (07:16 +0000)]
Move AM_CONDITIONAL into configure.in
adilger [Mon, 21 Oct 2002 07:05:15 +0000 (07:05 +0000)]
Include version.h so we can check version.
braam [Mon, 21 Oct 2002 07:03:25 +0000 (07:03 +0000)]
- fix to deal with other versions of automake.... :(