Whamcloud - gitweb
zab [Mon, 21 Jun 2004 21:59:23 +0000 (21:59 +0000)]
file ext3-extents-asyncdel-2.4.21-chaos.patch was initially added on branch b1_4_mballoc.
zab [Mon, 21 Jun 2004 21:59:22 +0000 (21:59 +0000)]
file ext3-extents-2.4.21-chaos.patch was initially added on branch b1_4_mballoc.
zab [Mon, 21 Jun 2004 21:59:21 +0000 (21:59 +0000)]
file exports-2.4.21-chaos.patch was initially added on branch b1_4_mballoc.
alex [Mon, 21 Jun 2004 16:42:05 +0000 (16:42 +0000)]
- minor fix: lmv object leak in lmv_get_mea_and_update_object()
- CERROR() against leaked lmv objects
yury [Mon, 21 Jun 2004 15:28:37 +0000 (15:28 +0000)]
Fixes with refcounting.
alex [Mon, 21 Jun 2004 14:54:16 +0000 (14:54 +0000)]
- this test shows lmv obj refcounting problem
yury [Mon, 21 Jun 2004 14:25:00 +0000 (14:25 +0000)]
Added splitted object handling in lmv_getattr().
yury [Mon, 21 Jun 2004 12:16:29 +0000 (12:16 +0000)]
obk->freeing changed to obj->state and O_FREEING flag is added instead.
yury [Mon, 21 Jun 2004 11:38:25 +0000 (11:38 +0000)]
Fixed possible sleep in invalid context in LMV object manager.
yury [Mon, 21 Jun 2004 11:07:25 +0000 (11:07 +0000)]
CWARN() chnaged to CDEBUG in lmv_delete_object().
yury [Mon, 21 Jun 2004 11:03:06 +0000 (11:03 +0000)]
- added md_delete_object() and lmv_delete_object(). This is needed to remove LMV object on delete_inode() call.
- small fixes in md_*() methods (added missed ENTRY).
yury [Sat, 19 Jun 2004 17:23:52 +0000 (17:23 +0000)]
Locking fix in lmv_destroy_obj().
yury [Sat, 19 Jun 2004 17:15:26 +0000 (17:15 +0000)]
- added mutex to lmv_obj to protect slaves attrs.
- changed semantic of lmv_create_obj(). By now it
returns created object, as mostly this is what all expect from it.
yury [Sat, 19 Jun 2004 13:29:21 +0000 (13:29 +0000)]
Fixes with managing objects in LMV object manager.
yury [Fri, 18 Jun 2004 16:04:20 +0000 (16:04 +0000)]
- added lmv_destroy_obj() which will be used for destroying splitted object
on inode deleting.
yury [Fri, 18 Jun 2004 15:48:31 +0000 (15:48 +0000)]
- added proper ref counting in lmv object manager.
- fixed possible race in lmv_create_obj().
- cleanups in API of lmv object manager.
- removed some redundant checks for return code.
- added error handling for lmv_create_obj() in various places.
- coding style and indentation fixes in lmv code.
wangdi [Fri, 18 Jun 2004 10:22:26 +0000 (10:22 +0000)]
release the parent locks in error handler in mds_get_parents_children_locked
green [Thu, 17 Jun 2004 16:40:56 +0000 (16:40 +0000)]
b=3643
Only try to look for GNS mount objects inside of directories.
yury [Thu, 17 Jun 2004 16:01:39 +0000 (16:01 +0000)]
Fixed incorrect attempt to read clients configuration when mds is mounted for writing logs.
yury [Thu, 17 Jun 2004 15:23:22 +0000 (15:23 +0000)]
- added error handling in various places of lmv code.
- fixed error code leakage in filter_precreate() what led to endless loop
in the case of -ENOSPC due to real lack of space or inability to allocate new inode.
- added various error messages in error code pathes in lmv code.
- small changes in existent error messages.
wangdi [Thu, 17 Jun 2004 07:49:14 +0000 (07:49 +0000)]
add jounal blocks in ext3_init_extents_ea
niu [Thu, 17 Jun 2004 06:21:00 +0000 (06:21 +0000)]
file lov_request.c was initially added on branch b_lovcleanup.
niu [Thu, 17 Jun 2004 06:20:59 +0000 (06:20 +0000)]
file lov_qos.c was initially added on branch b_lovcleanup.
niu [Thu, 17 Jun 2004 06:20:58 +0000 (06:20 +0000)]
file lov_offset.c was initially added on branch b_lovcleanup.
niu [Thu, 17 Jun 2004 06:20:57 +0000 (06:20 +0000)]
file lov_merge.c was initially added on branch b_lovcleanup.
alex [Wed, 16 Jun 2004 14:16:30 +0000 (14:16 +0000)]
- lmv_set_mdc_active() should skip NULL exports
actually, such an export could be connection back to owner mds
wangdi [Wed, 16 Jun 2004 13:48:59 +0000 (13:48 +0000)]
1) add cmobd support in lconf and lmc
2) remove and modify some test scripts according to the new lconf and lmc
niu [Wed, 16 Jun 2004 07:55:13 +0000 (07:55 +0000)]
* pass in the 3rd parameter for obdgens while getting lov stripe config.
adilger [Wed, 16 Jun 2004 07:46:05 +0000 (07:46 +0000)]
file configurable-x86-stack-2.4.21-chaos.patch was initially added on branch b1_2_smallfix.
alex [Wed, 16 Jun 2004 07:40:59 +0000 (07:40 +0000)]
b=2837
- minor optimization: MDS doesn't take UPDATE lock to protect
from splitting if splitting isn't possible (slave objects)
uid723 [Wed, 16 Jun 2004 07:33:21 +0000 (07:33 +0000)]
b=1742
- landed on HEAD
uid723 [Wed, 16 Jun 2004 07:24:02 +0000 (07:24 +0000)]
b=1742
- landed on HEAD
alex [Wed, 16 Jun 2004 06:38:18 +0000 (06:38 +0000)]
b=3063
- 2nd patch of the bug landed
alex [Tue, 15 Jun 2004 20:15:19 +0000 (20:15 +0000)]
b=2837
- revert back old change to IT_OPEN handling. it shouldn't take UPDATE
lock on the inode
ccooper [Tue, 15 Jun 2004 12:55:25 +0000 (12:55 +0000)]
- adding kksymoops patch to vanilla-2.4.24 series
yury [Tue, 15 Jun 2004 10:35:26 +0000 (10:35 +0000)]
Fixes in mdsadd.sh
wangdi [Tue, 15 Jun 2004 10:34:09 +0000 (10:34 +0000)]
get rid of some unused structure for smfs
alex [Tue, 15 Jun 2004 08:47:51 +0000 (08:47 +0000)]
b=2837
- initialize all fields in op_data
yury [Tue, 15 Jun 2004 07:52:34 +0000 (07:52 +0000)]
failover.sh renamed to mds.sh. This is a script for testing mds addiotion. Currently it does not use failover at all.
alex [Mon, 14 Jun 2004 15:27:21 +0000 (15:27 +0000)]
b=2837
b=3582
inproper kunmap() usage fixed
wangdi [Mon, 14 Jun 2004 14:37:45 +0000 (14:37 +0000)]
get rid of setting stripe info of parent inode in mds_create_objects. which will conflict with mea in dir
yury [Mon, 14 Jun 2004 06:47:32 +0000 (06:47 +0000)]
Small fix in liblustre.
phil [Mon, 14 Jun 2004 05:10:57 +0000 (05:10 +0000)]
land b_ost_amd onto HEAD.
I haven't re-tested the AMD functionality since landing, but I did
test iozone and dbench to ensure sanity.
wangdi [Sun, 13 Jun 2004 17:58:06 +0000 (17:58 +0000)]
in create obj, the inode should get stripe info from parent for sanity 65b. get fix from b1_2smallfix
yury [Sun, 13 Jun 2004 10:51:16 +0000 (10:51 +0000)]
Added client disconnect error message.
yury [Sun, 13 Jun 2004 10:24:38 +0000 (10:24 +0000)]
Added the following:
- lmv_iocontrol() which currently passes all commands to underlying mds's.
- some stuff in lproc_lmv.c, which shows now number of obds, number of active obds, etc.
- some cleanups, checks and error messages in lmv_obd.c.
phil [Sat, 12 Jun 2004 14:33:47 +0000 (14:33 +0000)]
merge tiny patch from HP for lfsck
alex [Fri, 11 Jun 2004 15:08:41 +0000 (15:08 +0000)]
- moved dir entries are deleted from the original dir (master object)
- unlink for splitted dir has been implemented. it uses IT_UNLINK to check
dir's emptiness and works as following: unlink requests comes to mds holding
dir; mds recognizes splitted dir and issues LCK_EX with IT_UNLINK intent.
each slave object is checked and locked. if all the slaves and master object
are empty, then mds unlinks them and unlocks slave objects
- lmv_enqueue() handles splitted dir properly: issues given lock for each object
- lmv_unlink() handles splitted dir properly: unlinks each slave object
- mds_lock_slave_objs(), mds_unlock_slave_objs() and mds_unlink_slave_objs()
have been introduced to implement splitted dir unlink
- mds_lock_and_check_slave() is IT_UNLINK handler on mds side
- mds_reint_unlink() sets MDS_MODE_REPLAY on "drop nlink" request in replay case
- mds_reint_unlink() recognizes MDS_MODE_DONT_LOCK and doesn't try to lock
slave object being removed (it gets locked during earlier)
- minor cleanups in lmv to avoid needless debug messages
- sanity-lmv.sh has been added
yury [Fri, 11 Jun 2004 11:47:19 +0000 (11:47 +0000)]
Fixes and cleanups in lmv.
Fixed:
* failure path in lmv_connect().
* added checks if late connect is success.
* added accounting of active mds.
wangdi [Fri, 11 Jun 2004 06:20:07 +0000 (06:20 +0000)]
minor fix in duplicate_file
wangdi [Fri, 11 Jun 2004 06:13:53 +0000 (06:13 +0000)]
in smfs_fsync, file maybe NULL sometimes, so get cache_inode for dentry
jacob [Thu, 10 Jun 2004 23:15:46 +0000 (23:15 +0000)]
file ext3-pdirops-2.4.20-rh.patch was initially added on branch b1_2_smallfix.
wangdi [Thu, 10 Jun 2004 15:45:05 +0000 (15:45 +0000)]
1)add netconsole-2.4.24
2)add journal blocks in ext3_ext_in_ea_new_extent, for its reservation is not enough. (tmp fix here)
yury [Thu, 10 Jun 2004 15:10:57 +0000 (15:10 +0000)]
Mostly fixes related to using failover MDSs along lmv. This is also related to active_ref handling, etc.
Also fixed the following:
* name of lproc entry where lustre upcall can be seen in error message if upcall is failed.
* removed --master option which was supposed to work along with lmv and now it is obsoleted.
* clanups and fixes both in lconf and lmc
wangdi [Thu, 10 Jun 2004 09:07:17 +0000 (09:07 +0000)]
minor fix in mds_finish_open
zab [Tue, 8 Jun 2004 16:22:56 +0000 (16:22 +0000)]
b=3560
filter_sync_llog() was double locking a spin lock
alex [Tue, 8 Jun 2004 10:22:49 +0000 (10:22 +0000)]
- lmv should accept IT_CHDIR intent
wangdi [Tue, 8 Jun 2004 09:17:39 +0000 (09:17 +0000)]
1)do precreate record in obdfilter
2)fix bugs in fsfilt_commit in smfs, sometime inode will be null sometime
phil [Tue, 8 Jun 2004 06:00:19 +0000 (06:00 +0000)]
drivers/hotplug/pci_hotplug_core.c apparently calls lookup_hash, but
wasn't updated for new nameidata arg
phil [Mon, 7 Jun 2004 22:41:07 +0000 (22:41 +0000)]
land b_gns onto HEAD. If you are working on CMD, you MUST UPDATE YOUR
KERNEL, or LUSTRE WILL NOT BUILD.
- full GNS kernel updates added to vanilla-2.4.24 series
- Oleg patched the API updates into the other kernel series, but none
of the GNS functionality is present. I don't know how well those
other series have been tested.
- I tested normal functionality, but have not tested GNS yet.
phil [Mon, 7 Jun 2004 20:19:10 +0000 (20:19 +0000)]
add some cvsignore bits
alex [Sun, 6 Jun 2004 09:06:52 +0000 (09:06 +0000)]
- import tracks when connection procedure started. if connection error happens
after HZ then ptlrpc_connect_interpret() starts reconnection immediately.
this speeds recovery up a bit
- pinger pings inter-mds connection more ofter then usual ones
- pinger finds the most sooner event and waits for it, not for obd_timeout * 2
- mds_getattr_name() needs not to check whether mds is choosen right if
attrs are requested by fid
phil [Fri, 4 Jun 2004 15:14:58 +0000 (15:14 +0000)]
- merge 2 weeks of b1_4 fixes onto HEAD
- b1_4 is basically the parent of HEAD, because that's the direction
that changes flow, as strange as that sounds. so there's a
HEAD_BASE tag which sits on b1_4
alex [Fri, 4 Jun 2004 13:00:09 +0000 (13:00 +0000)]
- typo fixed
wangdi [Fri, 4 Jun 2004 11:47:07 +0000 (11:47 +0000)]
move mds_check_mds_num right after fill_inode to avoid race.
wangdi [Fri, 4 Jun 2004 11:13:41 +0000 (11:13 +0000)]
add -ERESTART handler for mds_getattr_name
liangzhen [Thu, 3 Jun 2004 17:39:52 +0000 (17:39 +0000)]
It should only be in b_apple_develop now, not in HEAD
liangzhen [Thu, 3 Jun 2004 17:37:10 +0000 (17:37 +0000)]
It should only be in b_apple_develop
liangzhen [Thu, 3 Jun 2004 17:11:20 +0000 (17:11 +0000)]
Project file for xcodebuild
phil [Thu, 3 Jun 2004 15:12:00 +0000 (15:12 +0000)]
statmany error if one of "-els" isn't given
alex [Thu, 3 Jun 2004 11:23:51 +0000 (11:23 +0000)]
changes to protect directory splitting from concurrent modifies/lookups:
- mds_fid2locked_dentry() takes UPDATE lock on the inode. depending on the
given mode for LOOKUP lock new routine mds_lock_mode_for_dir() learns
what mode to use for UPDATE lock. it could be:
- LCK_CR - lookup case. it protects directory from concurrent splitting
and don't invalidate client cache readdir()
- LCK_CW - modify case. it protects directory from concurrent splitting
and invalidate client cache for readdir()
- LCK_EX - modify with possible splitting. protects from any parallel access
- mds_getattr_name(), mds_open(), mds_reint_setattr(), mds_reint_create(),
mds_get_parent_child_locked(), mds_reint_unlink(), mds_reint_rename() and
mds_get_parents_children_lock() have been modified to play new game with
directory locking
- mds_splitting_expected() predicts splitting possibility
wangdi [Thu, 3 Jun 2004 09:05:49 +0000 (09:05 +0000)]
get rid of --smfs-enable options after merge in HEAD
wangchao [Thu, 3 Jun 2004 04:38:30 +0000 (04:38 +0000)]
update vanilla-2.4.24 series
eeb [Wed, 2 Jun 2004 19:15:43 +0000 (19:15 +0000)]
file Makefile.mk was initially added on branch b1_4_openib.
rread [Wed, 2 Jun 2004 19:10:46 +0000 (19:10 +0000)]
file replay-sanity.sh was initially added on branch b1_4_smallfix.
phil [Wed, 2 Jun 2004 15:06:23 +0000 (15:06 +0000)]
landing b_cmobd_merge on HEAD
b_cmobd_merge should not be used for any further development or testing!
alex [Tue, 1 Jun 2004 15:19:34 +0000 (15:19 +0000)]
- mds->lmv->mdc propagate lower timeout down to import
we need this becase client's timeout should be longer then inter-mds recovery may take
- few ugly hacks that allow client to reconnect with old (before failure took place) UUID
- mds_preprw() and mds_preprw() should use l_dput() instead of f_dput()
- SOCKNAL_IO_TIMEOUT has been set to 20 seconds to make discovery of
stale connection faster
- lconf generates persisten UUIDs for LMV clients
it each new LMV uses fresh UUID, then each recovered MDS looks like
new client (target MDS doesn't recognize it's old because of new UUID).
if target MDS gets restarted, then it'll find more clients in LAST_RCVD
then it actually had
zab [Sat, 29 May 2004 00:17:09 +0000 (00:17 +0000)]
file export-zap-page-range.patch was initially added on branch b_mmap.
zab [Sat, 29 May 2004 00:13:20 +0000 (00:13 +0000)]
file mmap_sanity.c was initially added on branch b_mmap.
adilger [Wed, 26 May 2004 15:58:24 +0000 (15:58 +0000)]
file ext3-htree-rename_fix.patch was initially added on branch b1_2.
alex [Tue, 25 May 2004 10:22:10 +0000 (10:22 +0000)]
b=2950
landed on HEAD
alex [Tue, 25 May 2004 09:10:38 +0000 (09:10 +0000)]
b=3063
alex [Mon, 24 May 2004 18:39:04 +0000 (18:39 +0000)]
- lmv_getattr_name() recognizes cross-node name and repeats getattr to proper
MDS node with gotten ino/generation couple
- warning for cross-node rename in lmv_rename(). it isn't implemented yet.
hence, we'd like to know when we hit this path
- mdc_getattr_name() accepts empty name in order to support getattr by fid request
- mds_get_parent_child_locked() forces MDS_INODELOCK_LOOKUP to be used
if found dentry points to another MDS node
- mea_name2idx() and raw_name2idx() checks for last not to be zero and warns if it's
NOTE: this should fix the cause of the test #5 failure
alex [Mon, 24 May 2004 14:42:18 +0000 (14:42 +0000)]
- bugs in fsfilt_ext3_add_dir_entry() and fsfilt_ext3_del_dir_entryI() fixed:
JBD routines must be called under BKL on 2.4
alex [Mon, 24 May 2004 08:57:47 +0000 (08:57 +0000)]
- ll_update_inode() puts number of MDS holding inode to inode->i_dev. this
fix the problem some apps confuses on: they see the same inode number for
different objects. thanks to Andreas for the idea.
alex [Sun, 23 May 2004 16:22:08 +0000 (16:22 +0000)]
- mdt_obj_create() understands a request which is part of cross-node mkdir()
recovery and looks for given ino/generation first. if no ino/generation are
given then it simple recreates new object and returns ino/generation back
to MDS holding a name. leaked inode is subject to rollback mechanism that
is to be implemented yet
- when mds_reint_create() is asked to replay cross-node mkdir() it signals
this to MDS holding dir inode and sends ino/generation couple if possible
NOTE: now cross-node mkdir() survives failure on any MDS node: holding the
name and holding the inode
alex [Fri, 21 May 2004 17:16:44 +0000 (17:16 +0000)]
- extN-wantedi accepts generation as well as ino to create an inode with
given ino/generation. we need this for cross-node mkdir() which creates
inode on remote MDS and adds dir entry then. after that remote MDS may
fail and primary MDS will have to recreate inode with already gotten
ino and generation numbers
- export refcounting bug in lmv fixed
- mdc_obj_create() stores just received ino/generation back to request.
if request replay will happen mdt_obj_create() will use stored numbers
to recreate lost inode
- mds_filter_recovery_request() accepts OST_CREATE request. need to be
discussed though
- mdt_obj_create() rewritten to support recovery phase
- needless mds_lmv_disconnect() in mds_fs_cleanup() removed
- possible bug in retrieve_generation_numbers() fixed: it should understand
cross-node dir entries and put proper mdsnum's
NOTE: please, re-apply extN-wantedi patch
alex [Fri, 21 May 2004 08:43:35 +0000 (08:43 +0000)]
- workaround for name collision in mdt_obj_create() + debug CERROR there
- mds_commitrw() should use l_dput() instead of f_dput()
- removed needless CERROR() from mds_create_local_dentry()
alex [Thu, 20 May 2004 19:48:24 +0000 (19:48 +0000)]
- pdirops patches against vanilla-2.4.20 series
NOTE: vanilla-2.4.20 runs CMD now
alex [Thu, 20 May 2004 13:23:46 +0000 (13:23 +0000)]
- new routine lmv_get_mea_and_update_object() to be called for
MDS's reply with -ERESTART which notifies directory got splitted
- lmv_intent_open() recognizes a dir gets splitted during request,
retrieves mea and repeats the request using proper MDS
- lmv_create() recognizes a dir gets splitted during request,
retrieves mea and repeats the request using proper MDS
- bug fixed in lmv_getattr_name(): it passed wrong namelen to raw_name2idx()
- lmv_obd_create() sets OBD_MD_FLID to flag MDSs to mark created object
unsplittable. we have to differ two possible requests: 1) to create
remote inode for cross-node mkdir(); 2) to create slave objects. last
ones must not be splitted recursively
- mdt_obj_create() has been rewritten to comply just described rules.
also, it takes a lock on newly created inode. this is needed for recovery
- bug fixed in scan_and_distribute(): it tried to open an inode using decimal
number and this caused iopen_lookup() to find alias dentries
- mds_get_lmv_attr() should return right mea size for given conf. in any case
- minor cleanups
alex [Wed, 19 May 2004 20:48:31 +0000 (20:48 +0000)]
- lmv_packmd() and lmv_unpackmd() need not be real connected
jacob [Wed, 19 May 2004 19:57:42 +0000 (19:57 +0000)]
file md_path_lookup-2.6-suse.patch was initially added on branch b1_4_smallfix.
adilger [Wed, 19 May 2004 19:48:47 +0000 (19:48 +0000)]
file rename_many.c was initially added on branch b1_2.
alex [Wed, 19 May 2004 10:29:25 +0000 (10:29 +0000)]
- name var was used being uninitialized
alex [Wed, 19 May 2004 09:00:24 +0000 (09:00 +0000)]
- raw_name2idx declaration to avoid warnings
- ldlm_cli_enqueue() takes 2nd number from resource name into account
to recognize that returned lock changed. we need this because MDS
may return LOOKUP lock with the same ino, but another generation.
the case is very simple mkdir a; then touch a/b; remount; lookup a/b;
a and b my live on different MDSs and have the same ino
- lmv_handle_remote_inode() changes intent from IT_LOOKUP to IT_GETATTR:
caller expect to find attributes in reply
- lmv_intent_lookup() chooses right MDS to revalidate the name
- lmv_create() chooses right MDS where to forward request to
- lmv_link() chooses right mds where to forward request to
- lmv_unlink() chooses right mds where to forward request to
- lmv_readpage() removes . and .. from all the pages, but ones that come
from master MDS for given directory
- lmv_obd_create_single() requests creation of single directory on given MDS
- mdt_obj_create() creates a directory for new mkdir() semantic
- each time new llite connects to MDS, the latter try to connect to own LMV
- mds_pack_inode2body() returns nlink=1 for directories
- mds_lmv_postsetup() pass valid cookiesize to lmv and down to the stack
- mds_reint_create() distributes new dir's inodes over the cluster
- bug in mds_create_local_dentry() fixed: rmdir may cause FIDS/ removal
- mds_get_parents_childer_lock() recognizes cross-ref dentries
zab [Tue, 18 May 2004 21:02:58 +0000 (21:02 +0000)]
file ext3-extents-asyncdel-2.4.20-rh.patch was initially added on branch b1_4_mballoc.
zab [Tue, 18 May 2004 19:56:16 +0000 (19:56 +0000)]
file ext3-extents-asyncdel-2.4.24.patch was initially added on branch b1_4_mballoc.
phil [Mon, 17 May 2004 11:52:09 +0000 (11:52 +0000)]
smash the HEAD with the contents of b_cmd. HEAD_PRE_CMD_SMASH and
cMD_PRE_CMD_SMASH are the relevant tags.
The pre-smashing contents of HEAD will be committed by yury into b_cmd as a
merge of the two branches. These will be stabilized on b_cmd and eventually
landed onto HEAD.
rread [Fri, 14 May 2004 20:17:45 +0000 (20:17 +0000)]
file loop-sync-2.4.21-suse.patch was initially added on branch b1_2_smallfix.
green [Thu, 13 May 2004 19:36:10 +0000 (19:36 +0000)]
b=2657
Added group lock tests. Those are not built by default.