Whamcloud - gitweb
adilger [Mon, 2 Sep 2002 21:56:21 +0000 (21:56 +0000)]
Remove ancient Perl cruft from obd.c.
Do stricter checking on all strtoul() input to avoid strange problems when
we have, say, 'w' for the object ID or whatever.
adilger [Mon, 2 Sep 2002 21:39:05 +0000 (21:39 +0000)]
Pass UUID along when we have it.
adilger [Mon, 2 Sep 2002 21:38:16 +0000 (21:38 +0000)]
We don't expect to convert from ASCII to binary UUIDs - comment out code.
adilger [Mon, 2 Sep 2002 21:36:04 +0000 (21:36 +0000)]
Minor cleanups - use uuids in uuid2dev and uuid2obd, instead of names.
adilger [Mon, 2 Sep 2002 21:33:37 +0000 (21:33 +0000)]
Minor cleanups.
adilger [Mon, 2 Sep 2002 21:26:40 +0000 (21:26 +0000)]
Minor cleanups.
adilger [Mon, 2 Sep 2002 21:24:12 +0000 (21:24 +0000)]
Protect the obd export list with a spinlock (we do not sleep anywhere while
holding this spinlock, so I don't believe we need a semaphore).
adilger [Mon, 2 Sep 2002 20:52:12 +0000 (20:52 +0000)]
Check for a few error conditions.
Return more useful info from the object open call.
Return the error code from the commitrw call.
gord-fig [Mon, 2 Sep 2002 20:22:06 +0000 (20:22 +0000)]
Allow chbar generation on the HOWTO.
adilger [Mon, 2 Sep 2002 19:31:43 +0000 (19:31 +0000)]
Avoid bogus typecasting.
adilger [Mon, 2 Sep 2002 19:21:15 +0000 (19:21 +0000)]
Pass 64-bit RPC XIDs around, since this is really how big they are.
adilger [Mon, 2 Sep 2002 19:04:21 +0000 (19:04 +0000)]
Don't check bulk contents if there was an error reported on the bulk itself.
adilger [Mon, 2 Sep 2002 18:32:06 +0000 (18:32 +0000)]
Minor change.
rread [Mon, 2 Sep 2002 17:59:35 +0000 (17:59 +0000)]
- fix route config and clean up errors
pschwan [Mon, 2 Sep 2002 17:05:10 +0000 (17:05 +0000)]
I'm a moron and spin_unlock was a no-op.
gord-fig [Mon, 2 Sep 2002 16:43:11 +0000 (16:43 +0000)]
Allow automatic specification of the RPM locations by check-build.
pschwan [Mon, 2 Sep 2002 16:29:04 +0000 (16:29 +0000)]
Add PyXML in place of the previously-removed libxml2 Requires. It's good to
have Andreas looking over my shoulder.
pschwan [Mon, 2 Sep 2002 16:26:21 +0000 (16:26 +0000)]
Fix eric's extremely well-spotted locking bug. It's not clear that we even
need this lock, but I'll fix it by adding an unlock_kernel until I can ask zach.
pschwan [Mon, 2 Sep 2002 15:39:19 +0000 (15:39 +0000)]
remove libxml2 from the Requires list
pschwan [Mon, 2 Sep 2002 06:49:05 +0000 (06:49 +0000)]
James Newsome's last dlm regression patch. I haven't reviewed any of the
changes to ldlm_test.c yet, but I want to get this into the tree before we
drift too much.
pschwan [Mon, 2 Sep 2002 06:47:13 +0000 (06:47 +0000)]
Oops, missed a file in the mdc_enqueue change
pschwan [Mon, 2 Sep 2002 06:38:17 +0000 (06:38 +0000)]
- remove the unused 'id' from mdc_enqueue
- fix yet another LBUG related to calling ptlrpc_error after allocating a reply
buffer
pschwan [Mon, 2 Sep 2002 05:56:58 +0000 (05:56 +0000)]
s/jt_ptl_setup/jt_ptl_network/
braam [Fri, 30 Aug 2002 22:58:40 +0000 (22:58 +0000)]
Forgot to update changelog...
rread [Fri, 30 Aug 2002 22:13:22 +0000 (22:13 +0000)]
- saw a problem with the order of how filter was initialized vs. the error
handling code.
rread [Fri, 30 Aug 2002 17:19:48 +0000 (17:19 +0000)]
* allow any host to have static routes
adilger [Fri, 30 Aug 2002 06:03:16 +0000 (06:03 +0000)]
Add assertions to {push,pop}_ctxt because we are oopsing on dev in obdfilter
in pop_ctxt(), maybe becase saved->pwd is NULL.
gord-fig [Fri, 30 Aug 2002 05:53:24 +0000 (05:53 +0000)]
Resolve my silly conflict.
adilger [Fri, 30 Aug 2002 05:16:03 +0000 (05:16 +0000)]
Mike's fix for the missing exp_connection oops caused us to not remove
old exports from the export list.
It also seems wrong, somehow, to be using a lock on the ptlrpc connection
to manage items that are linked to the obd_device struct. It would
probably make more sense to protect the export list with a lock on the
obd_device. This is doubly true, because class_new_export() is adding
the export to the obd_device without holding any lock, because there is
no ptlrpc_connection there yet.
rread [Fri, 30 Aug 2002 02:13:48 +0000 (02:13 +0000)]
* sample mcr-type setups, both using a router
rread [Fri, 30 Aug 2002 02:12:47 +0000 (02:12 +0000)]
* fix some brainos so routing config will work
rread [Fri, 30 Aug 2002 01:18:25 +0000 (01:18 +0000)]
add --tcpbuf option to lconf
rread [Thu, 29 Aug 2002 23:50:47 +0000 (23:50 +0000)]
* send and recv tcp buffer size is set
* router opens connections to gateway
rread [Thu, 29 Aug 2002 19:54:51 +0000 (19:54 +0000)]
* clean up mcr config script
gord-fig [Thu, 29 Aug 2002 16:59:33 +0000 (16:59 +0000)]
Allow lmc path to be overridden.
adilger [Thu, 29 Aug 2002 16:33:13 +0000 (16:33 +0000)]
Handle the case where the XML file has not yet been created.
rread [Thu, 29 Aug 2002 12:01:53 +0000 (12:01 +0000)]
* first cut at routing config support, pretty tacky but might just work
* print more diagnostics for cleanup errors
* various cleanups
rread [Thu, 29 Aug 2002 11:59:15 +0000 (11:59 +0000)]
- add initial mcr.sh for echo test on mcr cluster
- turn autoformat off in lov, use lconf --reformat
- clean up llmount.sh
adilger [Thu, 29 Aug 2002 07:11:32 +0000 (07:11 +0000)]
Fix up the spinlock situation around rq->rq_list and the lists it lives on.
We avoid a deadlock in ptlrpc_free_committed() when it calls ptlrpc_free_req().
Likewise when ptlrpc_cleanup_client() calls ptlrpc_free_req().
A note for Mike in ll_recover() for when it is re-enabled:
We should not hold a spinlock over such a lengthy operation.
If necessary, drop spinlock, do operation, re-get spinlock, restart loop.
If we need to avoid re-processing items, then delete them from the list
as they are replayed and re-add at the tail of this list, so the next
item to process will always be at the head of the list.
rread [Thu, 29 Aug 2002 06:58:02 +0000 (06:58 +0000)]
- obsolete
rread [Thu, 29 Aug 2002 06:33:36 +0000 (06:33 +0000)]
* alloc memory and copy data into type->typ_name and type->typ_ops.
This is prevent referencing pointers into others modules memory spaces after
those modules have been unloaded.
rread [Thu, 29 Aug 2002 06:32:07 +0000 (06:32 +0000)]
Add more details to device_list output.
Added type->typ_refcnt as the last column.
Status field (2nd column) is now:
- unconfigured device
AT device is attached
UP device is setup
gord-fig [Thu, 29 Aug 2002 05:04:37 +0000 (05:04 +0000)]
Add lconf, lmc to the RPM.
gord-fig [Thu, 29 Aug 2002 03:29:58 +0000 (03:29 +0000)]
Don't just delete the generated PDF.
adilger [Thu, 29 Aug 2002 01:18:27 +0000 (01:18 +0000)]
Only overwrite the magics, not the entire page to avoid excess CPU usage.
gord-fig [Thu, 29 Aug 2002 01:08:47 +0000 (01:08 +0000)]
Install and distribute lconf and lmc.
adilger [Thu, 29 Aug 2002 01:03:01 +0000 (01:03 +0000)]
Use a less evil port number.
adilger [Thu, 29 Aug 2002 01:02:22 +0000 (01:02 +0000)]
Exit from XML configs if there is an error.
adilger [Thu, 29 Aug 2002 01:01:07 +0000 (01:01 +0000)]
Use port 988 instead of 888.
adilger [Thu, 29 Aug 2002 01:00:41 +0000 (01:00 +0000)]
Try and work with different versions of dbench.
adilger [Thu, 29 Aug 2002 00:59:08 +0000 (00:59 +0000)]
Add dcount assertions in obdfilter to catch any funny business (still
open-unlink problems).
Only try to get a cache page if we already have a locked page. This
is not Peter's "ignore page locks" code yet, but it's what I have in
my tree already and want to flush so I can test at LLNL.
adilger [Thu, 29 Aug 2002 00:51:54 +0000 (00:51 +0000)]
Zap test_brw/obdecho pages we are going to read into, to ensure that we
actually are getting new data therein, instead of old data.
Fix a kunmap imbalance for the non-verify case.
adilger [Thu, 29 Aug 2002 00:38:34 +0000 (00:38 +0000)]
Add statfs method to LOV.
Try to get valid data for getattr, if first objid fails.
Extract block count and mtime/ctime information from all objects.
adilger [Thu, 29 Aug 2002 00:35:15 +0000 (00:35 +0000)]
Use o_brw instead of o_getattr to distinguish between MDC and OSC operations.
If we ever make MDC use the OBD methods it would break.
adilger [Wed, 28 Aug 2002 23:50:06 +0000 (23:50 +0000)]
We already set last_committed and last_xid for all packets, no need to do
this for getstatus explicitly.
Store an xid in last_xid and not last_rcvd for reply packets. Mike please
verify this. I think it will help resolve strangeness I have observed in
the cleanup of expired requests on the clients, but that still needs some
investigation.
Add a spinlock to protect 64-bit increment of mds_last_rcvd, and also
make sure we only use each transaction value a single time. This
would probably be a very rare issue for recovery, but may as well get
it now.
adilger [Wed, 28 Aug 2002 22:32:32 +0000 (22:32 +0000)]
Remove obsolete code from mds_ext3.c.
adilger [Wed, 28 Aug 2002 21:34:42 +0000 (21:34 +0000)]
We get 64-bit xids over the wire, so we should store 64 bits on disk.
shaver [Wed, 28 Aug 2002 15:27:04 +0000 (15:27 +0000)]
* Don't oops when destroying an export that doesn't have a connection.
(I'm not sure this should happen, but it is, and this'll keep us from
OOPSing on SMP boxes until I dig deeper.)
rread [Wed, 28 Aug 2002 02:36:56 +0000 (02:36 +0000)]
* llrmount.sh now uses lconf
* enabled lconf --reformat
* disabled the <autoformat> feature until I figure out how to
determine if a block device actually has an fs or not
rread [Wed, 28 Aug 2002 01:19:35 +0000 (01:19 +0000)]
* llecho.sh reimplemnted to use lmc/lconf
* llechocleanup.sh added for completeness
* small changes to tools to support llecho.sh
rread [Wed, 28 Aug 2002 00:39:24 +0000 (00:39 +0000)]
- allow the --ost command to have no arguments when used for obdecho
rread [Wed, 28 Aug 2002 00:37:27 +0000 (00:37 +0000)]
- add support for obdecho. When creating the ost with lmc, add
--obdtype=obdecho
rread [Tue, 27 Aug 2002 23:59:29 +0000 (23:59 +0000)]
- replace llmount and llmountcleanup with versions that use lconf.
- remove old xml files
gord-fig [Tue, 27 Aug 2002 21:19:47 +0000 (21:19 +0000)]
Add chaos13 patch from Andreas.
adilger [Tue, 27 Aug 2002 20:32:57 +0000 (20:32 +0000)]
Revert error handling case - jumpling to out_unlink_cancel, which would seem
to be the obvious thing to do given that we are supposed to have a lock on
this file at this point, causes an oops in ldlm_lock_decref() because the
lock is NULL.
shaver [Tue, 27 Aug 2002 18:52:41 +0000 (18:52 +0000)]
* Added test_brw to .cvsignore.
adilger [Tue, 27 Aug 2002 18:31:19 +0000 (18:31 +0000)]
Add missing header for lov_packmd() definition.
adilger [Tue, 27 Aug 2002 06:30:25 +0000 (06:30 +0000)]
Remove some old code now that we have the EOF lock.
Extract the mtime and ctime from the obdo returned by punch.
adilger [Tue, 27 Aug 2002 06:25:29 +0000 (06:25 +0000)]
Whenever we get the file size from the OST, also get the blocks count at
the same time, since this is free.
adilger [Tue, 27 Aug 2002 06:22:24 +0000 (06:22 +0000)]
Don't copy the objid to/from the inode. There is nowhere that we use these
functions that we want that to happen.
rread [Mon, 26 Aug 2002 23:44:36 +0000 (23:44 +0000)]
- more careful error checking
adilger [Mon, 26 Aug 2002 23:22:47 +0000 (23:22 +0000)]
Make symlinks actually work:
all - leave room for trailing NUL, for simplicity
mds_getattr_internal - check reqbody->valid instead of repbody->valid
ll_symlink - use lli_open_sem to protect lli_symlink_name allocation/data
rread [Mon, 26 Aug 2002 22:24:35 +0000 (22:24 +0000)]
fatal error if unable to determine local address
rread [Mon, 26 Aug 2002 22:16:19 +0000 (22:16 +0000)]
- use python 1.5.x version of exception
rread [Mon, 26 Aug 2002 22:15:31 +0000 (22:15 +0000)]
- use python 1.5.x version of getopt exception
rread [Mon, 26 Aug 2002 22:11:32 +0000 (22:11 +0000)]
A network address of '*' will cause lconf to determine the local network
address automatically. This may need some tweaking to support multiple
interfaces.
adilger [Mon, 26 Aug 2002 20:19:53 +0000 (20:19 +0000)]
Remove ugliness.
adilger [Mon, 26 Aug 2002 20:19:12 +0000 (20:19 +0000)]
Remove dead functions.
Fix major thinko in filter_setattr - we were checking ia_mode instead of
ia_valid to see whether we were truncating, so were not doing proper inode
locking or returning valid data.
adilger [Mon, 26 Aug 2002 20:08:14 +0000 (20:08 +0000)]
Allow unlinking non-regular files.
Drop a lock handle when trying to unlink a file which does not exist.
adilger [Mon, 26 Aug 2002 20:06:25 +0000 (20:06 +0000)]
More of the symlink story - extract the link target _after_ inode2body,
or we overwrite the OBD_MD_LINKNAME flag.
adilger [Mon, 26 Aug 2002 20:04:56 +0000 (20:04 +0000)]
Fix minor typo in debug output.
adilger [Mon, 26 Aug 2002 18:12:44 +0000 (18:12 +0000)]
Add l_dput assertion.
shaver [Mon, 26 Aug 2002 17:36:18 +0000 (17:36 +0000)]
* Move recovery state into connection from client, and fallout therefrom.
pschwan [Mon, 26 Aug 2002 17:08:31 +0000 (17:08 +0000)]
b=596505
Finish the last oustanding EOF-lock related items. Specifically:
- ll_file_write now handles O_APPEND correctly
- ll_truncate takes a PW lock across truncation
- ll_file_seek added (based on generic_file_llseek), does an i_size refresh
braam [Mon, 26 Aug 2002 03:49:51 +0000 (03:49 +0000)]
More security architecture. Perhaps we are done for the ARCH1, but I
suspect a bit of feedback will emerge.
adilger [Fri, 23 Aug 2002 22:41:45 +0000 (22:41 +0000)]
Fix read-of-empty-page problem. Also avoid extraneous memset for cases
where we are over{writing,reading} the entire page.
adilger [Fri, 23 Aug 2002 21:50:09 +0000 (21:50 +0000)]
Make all of the obdo<->inode and obdo<->iattr copy routines take a valid
flag as a parameter, to avoid copying fields into or out of the obdo/inode
that you don't want to copy, just because oa->o_valid is set.
When we do the ll_file_size call to the OST, return the blocks count at
the same time.
Remove some of the verbosity from the locked-page writeout case. Real
fix is pending.
adilger [Fri, 23 Aug 2002 21:35:30 +0000 (21:35 +0000)]
Fix another nasty bug in ll_common_unlink - we were always setting the
inode link count to zero, instead of just decrementing it.
Use a common name for ll_inode_info variables for clarity.
adilger [Fri, 23 Aug 2002 21:23:23 +0000 (21:23 +0000)]
Reduce number of over-the-wire getattrs by half, and avoid duplicate
inodes for every file operation. This doesn't fix the dentry refcount
problem, but it is a big step in the right direction.
adilger [Fri, 23 Aug 2002 09:44:55 +0000 (09:44 +0000)]
Fix minor typo - confusing when looking at the debug log, but not a bug.
rread [Fri, 23 Aug 2002 06:25:01 +0000 (06:25 +0000)]
- Doh!
rread [Fri, 23 Aug 2002 01:41:16 +0000 (01:41 +0000)]
- add lov_pack.c to llite
- clean up ll_create_node for non-intent usage
rread [Fri, 23 Aug 2002 01:39:08 +0000 (01:39 +0000)]
- cleanup output and enhance error reporting
- change some options to be more consistent
- cleanup --help
adilger [Thu, 22 Aug 2002 23:10:42 +0000 (23:10 +0000)]
Minor cleanup.
rread [Thu, 22 Aug 2002 22:47:25 +0000 (22:47 +0000)]
- fix false leak message
rread [Thu, 22 Aug 2002 22:31:51 +0000 (22:31 +0000)]
- fix child wait
rread [Thu, 22 Aug 2002 21:53:22 +0000 (21:53 +0000)]
- fix insmod error message
rread [Thu, 22 Aug 2002 21:38:56 +0000 (21:38 +0000)]
- don't touch /proc/sys/portals/debug_path in noexec mode
gord-fig [Thu, 22 Aug 2002 21:06:28 +0000 (21:06 +0000)]
Properly quote command for tbox_absorb_log.
rread [Thu, 22 Aug 2002 20:54:47 +0000 (20:54 +0000)]
- cleanup remaining oa -> tmp brainos