Whamcloud - gitweb
adilger [Sat, 7 Sep 2002 07:52:46 +0000 (07:52 +0000)]
Change internal statfs calls to pass struct obd_statfs as a parameter
instead of the Linux struct statfs. This allows us to have 64-bit
clean statfs data all the way to the VFS, and avoids problems like
block count overflows in intermediate math in LOV and such.
We still need to resolve the VFS interface to statfs, as it limits the
output to 16TB on 32-bit platforms (4G x 4kb blocks). The likely
answer is to shift the blocksize up, and the blocks counts down until
we fit in under 4G total blocks. For MCR this will be around a blocksize
of 64kB which is nice to specify as the block size anyways.
adilger [Sat, 7 Sep 2002 07:43:02 +0000 (07:43 +0000)]
Move knowledge of the LOV metadata/message structures out of mdc_getlovinfo()
and put it into lov_connect. This will be needed when we have different
kinds of LOVs that store their data differently. We still need to do
something about giving the LOV a "name" so that it can distinguish its data
on the MDS from other LOV's that there.
adilger [Sat, 7 Sep 2002 07:41:03 +0000 (07:41 +0000)]
Quiet a few printk's and turn them into CDEBUGs so they don't go to console.
Remove check for kernel code older than 2.3 - lustre will never go there.
* Add warning for lprocfs_bfs_srch(): having recursive code in the kernel is
* extremely frowned upon, because there is a very limited kernel stack size
* (only 8kB). That has to be enough, not only for your functions, but all
* other functions in that call trace, as well as interrupt handlers and such.
Remove extraneous line continuation characters.
Whitespace reformatting to match the rest of the lustre code.
adilger [Sat, 7 Sep 2002 06:47:07 +0000 (06:47 +0000)]
Invoke shell scripts via "sh" because CVS doesn't keep file perms well.
Add some extra basic checks after the cleanup.
adilger [Sat, 7 Sep 2002 06:32:45 +0000 (06:32 +0000)]
Add objid to test_brw output.
Allow objid for test_getattr to have a "t" (thread) prefix for symmetry
with test_brw, so that it will be possible to do a bunch of creates in
runregression net, and have the BRWs run I/O on different objects in
each thread.
adilger [Sat, 7 Sep 2002 06:01:49 +0000 (06:01 +0000)]
Cosmetic.
adilger [Sat, 7 Sep 2002 05:28:14 +0000 (05:28 +0000)]
Oops, missing part of change.
adilger [Sat, 7 Sep 2002 05:25:50 +0000 (05:25 +0000)]
Disable vector reads until the BA OSTs are updated (tomorrow, hopefully).
Don't do setups and cleanups for each loop because of problems therein...
rread [Sat, 7 Sep 2002 00:23:30 +0000 (00:23 +0000)]
* MDC element is no longer created in config. The MDC UUIDS are generated
by lconf when a client is started. This required some Big Ugly Hacks that
I hope to clean up in the near future.
* LOVs and OSC are treated uniformly. --osc lov1 will now work as expected.
These changes require config files to be recreated to work properly with lconf. No
changes were made to the lmc interface, so the config scripts are unchanged.
rread [Sat, 7 Sep 2002 00:20:25 +0000 (00:20 +0000)]
use a larger buffer for device_list
adilger [Fri, 6 Sep 2002 23:48:37 +0000 (23:48 +0000)]
Call open/close on an object before trying to read/write it.
adilger [Fri, 6 Sep 2002 23:47:26 +0000 (23:47 +0000)]
Add open/close ioctls to obdclass.
thantry [Fri, 6 Sep 2002 23:04:34 +0000 (23:04 +0000)]
Updated makefile to include first cut for LProcFS
thantry [Fri, 6 Sep 2002 23:03:05 +0000 (23:03 +0000)]
Commented proc code
thantry [Fri, 6 Sep 2002 23:00:45 +0000 (23:00 +0000)]
Updated obd to include profiling support
thantry [Fri, 6 Sep 2002 22:59:52 +0000 (22:59 +0000)]
Header file for LprocFS
thantry [Fri, 6 Sep 2002 22:58:30 +0000 (22:58 +0000)]
Updated lprocfs.c. First cut
thantry [Fri, 6 Sep 2002 22:57:14 +0000 (22:57 +0000)]
Updating class_obd.c for first delivery of lprocfs
adilger [Fri, 6 Sep 2002 22:23:49 +0000 (22:23 +0000)]
Make obdecho return 64-bit objids so we can check 64-bit paths better.
adilger [Fri, 6 Sep 2002 22:22:09 +0000 (22:22 +0000)]
Fix for test_brw problems with BA OST.
adilger [Fri, 6 Sep 2002 22:08:50 +0000 (22:08 +0000)]
Fix a couple long long objid parsings, not the read fix yet, though.
adilger [Fri, 6 Sep 2002 21:30:45 +0000 (21:30 +0000)]
Fix create oops (enough for single-OST testing).
pschwan [Fri, 6 Sep 2002 16:16:33 +0000 (16:16 +0000)]
Little cleanups:
- made ll_direct_IO static, because I can
- cleaned up some cut-and-paste bugs in LOV error messages
- fix, I think, the common crash cleaning up /proc entries multiple times
- remove some debugging code from eric's awesome callback race bugfix
eeb [Fri, 6 Sep 2002 15:58:41 +0000 (15:58 +0000)]
fixed bulk source callback race
shaver [Fri, 6 Sep 2002 15:12:48 +0000 (15:12 +0000)]
Fix cvsignore.
shaver [Fri, 6 Sep 2002 15:11:19 +0000 (15:11 +0000)]
- Chain imports on connection, like exports.
- Need to be able to go import->obd during recovery.
- Rename mdc to cli in client_obd_connect so that I don't get confused as
often.
- Use ptlrpc_req_finished instead of ptlrpc_free_req in a few places where
we need to keep the request around for possible replay during recovery.
- Flag opens as needing replay.
- Rewrite request address and cookie during replay and resend, to handle
the recovery case (the connection handle changes when the server reboots,
for example).
- ll_reconnect now correctly reconnects with a new server (possibly with
a new server UUID). Tested for MDS, "obviously correct" for OST as well.
- no more references to mdc_getstatus or sbi2mdc in the (now fs-distinct)
ll_reconnect_recover code.
We can now successfully reconnect to a rebooted MDS and begin replay.
Need more work (on MDS or client, not clear yet) to make the replay
succeed.
gord-fig [Fri, 6 Sep 2002 14:02:49 +0000 (14:02 +0000)]
Remove page.c and debug.c from EXTRA_DIST. Please remember to check tinderbox.lustre.org/ after your commits.
eeb [Fri, 6 Sep 2002 10:43:15 +0000 (10:43 +0000)]
premature service teardown bugfix
adilger [Fri, 6 Sep 2002 09:46:45 +0000 (09:46 +0000)]
At least acknowledge that statfs wraps at 16TB filesystems. We could
probably increase blocksize until the block counts fit into a long,
maybe up to some limit (64kB = 256TB max, or 64kB x stripecount = much
larger).
pschwan [Fri, 6 Sep 2002 03:33:07 +0000 (03:33 +0000)]
Small open/close test to help narrow down our LOV bug
rread [Thu, 5 Sep 2002 23:21:27 +0000 (23:21 +0000)]
delete the self uuid first, then disconnect all.
pschwan [Thu, 5 Sep 2002 22:05:00 +0000 (22:05 +0000)]
Back out some lprocfs changes to common code until they can be reviewed and
commented on
thantry [Thu, 5 Sep 2002 21:45:54 +0000 (21:45 +0000)]
Updated makefile, added LprocFS, locking library support
thantry [Thu, 5 Sep 2002 21:43:01 +0000 (21:43 +0000)]
Added counter space in obd_device
thantry [Thu, 5 Sep 2002 21:39:43 +0000 (21:39 +0000)]
Removed LDLM references to old proc FS
thantry [Thu, 5 Sep 2002 21:36:28 +0000 (21:36 +0000)]
Updated top level obdclass file for LProcFS
thantry [Thu, 5 Sep 2002 21:20:50 +0000 (21:20 +0000)]
Re-added lock(s) as library
thantry [Thu, 5 Sep 2002 21:18:15 +0000 (21:18 +0000)]
Header file for /proc/lustre: adding to tree
thantry [Thu, 5 Sep 2002 21:12:44 +0000 (21:12 +0000)]
Initial implementation for /proc/lustre
adilger [Thu, 5 Sep 2002 19:57:59 +0000 (19:57 +0000)]
Only connect to the MDS if we are setting up an MDC, like wise OST/OSC.
pschwan [Thu, 5 Sep 2002 19:14:59 +0000 (19:14 +0000)]
- debug.c was only used by obdclass, so I moved it there
- some of page.c wasn't used by anything, so I removed those bits; much of
page.c was only used in one module, so those bits moved there; two functions
were shared, so now they're in obdclass; page.c is no more.
- stop building and distributing obdfs
- little warning and formatting fixups that I noticed along the way
rread [Thu, 5 Sep 2002 18:33:42 +0000 (18:33 +0000)]
add close_uuid
rread [Thu, 5 Sep 2002 18:22:47 +0000 (18:22 +0000)]
add page.c symink to lov until Phil can stop the madness
eeb [Thu, 5 Sep 2002 16:33:51 +0000 (16:33 +0000)]
Fixed service request buffer race
pschwan [Thu, 5 Sep 2002 07:05:41 +0000 (07:05 +0000)]
- Fixed some error messages in the LOV
- lov_brw was using the same callback structure for two sets of callbacks, thus
overloading the refcount and causing serious problems (sometimes failing to
free the callback data, and I could believe sometimes freeing it too soon).
Alas, this does not appear to completely fix the iozone bugs we're seeing.
rread [Thu, 5 Sep 2002 06:24:02 +0000 (06:24 +0000)]
new option: --dump <file> will dump debug log to <file> during cleanup
shaver [Thu, 5 Sep 2002 00:33:19 +0000 (00:33 +0000)]
- Rewrote connmgr_iocontrol to handle UUID specification and changing.
- connmgr now uses class_connect and class_disconnect to build dummy exports,
so that lctl can probe before newconn.
rread [Wed, 4 Sep 2002 23:30:03 +0000 (23:30 +0000)]
added newconn to lctl
shaver [Wed, 4 Sep 2002 23:07:40 +0000 (23:07 +0000)]
- Update jt_obd_newconn to handle the new IOC_RECOVD_NEWCONN semantics.
- Update obdctl out of habit.
adilger [Wed, 4 Sep 2002 20:32:10 +0000 (20:32 +0000)]
Commit braino fix that I already fixed locally.
adilger [Wed, 4 Sep 2002 19:38:47 +0000 (19:38 +0000)]
Get the directory inode semaphore, just to be copasetic with VFS locking rules
(we don't use this for anything other than fs-init, so it isn't a big deal).
rread [Wed, 4 Sep 2002 19:17:32 +0000 (19:17 +0000)]
add hostname to gdb script
rread [Wed, 4 Sep 2002 18:08:24 +0000 (18:08 +0000)]
Add note to --format help that the autoformat feature is currently disabled
rread [Wed, 4 Sep 2002 18:04:58 +0000 (18:04 +0000)]
remove old message about autoformat
adilger [Wed, 4 Sep 2002 16:30:40 +0000 (16:30 +0000)]
Remove compiler warning.
adilger [Wed, 4 Sep 2002 16:29:14 +0000 (16:29 +0000)]
Remove fancy but broken statistics from obdecho.
pschwan [Wed, 4 Sep 2002 15:18:31 +0000 (15:18 +0000)]
- I introduced a bug in the LOV, for the case where you're writing less than
stripe_count stripes; fixed.
- Match bulk and reply buffers by source NID, which doesn't hurt and may even
fix a bug.
gord-fig [Wed, 4 Sep 2002 15:05:52 +0000 (15:05 +0000)]
Use tex2pdf.
adilger [Wed, 4 Sep 2002 14:05:21 +0000 (14:05 +0000)]
Update changelog for new release.
adilger [Wed, 4 Sep 2002 11:44:00 +0000 (11:44 +0000)]
Fix same problem as before - we are dereferencing a null connection...
adilger [Wed, 4 Sep 2002 09:28:54 +0000 (09:28 +0000)]
Minor fixup - don't memcpy data from past end of string.
Doesn't affect anyone except me, I think.
rread [Wed, 4 Sep 2002 09:11:28 +0000 (09:11 +0000)]
* stripe size in the config file was being ignored and only the default
value of 64k was being used. Fixed this, but check your configs, as
some of them are set to a very low stripe size (4096) for testing.
adilger [Wed, 4 Sep 2002 07:19:32 +0000 (07:19 +0000)]
New improved runregression script.
It creates an OST object at the start of the test and does the write test
before the read test. This should allow it to run against a real OST.
It also does vector I/O testing for BRW read/write tests.
pschwan [Wed, 4 Sep 2002 02:55:04 +0000 (02:55 +0000)]
the callback data refcount should be the stripe count, but bufcount. fixed.
pschwan [Wed, 4 Sep 2002 02:10:45 +0000 (02:10 +0000)]
Use pga[i].off instead of pga[i].pg->index. Even though Andreas just fixed
the page index, the OSC uses .off and I'd rather behave exactly like the OSC.
Baby steps towards iozone-over-many-stripes; it writes one 192k stripe before
timing out now.
adilger [Wed, 4 Sep 2002 01:57:22 +0000 (01:57 +0000)]
"fix" the page->index value for direct_IO pages.
shaver [Wed, 4 Sep 2002 01:19:14 +0000 (01:19 +0000)]
- initialize LDLM client data on obdfilter, not ost, because that's where
the ldlm requests come from.
braam [Wed, 4 Sep 2002 00:23:30 +0000 (00:23 +0000)]
- more recovery API stuff
- special API description
adilger [Wed, 4 Sep 2002 00:16:44 +0000 (00:16 +0000)]
Fix thinko in export cleanup.
pschwan [Wed, 4 Sep 2002 00:09:00 +0000 (00:09 +0000)]
Disable the reply type check until bluearc has a chance to integrate that fix.
adilger [Tue, 3 Sep 2002 23:53:01 +0000 (23:53 +0000)]
Initialize the obd spinlock and import list, each time a device is attached.
Do only the minimal setup of obd_dev at module init time (it is already
zero'd for us by virtue of being a global variable).
rread [Tue, 3 Sep 2002 23:09:48 +0000 (23:09 +0000)]
* move recover.c from llite to ptlrpc
rread [Tue, 3 Sep 2002 23:04:22 +0000 (23:04 +0000)]
* fix module cleanup, previous commit broke it
pschwan [Tue, 3 Sep 2002 22:59:30 +0000 (22:59 +0000)]
- remove the PTL_RPC_TYPE_* in favour of PTL_RPC_MSG_*
- request->rq_type is used to tell the rpc subsystem which buffers to use, so
users of ptlrpc set that
- ptlrpc will fill in request->rq_reqmsg->type or repmsg->type, so it's now
done in exactly one place
- it was impossible to get PTL_RPC_MSG_ERR before, because we clobbered it in
ptlrpc_reply; fixed.
- move the incoming-request type verification into the service
- add some incoming-reply type verification to ptlrpc_queue_wait. Just in case.
adilger [Tue, 3 Sep 2002 21:48:15 +0000 (21:48 +0000)]
Copyright update, remove old comment
adilger [Tue, 3 Sep 2002 21:47:27 +0000 (21:47 +0000)]
Fix header problem for building on RH kernels.
eeb [Tue, 3 Sep 2002 21:41:26 +0000 (21:41 +0000)]
reply message initialisation fix
pschwan [Tue, 3 Sep 2002 21:15:19 +0000 (21:15 +0000)]
ldlm_handle_convert was putting the lock immediately onto the conversion queue and
then returning with flags=0, instead of flags=LDLM_FL_BLOCK_CONV. Thus, the client
believed that the conversion had succeeded immediately, marked the lock accordingly,
and continued on its merry way, even if it didn't actually have the lock.
adilger [Tue, 3 Sep 2002 20:19:21 +0000 (20:19 +0000)]
Allow obdecho to handle create and destroy and setattr methods.
The first two are required so that we can reasonably emulate a
BA OST, and use runregression-net.sh against a BA OST (by using
the objid returned from the create call, and destroying the objid
afterwards).
rread [Tue, 3 Sep 2002 19:39:07 +0000 (19:39 +0000)]
* use specific directories when loading modules in source tree, similar
to common.sh (good to have Andreas watching over my shoulder, too)
* add hostname to debug dump filename
adilger [Tue, 3 Sep 2002 19:09:37 +0000 (19:09 +0000)]
Allow specifying an objid for test_getattr, the same as with test_brw.
This should allow us to work with BA OSTs.
Re-set the objid and o_valid for each test_getattr/test_brw
Use strtoull() for getting objids, to allow 64-bit objids from BA OSTs.
adilger [Tue, 3 Sep 2002 19:06:30 +0000 (19:06 +0000)]
Allow specifying an objid for test_getattr to be the same as test_brw.
This should allow us to work with real BA OSTs.
braam [Tue, 3 Sep 2002 13:28:43 +0000 (13:28 +0000)]
- change the prefix of bulk descriptors to bd_ and bulk pages to bp_
- documentation updates for CDR
shaver [Tue, 3 Sep 2002 04:06:19 +0000 (04:06 +0000)]
WARNING: we currently crash on unmount after the last phase of runtests.
Phil and I are going to debug this more tomorrow, but this changeset needed
to land. I feel bad about this, but not as bad as I'd feel sitting with a
thousand lines of changes in my tree another day! =)
- introduced new-style obd_import structure and spread it thickly across the
ptlrpc infrastructure.
- merged ptlrpc_prep_req and prep_req2 into one import-taking prep_req function.
- added import for ldlm to use when calling out to client
- send local-export handle info in client_obd_connect, so that said import can
talk to a proper export during ASTs.
- new unified recovd architecture for client- and server-side recovery.
- much header frottage to hand the export -> ldlm_export_data -> import
structure nesting.
- commented out cli_sem usage, because clients aren't the right place for that
any more, and we probably don't need them anyway.
- connection-sharing now requires a matching (nid, uuid) pair, to avoid bogus
sharing on the one-host, server+client case.
- chain exports on the connection for doing per-connection recovery (soon, I
swear).
- introduced dozens, if not thousands, of bugs, no doubt.
adilger [Mon, 2 Sep 2002 21:58:43 +0000 (21:58 +0000)]
Remove export of non-existent function.
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.