Whamcloud - gitweb
rread [Wed, 7 May 2003 19:12:10 +0000 (19:12 +0000)]
b=1026
r=adilger@clusterfs.com
- add initial support for creating client connections on the MDS,
configs will need to be recreated. (The version has been updated
to force this.)
- create a new config object, "filesystem" which represents a
specific filesystem. In the zero-config future, the MDS will be
need to be aware of what filesystems it "owns," so this is perhaps one
tiny step in that direction.
wangdi [Wed, 7 May 2003 11:14:29 +0000 (11:14 +0000)]
add config-linux-2.4.20-uml
wangdi [Wed, 7 May 2003 11:06:35 +0000 (11:06 +0000)]
add uml.spec
pschwan [Mon, 5 May 2003 04:29:49 +0000 (04:29 +0000)]
partial merge of b_open into b_devel:
- Lustre kernel patch version 16
- extN no longer built; ext3 patched as part of the kernel patch
- related changes to lconf/lmc, to load and mkfs ext3 instead of extN now
pschwan [Mon, 5 May 2003 03:32:49 +0000 (03:32 +0000)]
fixed -ESTALE bug in vfs_intent-2.4.18-18.patch (already fixed in other
vfs_intent patches)
wangdi [Sun, 4 May 2003 11:04:14 +0000 (11:04 +0000)]
remove exports_2.4.20-rh.pc, which can be replaced by exports_hp_2.4.20.pc
wangdi [Sun, 4 May 2003 11:01:41 +0000 (11:01 +0000)]
remove exports_2.4.20-rh.patch, which can be replaced by exports_hp_2.4.20.patch
wangdi [Sun, 4 May 2003 10:22:16 +0000 (10:22 +0000)]
add ext3-noread-2.4.20.patch
braam [Sun, 4 May 2003 05:04:40 +0000 (05:04 +0000)]
- fixes to b_open
- new UML patch 2.4.20-4 which works with Red Hat 9
- minor fixes to handling handles in open/close to avoid oopsing
- fix erroneous mds_mfd_put in mds_open
- fix the CVS tests added to sanity
- the tests exposed more problem in this branch, probably related to
the lack of a file handle cache. Only good parts of the branch will
be merged.
adilger [Sun, 4 May 2003 00:33:30 +0000 (00:33 +0000)]
Merge from b_devel to b_orphan (ORPHAN_BASE5 -> ORPHAN_BASE6).
braam [Sat, 3 May 2003 07:48:44 +0000 (07:48 +0000)]
- this is a reconstruction of b_kernel and a merge from current
b_devel (as of OPEN_BASE). Due to tag confusion we had to do this
by hand.
- DO NOT USE B_KERNEL, MAIL DIFF's TO PETER & PHIL
pschwan [Sat, 3 May 2003 06:00:59 +0000 (06:00 +0000)]
merge b_devel into b_proto
from DEVEL_PROTO_UPDATE_PARENT_20030502 tag on b_devel
to DEVEL_PROTO_UPDATE_CHILD_20030502 tag on b_proto
adilger [Fri, 2 May 2003 23:24:54 +0000 (23:24 +0000)]
Adding it to b_devel too.
pschwan [Sun, 27 Apr 2003 17:49:18 +0000 (17:49 +0000)]
b=1178
Preparations for removing unused "addr" from lustre_handle
pschwan [Fri, 25 Apr 2003 06:06:04 +0000 (06:06 +0000)]
- merge b_devel into b_proto
- simplify the check_set/set_wait logic a bit
adilger [Thu, 24 Apr 2003 08:28:30 +0000 (08:28 +0000)]
Merge from b_devel -> b_orphan (up to ORPHAN_BASE5 tag on b_devel)
rread [Thu, 24 Apr 2003 01:36:34 +0000 (01:36 +0000)]
b=1075
* added --failover option to lconf and lctl cleanup
* failover flag added to obd_disconnect and obd_cleanup
* if failover ==1, then MDS and OST will not update the client
state in last_rcvd.
* Also changes to lconf to add the --group support to MDS.
rread [Mon, 21 Apr 2003 20:00:03 +0000 (20:00 +0000)]
b=1075
If a reply comes back with -ENOTCONN, then this means that we've
either been evicted, or the device has been removed from the
server. First attempt to reconnect, then call the upcall and attempt
recovery.
shaver [Sun, 20 Apr 2003 16:55:04 +0000 (16:55 +0000)]
Fix build: ldlm_hooks_referenced wasn't defined or set.
pschwan [Sun, 20 Apr 2003 15:43:29 +0000 (15:43 +0000)]
b=1111
- add ptlrpc_ldlm_hooks_referenced(), so we can determine in
ldlm_cleanup if "force" is needed
- add a little bit more debug information to hunt connection leaks
pschwan [Sat, 19 Apr 2003 15:53:46 +0000 (15:53 +0000)]
Merge b_devel changes into b_proto
rread [Sat, 19 Apr 2003 01:07:24 +0000 (01:07 +0000)]
b=1075
The config part of failback. Lconf now supports --group for setup and
cleanup. If --group is used, lconf will only setup/cleanup the
devices that are in the group AND are currently active on this node. Lconf
will still setup the modules needed by the devices (networking, routing),
but cleanup will leave these untouched if there are still other devices
left after cleaning up the group.
* small fix enable config version support in ldap
rread [Tue, 15 Apr 2003 21:46:42 +0000 (21:46 +0000)]
- add verison to config, so lconf can make sure the xml/ldap was created
by a compatible lmc.
- recreate clients if remounting
meijia [Sun, 13 Apr 2003 14:52:58 +0000 (14:52 +0000)]
[liblustre]:
- initial support symlink
meijia [Sun, 13 Apr 2003 13:56:51 +0000 (13:56 +0000)]
[liblustre]:
- add support to mkdir
meijia [Sun, 13 Apr 2003 01:45:05 +0000 (01:45 +0000)]
[liblustre]:
- support setattr. but currently we don't involved any locking, thus
contains ugly workaround, maybe totally wrong.
pschwan [Sat, 12 Apr 2003 20:07:45 +0000 (20:07 +0000)]
- merge b_devel into b_proto (incl b_swab changes)
- fix leak-all-bulk-pages bug
- Mike fixed a bug where a failed ptlrpc_queue_wait send buf would
fail, but the user would still have to wait for the timeout to pass
before being able to interrupt
pschwan [Sat, 12 Apr 2003 17:42:08 +0000 (17:42 +0000)]
b=1111
- Pass 'force' down to all of the cleanup methods, instead of just
having special meaning for exports
- in ldlm_cleanup, if forcing, remove the ldlm hooks from ptlrpc so we
can unload the ldlm module
rread [Fri, 11 Apr 2003 19:27:59 +0000 (19:27 +0000)]
b=1084
* add a --group=tag option to mds and ost devices, so related devices
can be failed over together.
* rewrite lactve to failover a specific device group, instead of all
devices on a node.
meijia [Fri, 11 Apr 2003 07:48:34 +0000 (07:48 +0000)]
[liblustre]:
- do proper cleanup with an inode is about to be destroyed
meijia [Fri, 11 Apr 2003 07:12:39 +0000 (07:12 +0000)]
[liblustre]:
- add inode operation close()
meijia [Fri, 11 Apr 2003 06:12:54 +0000 (06:12 +0000)]
[liblustre]:
- actually retrive stripe ea data from server
- fix logic in name resolution, save fid for each file
nfshp [Thu, 10 Apr 2003 02:07:12 +0000 (02:07 +0000)]
[liblustre]:
- add a fake ioctl which could dump mount options to file
- sysio_mount use UUIDs from the mount options
- minor fix for pnode count
nfshp [Wed, 9 Apr 2003 09:43:19 +0000 (09:43 +0000)]
[liblustre]: now we don't need the syscall workaround in libsysio anymore
nfshp [Wed, 9 Apr 2003 08:43:21 +0000 (08:43 +0000)]
[liblustre]: following the recent libsysio changes.
rread [Wed, 9 Apr 2003 00:20:49 +0000 (00:20 +0000)]
fix cut and paste braino
nfshp [Tue, 8 Apr 2003 11:33:54 +0000 (11:33 +0000)]
[liblustre]: must feed NULL-terminated string to mdc_getattr_name()
nfshp [Tue, 8 Apr 2003 10:22:09 +0000 (10:22 +0000)]
land b_cray on b_devel
eeb [Tue, 8 Apr 2003 00:32:50 +0000 (00:32 +0000)]
* Landing b_swab
nfshp [Mon, 7 Apr 2003 07:21:35 +0000 (07:21 +0000)]
merge b_devel into b_cray
nfshp [Fri, 4 Apr 2003 16:16:39 +0000 (16:16 +0000)]
merge b_devel into b_cray
shaver [Thu, 3 Apr 2003 21:20:53 +0000 (21:20 +0000)]
- set_osc_active becomes ptlrpc_set_import_active (though it still only works on
OSCs) and is automatically called for non-recoverable OSCs before we invoke the
upcall. (part of b=1038)
- When aborting recovery, shut down the recovery timer, abort the recovery
queue's requests, and don't do it twice.
- Make sure we call obd_disconnect correctly for all non-lctl imports when
aborting recovery or forcing shutdown, so that we don't leave the last_rcvd bits
around for the next time.
- Fix leak of last_rcvd-spawn exports (every one!).
- Get and put exports for recovery-queued requests and replies, so that
we don't race badly with teardown.
rread [Thu, 3 Apr 2003 18:02:21 +0000 (18:02 +0000)]
b=1089
Python does not automatically convert strings to integers when it might
seem appropriate.
pschwan [Wed, 2 Apr 2003 03:56:25 +0000 (03:56 +0000)]
b=957
- Infrastructure for the pinger thread; needs multi-rpc and some refinements
- Add last_request_time to obd_export
- Fixed export leak in lov_brw success case
- test22 rears its head again: tar gets pissy if it can't access $PWD,
which is common for homedirs at LLNL. cd to /tmp before running tar.
Merged many of the changes from b_proto:
- multi-rpc infrastructure, but not the key bits
- removed some bitfield flags in favour of individual struct members
- merged obd_brw_write and obd_brw_read into a single obd_brw_internal
- move the Elan-related page wrangling from the IOD into the OSC
amrutjoshi [Tue, 1 Apr 2003 08:08:17 +0000 (08:08 +0000)]
adding cmdline.py to pymod_SCRIPTS
amrutjoshi [Tue, 1 Apr 2003 07:38:03 +0000 (07:38 +0000)]
adding scripts to EXTRA_DIST.
pschwan [Mon, 31 Mar 2003 18:33:36 +0000 (18:33 +0000)]
landing b_recovery on b_devel
* bug fixes
- imports and exports cleanup too early, need refcounts (349, 879, 1045)
- per-import/export recovery handling (958, 931, 959)
- multiple last-rcvd slots, for serving multiple FSes (949)
- connections are again shared between multiple imp/exports (963, 964)
- "umount -f" would hang if any requests needed to be sent (393, 978)
- avoid pinning large req buffer by copying for queued messages (989)
- add "uuid" to "lctl device" command to help upcalls (991)
- "open" RPCs with transnos would confuse recovery counters (1037)
* major user-visible changes
- fail out/fail over policy now controlled by the upcall (993)
* protocol changes
- add OBD_PING to check server availability and failure (954)
pschwan [Mon, 31 Mar 2003 18:05:30 +0000 (18:05 +0000)]
last merge of b_devel into b_recovery
shaver [Wed, 26 Mar 2003 07:09:48 +0000 (07:09 +0000)]
Merge from b_devel.
shaver [Wed, 19 Mar 2003 18:32:17 +0000 (18:32 +0000)]
Merge b_devel into b_recovery.
pengzhao [Tue, 11 Mar 2003 18:10:12 +0000 (18:10 +0000)]
Bug828 fix. Approved by Andreas.
zab [Tue, 11 Mar 2003 02:34:52 +0000 (02:34 +0000)]
- purge the write cache before truncate stomps on the local i_size so that we
don't zero-extend the file when truncate's lock acquisition purges the
writeback after having updated the i_size. I'm not sure how 2.5 will do this,
but it probably needs to.
shaver [Sun, 9 Mar 2003 21:29:15 +0000 (21:29 +0000)]
Merge from b_devel, mainly to get the fixes for 977/978/722.
pschwan [Wed, 5 Mar 2003 18:40:29 +0000 (18:40 +0000)]
merge b_devel into b_recovery
adilger [Tue, 4 Mar 2003 09:51:52 +0000 (09:51 +0000)]
While it is true that ALL_PAGES is a good indicator of rmap, we don't get
this define without already including an rmap-specific header. Instead
use PG_inactive_dirty.
adilger [Tue, 4 Mar 2003 09:45:18 +0000 (09:45 +0000)]
It seems PG_lru also exists on the PNNL kernel, so use ALL_ZONES instead?
zab [Tue, 4 Mar 2003 08:22:44 +0000 (08:22 +0000)]
This makes very large IORs pass on a 400 node cluster..
- ifdef PG_lru to check for rmap instead of pte_chain, which didn't work (!)
- put the vm specific memory pressure decision in should_writeback()
- stop prepare_write throttling/writeback when vm pressure lets up
- if we're still under pressure after writing back lots of dirty data then
we also wait on any inodes to complete their writeback until the VM thinks
we're happy or there's nothing to wait on..
pschwan [Mon, 3 Mar 2003 21:05:47 +0000 (21:05 +0000)]
Zach and I found a nasty race condition with the sets: we were
overloading the refcount to mean both "number of outstanding I/Os" and
also "number of threads using this structure". It was possible in
extreme circumstances to free the set in the reading thread before the
event handling thread called wake_up, which would thus crash.
To address this, there is a new count (brw_desc_count), which counts
the number of remaining I/Os. The other count, brw_refcount, now
properly tracks users of the structure to prevent early freeing.
pschwan [Sun, 2 Mar 2003 09:07:22 +0000 (09:07 +0000)]
use obd_brw_sets like the OSC, instead of putting it on the stack and
playing silly buggers with the refcount
pschwan [Sun, 2 Mar 2003 08:30:12 +0000 (08:30 +0000)]
03:26 < zab> oh, jesus.
03:27 < zab> the do { } while (llwp->num_pages) is totally hosed
03:27 < zab> its spinning on the same llwp for ever.
03:28 < zab> memset(llwp just before the ll_get_dirty_pages
also, I removed some tabs
pschwan [Sun, 2 Mar 2003 08:14:23 +0000 (08:14 +0000)]
I took zab's patch, broke it, and the committed it to cvs.
Then he read my checkin message and corrected me.
pschwan [Sun, 2 Mar 2003 08:10:17 +0000 (08:10 +0000)]
zab's patch to correctly track the number of fragments and full pages,
so that we put as many pages (up to 16) as possible on the wire at once
pschwan [Sun, 2 Mar 2003 05:58:07 +0000 (05:58 +0000)]
land b_io on b_devel (b_io will be deleted as soon as it's confirmed
that the merge happend without incident)
pschwan [Sun, 2 Mar 2003 05:19:27 +0000 (05:19 +0000)]
merge 0.5.20.3 b_devel into b_io (ready to land)
shaver [Fri, 28 Feb 2003 21:42:20 +0000 (21:42 +0000)]
catch up with b_devel
zab [Thu, 27 Feb 2003 21:28:34 +0000 (21:28 +0000)]
- bring b_io up to b_devel
adilger [Tue, 25 Feb 2003 23:26:52 +0000 (23:26 +0000)]
Fix uninitialized variable warning.
adilger [Tue, 25 Feb 2003 11:17:56 +0000 (11:17 +0000)]
Make uuid_nid_data.nid a ptl_nid_t (u64) instead of a u32.
zab [Tue, 25 Feb 2003 01:09:36 +0000 (01:09 +0000)]
- bring b_devel changes into b_io in preparation for file size fixes
rread [Thu, 20 Feb 2003 20:42:27 +0000 (20:42 +0000)]
Landing b_malt onto b_devel
- move uuid and handles to lustre, with config changes
- b=204,667: fix router config so network interfaces can be
created in any order.
- Make sure all the ioctl calls in obd.c are packed.
rread [Thu, 20 Feb 2003 05:31:27 +0000 (05:31 +0000)]
Update b_multinet
minor conflicts found in mds/handler.c and niobuf.c
pschwan [Tue, 18 Feb 2003 19:39:46 +0000 (19:39 +0000)]
merge b_setattr into b_devel. The highlights:
- proper LDLM_DEBUG macro fix, for gcc 3.2 (850)
- failed open()s could cause deadlock; fixed (867, 869)
- stop cancelling OST locks when files are closed (481)
- overlapping XID spaces caused network corruption (851, 853)
- fix unsafe fsfilt counter arithmetic; change to atomic_t
- setattr_raw added, to do single-RPC, server-side setattrs
- fix crashy race condition between ptlrpc_free_req and osc_close
pschwan [Mon, 17 Feb 2003 18:42:56 +0000 (18:42 +0000)]
merge b_devel into b_setattr. highlights:
- kernel 2.5 and liblustre build changes
- fixes to Makefile.am for 7.3-era versions of automake, which is quite possibly
the worst piece of software with which I come in contact on a daily basis
- small unlink fix
zab [Sat, 15 Feb 2003 20:21:37 +0000 (20:21 +0000)]
- rebase b_io against HEAD in preparation for the latest write cache code
nfshp [Wed, 12 Feb 2003 08:57:21 +0000 (08:57 +0000)]
initial check-in for SAN support. There's still not clean
stuff like mount option(data=writeback) of ost.
adilger [Fri, 7 Feb 2003 09:51:01 +0000 (09:51 +0000)]
Remove a few little-used stack variables - this is a stack intensive area.
adilger [Fri, 7 Feb 2003 04:36:23 +0000 (04:36 +0000)]
Add smbfs caller of invalidate_inodes() to invalidate_show.patch for PNNL.
adilger [Thu, 6 Feb 2003 23:33:32 +0000 (23:33 +0000)]
Don't show busy inodes for invalidate_device(). We don't really care about
that ourselves (it's mostly for floppies & other removable media).
This avoids the need to fix invalidate_device() parameters all over the place.
pschwan [Tue, 4 Feb 2003 19:36:24 +0000 (19:36 +0000)]
Remove unused label
pschwan [Tue, 4 Feb 2003 19:34:19 +0000 (19:34 +0000)]
- Do the LOCK_CHANGED work in ldlm_lock_enqueue inside an ns_lock; it was making
me nervous without.
- The lock may have already received a blocking AST, while it was still owned
by the server. In this case, the client will receive the lock, oblivious to
the fact that it needs to be given up. Unset the "AST already sent" flag
before handing the lock to the client.
- Add mdc_sem calls around ldlm_cli_enqueue in mdc_request
braam [Tue, 4 Feb 2003 18:08:13 +0000 (18:08 +0000)]
mds_fid2dentry error handling
braam [Mon, 3 Feb 2003 08:07:56 +0000 (08:07 +0000)]
- merge b_intent changes back to b_md. Two profound metadata changes
have eliminated over 600 lines of code:
- the lock server on the MDS passes its locks back to the client
instead of giving the client new locks. This eliminates numerous
races (for which were implementing complicated fixes earlier).
- the lock ordering model was changed slightly to introduce a parent
child older and only then fid order. This eliminates numerous
double lock acquisitions from the MDS.
- OST semaphores restored
adilger [Sat, 1 Feb 2003 07:41:18 +0000 (07:41 +0000)]
Be more verbose for debugging.
pschwan [Fri, 31 Jan 2003 21:37:51 +0000 (21:37 +0000)]
Merge b_intent into b_md:
- New kernel patch (version 9)
- DLM hooks to revalidate locked data, once the lock is granted (604)
- Further MDS reorganization, particularly of the open and o_creat paths
pschwan [Fri, 31 Jan 2003 21:16:03 +0000 (21:16 +0000)]
- merge b_md into b_intent
- rename invalidate-show.diff, at andreas's request
adilger [Wed, 29 Jan 2003 01:09:34 +0000 (01:09 +0000)]
Merge extN patch fixes from b_intent to b_md.
pschwan [Wed, 22 Jan 2003 17:52:50 +0000 (17:52 +0000)]
cleanup after rename.pl
pschwan [Wed, 22 Jan 2003 17:42:30 +0000 (17:42 +0000)]
use the second create.pl mode in acceptance-metadata
pschwan [Tue, 21 Jan 2003 18:02:27 +0000 (18:02 +0000)]
Merge b_intent into b_md:
** You will need to update your kernel, Lustre patch version 8 **
Highlights:
- the MDS now returns a block count for non-regular files (for which it has
the authoritative size information)
- we set a DCACHE_LUSTRE_INVALID flag on dentries when we alienate them; this
flag is now used in the VFS to help us avoid a race condition with
revalidate2 and dentry alienation
- remove the ldlm_lock_match CBPENDING flag, which severely violates a DLM
invariant
- fix enqueue_ordered_lock matching
- we reintroduced bug 72 by accident; fixed again, with a better comment.
- small fixes to create.pl/rename.pl
adilger [Tue, 21 Jan 2003 05:28:24 +0000 (05:28 +0000)]
Adding jbd-transno patch to b_intent.
adilger [Tue, 21 Jan 2003 04:59:31 +0000 (04:59 +0000)]
Add jbd-transno change to b_intent
thantry [Tue, 21 Jan 2003 02:24:19 +0000 (02:24 +0000)]
Updated llvisualize considerably. See Bug #691
(a) Added capability to trace entire call sequence across a cluster by
stitching the server activity into the client's view.
(b) Ability to parse UML logs.
(c) Added llanalyze like switches to discard/examine only certain
specific subsystems/masks
(d) Updated help
To invoke ./llvisualize client_log [server_logs]
Note: The client_log *must* be the first file in the sequence.
Any switches may precede it though.
Type llvisualize --help for the man pages.
pschwan [Mon, 20 Jan 2003 03:52:24 +0000 (03:52 +0000)]
- add ldlm_lock_match CBPENDING flag--I should never have removed it
- change ll_revalidate2 LBUG to a RETURN(0). We now think that our
understanding of this invariant is complete.
- fix rename.pl defaults
- add mkdirmany test to runtests
pschwan [Mon, 20 Jan 2003 01:46:15 +0000 (01:46 +0000)]
merge b_intent into b_md
** You will need to upgrade to kernel version 7 **
Notes:
- Most intent operations were removed, in favour of a so-called "RPC mode"
that does a single RPC to the server and returns the rc immediately,
bypassing most of the VFS. IT_OPEN and IT_LOOKUP remain pretty much
unchanged.
- all LDLM resource ID arrays were removed in favour of struct ldlm_res_id
- aggressively cancel local locks on a lock server, such as those that the MDS
requests from its own DLM
- because unlink is now done with an RPC-mode call, there is no local inode
to call delete_inode on, so the OST objects would never get unlinked.
Instead, the MDS notifies the client that it was the last unlink, along
with the lsm, which it uses to free the OST objects
- mds_reint_rename, mds_reint_unlink, and mds_reint_link were rewritten to use
enqueue_ordered_locks and avoid lock-ordering deadlocks
- recursive symlinks were fixed
- fixed NULL deref in DEBUG_REQ
- filter_update_lastobjid no longer calls sync, which is unnecessary when
called inside a transaction (harmful, in fact) and was making extN very,
very sad
shorthair [Sun, 12 Jan 2003 10:43:24 +0000 (10:43 +0000)]
This branch b_lum25 replace b_lin25 using the latest Lustre tree
ptlbd can't be compiled with kernel 2.5 now, so changed Makefile temporary
Now this branch can mount/umount and do some basic fs syscall
adilger [Fri, 10 Jan 2003 19:44:20 +0000 (19:44 +0000)]
Merge llvisualize from b_intel.
rread [Wed, 18 Dec 2002 23:58:12 +0000 (23:58 +0000)]
* update HEAD to b_config
nfshp [Tue, 17 Dec 2002 13:19:07 +0000 (13:19 +0000)]
merge HEAD to b_io branch. (seems quite a large changes from
b_md and b_recover)
cvs2svn [Tue, 17 Dec 2002 06:19:40 +0000 (06:19 +0000)]
This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.4'.
pschwan [Tue, 17 Dec 2002 06:19:37 +0000 (06:19 +0000)]
move patch-2.4.18-chaos22 (aka EXTN_FIXES) to extN/