Whamcloud - gitweb
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
adilger [Thu, 22 Aug 2002 20:50:57 +0000 (20:50 +0000)]
Minor cleanups.
pschwan [Thu, 22 Aug 2002 20:46:29 +0000 (20:46 +0000)]
- removed lock list from inode info
- added a function to cleanup unused locks on a resource
- fixed readdir
gord-fig [Thu, 22 Aug 2002 20:32:12 +0000 (20:32 +0000)]
Simplify adding manual test results to Tinderbox.
shaver [Thu, 22 Aug 2002 20:23:24 +0000 (20:23 +0000)]
* Remove noisy lock-queue debugging spew.
braam [Thu, 22 Aug 2002 19:08:27 +0000 (19:08 +0000)]
- more fixes..things work again.
braam [Thu, 22 Aug 2002 18:58:20 +0000 (18:58 +0000)]
- minor fixes trying to get the md right.
rread [Thu, 22 Aug 2002 18:36:11 +0000 (18:36 +0000)]
- stripe md fixes
braam [Thu, 22 Aug 2002 18:29:55 +0000 (18:29 +0000)]
fixes for LOV -- CAREFUL this may break the tree...
rread [Thu, 22 Aug 2002 18:06:33 +0000 (18:06 +0000)]
- always create the gdb script
pschwan [Thu, 22 Aug 2002 15:16:10 +0000 (15:16 +0000)]
Move obd_getattr from ll_lookup2 to ll_read_inode2
eeb [Thu, 22 Aug 2002 13:34:20 +0000 (13:34 +0000)]
test_brw/echo: verify == (objid != 0), highmem == (objid & 1), test default objid == 3
shaver [Thu, 22 Aug 2002 13:30:11 +0000 (13:30 +0000)]
* Chain granted locks off the export.
braam [Thu, 22 Aug 2002 06:04:36 +0000 (06:04 +0000)]
minor but important lov bug fixes Robert and I found out about.
braam [Thu, 22 Aug 2002 05:00:39 +0000 (05:00 +0000)]
- fix sending wrong attributes... Are there more of these?
pschwan [Thu, 22 Aug 2002 04:56:24 +0000 (04:56 +0000)]
- abstracted some parts of ll_size into ll_size_lock and ll_size_unlock
- added file size locking around the mds_setattr in ll_file_release
pschwan [Wed, 21 Aug 2002 23:52:51 +0000 (23:52 +0000)]
in getattr requests, get the authoritative file size from the OST
braam [Wed, 21 Aug 2002 22:36:29 +0000 (22:36 +0000)]
Change lov.xml file a little so that it works with localhost.
Remove the namespace locks from ll_file_release. Basic parallel I/O
now works, it seems.
adilger [Wed, 21 Aug 2002 22:25:14 +0000 (22:25 +0000)]
Add target data for symlinks to intent.
adilger [Wed, 21 Aug 2002 22:24:21 +0000 (22:24 +0000)]
Fix symlink creation a bit more.
Fix ll_create() error handling (at least it won't oops).
eeb [Wed, 21 Aug 2002 22:17:39 +0000 (22:17 +0000)]
optional highmem buffers in obdecho/test_brw
adilger [Wed, 21 Aug 2002 21:49:01 +0000 (21:49 +0000)]
Symlink support.
rread [Wed, 21 Aug 2002 21:06:37 +0000 (21:06 +0000)]
new option: --nosetup disables device setup/cleanup. Useful for testing
module load/unload without any device config.
shaver [Wed, 21 Aug 2002 20:49:11 +0000 (20:49 +0000)]
* Add timeouts for blocking-AST callbacks.
* Add fail_loc support for dropping a blocking AST reply or callback on the
OSC.
rread [Wed, 21 Aug 2002 20:47:24 +0000 (20:47 +0000)]
Add module loading support to lconf. By default, lconf will load and
unload the modules needed based on what devices are configured for a node.
The path to load modules from is determined based on the directory lconf is
run from. If a Makefile is found, the it is assumed lconf is in lustre/utils
and modules will be searched for in ../../lustre and ../../portals.
Module support can be turned off with --nomod, if desired.
Use option --gdb to create a gdb module script. Lconf will print the path
of the script and pause for few seconds.
rread [Wed, 21 Aug 2002 20:40:15 +0000 (20:40 +0000)]
- change default tcp port to 988
braam [Wed, 21 Aug 2002 19:30:13 +0000 (19:30 +0000)]
No dput's, the VFS does this. Some sanity with rename appears to
begin surfacing now.
braam [Wed, 21 Aug 2002 19:05:40 +0000 (19:05 +0000)]
- redo rename to instantiate d_new on the client, instead of
trying to bypass that step (and run into troubles).
braam [Wed, 21 Aug 2002 17:05:43 +0000 (17:05 +0000)]
- give inodes more metadata for objects. Per stripe we now maintain:
- id
- size
- soon: also flags indicating if we have a "size" lock on the object
- fix two lov bugs (open/close) - both used the wrong oa.
braam [Wed, 21 Aug 2002 04:13:38 +0000 (04:13 +0000)]
Change uml1 to localhost. Now it works.
braam [Wed, 21 Aug 2002 03:53:09 +0000 (03:53 +0000)]
- put Robert's file back...
braam [Wed, 21 Aug 2002 03:41:13 +0000 (03:41 +0000)]
- In ordinary writes (not O_DIRECT) do not round the data object file
size to a page boundary. Objects are now as long as they should
be.
braam [Wed, 21 Aug 2002 03:15:21 +0000 (03:15 +0000)]
- add a name to ptlrpc_svc_init in preparation for eliminating
request->rq_obd
- fix typo in osc_enqueue
pschwan [Wed, 21 Aug 2002 02:37:36 +0000 (02:37 +0000)]
- Do an additional getattr in ll_lookup2 after we get the lock, to refresh the
inode attributes
- mds_blocking_ast didn't wait for all lock holders to finish with the lock
before cancelling it; fixed.
- adjusted more of the wildly inconsistent error code reporting, this time in
mds_getattr
- removed the bad array-walking code that I introduced yesterday to osc_enqueue
adilger [Tue, 20 Aug 2002 21:47:17 +0000 (21:47 +0000)]
Fix input of objid.
adilger [Tue, 20 Aug 2002 21:02:02 +0000 (21:02 +0000)]
Test program to generate the "test_brw" pattern from user-space for a file.
eeb [Tue, 20 Aug 2002 19:41:35 +0000 (19:41 +0000)]
de-serialised getattr, brw test ioctls
adilger [Tue, 20 Aug 2002 17:47:33 +0000 (17:47 +0000)]
Pass the private descriptor pointer between preprw and commitrw for the
ost_brw_read() case also. Thanks again to Eric for finding.
rread [Tue, 20 Aug 2002 17:43:48 +0000 (17:43 +0000)]
- allow lconf to continue to run in debug mode even if acceptor and lctl
are not available.
adilger [Tue, 20 Aug 2002 17:09:54 +0000 (17:09 +0000)]
Fix missing increment for multi-page I/O cleanup/verification, found by Eric.
gord-fig [Tue, 20 Aug 2002 16:58:53 +0000 (16:58 +0000)]
Add simple test of mount and unmount.
adilger [Tue, 20 Aug 2002 06:29:31 +0000 (06:29 +0000)]
- Add create and destroy operations to lctl.
- Make the help options a bit more descriptive.
adilger [Tue, 20 Aug 2002 05:39:49 +0000 (05:39 +0000)]
Remove bogus assertion. The dentry isn't instantiated until later, and
we are guaranteed to have a valid inode if we return from ll_lookup2()
without an error code.
adilger [Tue, 20 Aug 2002 05:27:45 +0000 (05:27 +0000)]
Comment out the rename part of runtests to try and get something working.
adilger [Tue, 20 Aug 2002 04:26:26 +0000 (04:26 +0000)]
Remove call to set_page_clean() from lustre_commit_write().
gord-fig [Tue, 20 Aug 2002 03:14:32 +0000 (03:14 +0000)]
Tweak distribution files.
adilger [Mon, 19 Aug 2002 23:57:32 +0000 (23:57 +0000)]
Return an error code if the test_brw read check failed.
adilger [Mon, 19 Aug 2002 23:45:00 +0000 (23:45 +0000)]
Minor cleanups to test_brw path + debugging to see what is wrong with vectors.
rread [Mon, 19 Aug 2002 23:42:06 +0000 (23:42 +0000)]
- looks like osc_enqueue is now looking at the strip_count, so it needs to be
initialized. Not sure why osc needs this info.
rread [Mon, 19 Aug 2002 22:36:44 +0000 (22:36 +0000)]
- fix return code in mds_getattr_internal
- add support for --format flag to lmc
rread [Mon, 19 Aug 2002 22:16:56 +0000 (22:16 +0000)]
- generate some simple configs
adilger [Mon, 19 Aug 2002 21:51:33 +0000 (21:51 +0000)]
Add some basic data integrity checking to obdecho.
This puts the offset and objid into the first 16 bytes and last 16 bytes
of the bulk transfer. These are in HTON__u64() format.
The lctl command for test_brw now takes an objid instead of an obdo count,
so that you can (potentially) use lctl with test_brw on a real OBD instead
of just obdecho. That has not been tested yet.
shaver [Mon, 19 Aug 2002 21:18:28 +0000 (21:18 +0000)]
Replace ldlm_lock's connection handle with an export handle. (Always
NULL on the client side.)
adilger [Mon, 19 Aug 2002 20:46:56 +0000 (20:46 +0000)]
Fix case where rc was not set.
pschwan [Mon, 19 Aug 2002 17:50:18 +0000 (17:50 +0000)]
- Maintain a list in the ll_inode_data of data (OST) locks held by this client
- in ll_file_release, cancel any remaining locks in that list
- refactored mds_getattr_name and mds_getattr into two functions with a common
sub-function; this fixed bugs in mds_getattr, and helps prevent them from
drifting apart again
rread [Sat, 17 Aug 2002 23:16:08 +0000 (23:16 +0000)]
- writing data to lov stripes is beginning to work. still much to check
shaver [Sat, 17 Aug 2002 22:06:32 +0000 (22:06 +0000)]
* l_wait_event can now do interrupts without a timeout, if we're feeling brave.
* Big doc comment for l_wait_event.
* Only fire the timeout once from l_wait_event.
* Made timeout and the recovery-upcall path configurable via sysctl.
* Added OBD_FAIL_OSC codes for simulating simple client failure.
* Tentative rewiring of recovd into client connections, needs more thought
and then more typing. We do fire the upcall, at least.
* Use the provided cluuid instead of NULL wherever it's handy already.
* Protect (feebly) against waiting for recovery that will never happen,
in sync_io_timeout.
* Add timeouts to bulk operations in MDS and OST -- a recovery stub is now
triggered, but nothing else.
* Document the unpleasant business in osc_brw_{read,write} as pertains to
errors in the callbacks and cleanup of descriptors.
* Remove now-unused ptlrpc_check_bulk_{sent,received}.
rread [Sat, 17 Aug 2002 22:02:33 +0000 (22:02 +0000)]
Some architectures (like ppc) need linux/init.h to define things like
__init__
rread [Sat, 17 Aug 2002 00:50:58 +0000 (00:50 +0000)]
- cleanup callback data to get striping to work
adilger [Fri, 16 Aug 2002 21:25:17 +0000 (21:25 +0000)]
Add --with-linuxdir= to match howto (and be more correct).
adilger [Fri, 16 Aug 2002 20:53:08 +0000 (20:53 +0000)]
Fix yet one more hidden-by-missing-kmap compile error.
adilger [Fri, 16 Aug 2002 20:37:47 +0000 (20:37 +0000)]
Fix harmless compile warning. Not sure the code is correct, though, since
it would appear to preclude unlinking a non-regular, non-directory file.
adilger [Fri, 16 Aug 2002 16:54:31 +0000 (16:54 +0000)]
Finally appear to have a bug free "locked page" handler. Still need to
worry about multiple writer problems (I have seen this happen in dbench,
for instance). Maybe we should only use the locked-page-copy fallback
if there is the possibility of a deadlock (i.e. we already have another
page locked?).
adilger [Fri, 16 Aug 2002 16:51:11 +0000 (16:51 +0000)]
Remove old journal callback compatibility support.
Use a more "magical" number than 4711 for the LOV EA data, since this is
the magic we use in many other places as well.
adilger [Fri, 16 Aug 2002 16:49:22 +0000 (16:49 +0000)]
Remove open-coded list walking.
adilger [Fri, 16 Aug 2002 16:48:00 +0000 (16:48 +0000)]
Remove some grossness I previously put in the error handling path. It
turns out inode can only ever be NULL and not IS_ERR().
adilger [Fri, 16 Aug 2002 16:45:35 +0000 (16:45 +0000)]
Set the o_valid flag for valid fields in the obdo. We also need to start
checking for these at the target side to ensure we are using good data
and not an unset or corrupt field.
rread [Fri, 16 Aug 2002 09:30:29 +0000 (09:30 +0000)]
- fix mount by adding UUIDs requested by Mike
- add HTREE to lconf
- fix various brainos in lov
shaver [Fri, 16 Aug 2002 01:51:03 +0000 (01:51 +0000)]
* Fix interrupt-pending-when-timeout-occurs handling in l_wait_event.
* If timeout specified, but no handler, wake up with -ETIMEOUT instead of
going back to sleep.
* Export a class_signal_client_failure hook-symbol from obdclass, to be filled
in by recovd.o and used by various obdclass bits (avoiding sour dependencies
on recovd.o).
* Add OBD_FAIL_OST_BRW_{READ,WRITE}_BULK fail_loc values, for testing of
bulk-xfer timeouts and interrupts.
* Fix the timeout in ll_sync_io_cb to scale by HZ.
* Rip out some leftovers from ptlrpc_check_reply.
adilger [Thu, 15 Aug 2002 20:40:49 +0000 (20:40 +0000)]
Fix minor divergence between the -chaos and non-chaos patches.
adilger [Thu, 15 Aug 2002 16:56:03 +0000 (16:56 +0000)]
Don't change local inode size if we had a write error (that causes vmtruncate
to try and truncate the file, which calls osc_punch() to remove blocks we
didn't write in the first place).
adilger [Thu, 15 Aug 2002 03:48:11 +0000 (03:48 +0000)]
Hopefully final fix for kunmap problem - will check with a chaos build...
adilger [Thu, 15 Aug 2002 00:14:34 +0000 (00:14 +0000)]
Fix strange non-complaining error for missing page_array and pagearray
declarations.
pschwan [Wed, 14 Aug 2002 22:45:18 +0000 (22:45 +0000)]
- comment out the noisy get/put LDLM_DEBUGs; I'll remove them when I'm sure
that we're free of refcount bugs
- make mds_connect not crash when cluuid is NULL
- in ldlm_intent_policy, return a write lock if the client is opening a file
with no EA
- in mds_extN_get_md, allow MD to be NULL
- fix resource ID corruption leading to infinite locks (b=595247)
- in lctl, make ptl_initialize failure non-fatal, so that I can run debugctl
functions on non-Lustre systems
rread [Wed, 14 Aug 2002 19:37:44 +0000 (19:37 +0000)]
- updated to match tools
adilger [Wed, 14 Aug 2002 10:55:57 +0000 (10:55 +0000)]
Fix obvious breakage in ll_direct_IO.
adilger [Wed, 14 Aug 2002 10:21:43 +0000 (10:21 +0000)]
Add some renames to the runtest, since nobody seems to have noticed that
it didn't work.
adilger [Wed, 14 Aug 2002 10:19:26 +0000 (10:19 +0000)]
Fix annoying bugs in filter_write_locked_page() - we were not unlocking
the page, and this appears to have left stray locked pages around?
In filter_commitrw() we were never writing out the "locked" pages because
we didn't reset the loop variables. Couldn't have found this bug without
the other one ;-).
adilger [Wed, 14 Aug 2002 09:21:57 +0000 (09:21 +0000)]
Fix most obvious breakage due to rename. Still not 100% clean.
adilger [Wed, 14 Aug 2002 05:58:21 +0000 (05:58 +0000)]
Fix minor patch breakage.
adilger [Wed, 14 Aug 2002 05:15:02 +0000 (05:15 +0000)]
Minor changes to bring patch-2.4.18 and patch-2.4.18-chaos12 into sync:
- named initializers for the intent structs
- whitespace cleanups
- diff chunk ordering (so it is easy to compare the two)
- add path_lookup_it() to patch-2.4.18, even though we don't use it there yet
- add intent_release() for rename dentries to -chaos12
Still does not contain sync of link_path_walk_it() differences.
gord-fig [Wed, 14 Aug 2002 01:24:27 +0000 (01:24 +0000)]
Run latex twice.
gord-fig [Wed, 14 Aug 2002 00:29:45 +0000 (00:29 +0000)]
Updated changebar generation to preserve nesting.
adilger [Tue, 13 Aug 2002 21:53:30 +0000 (21:53 +0000)]
Minor fixups for error handling case.