Whamcloud - gitweb
ericm [Sun, 14 Sep 2003 15:15:30 +0000 (15:15 +0000)]
[liblustre]: pnode revalidate.
alex [Sun, 14 Sep 2003 13:38:59 +0000 (13:38 +0000)]
- fix against bug 1935 (OOPS in removing current working directory)
wangdi [Sun, 14 Sep 2003 11:46:47 +0000 (11:46 +0000)]
fix bugs for building rpm
wangdi [Sun, 14 Sep 2003 11:36:23 +0000 (11:36 +0000)]
update lustre_kernel.spec.in
ericm [Sat, 13 Sep 2003 16:48:21 +0000 (16:48 +0000)]
[liblustre]: get most of liblustre functions work again, except:
- pnode revalidation
- file i/o
alex [Sat, 13 Sep 2003 14:12:03 +0000 (14:12 +0000)]
- bug 1931 (link_path_walk bug) fix propogated into those kernels
alex [Sat, 13 Sep 2003 11:47:31 +0000 (11:47 +0000)]
- fix agaist bug #1322 'clients looping in revalidate after recovery failure'
alex [Fri, 12 Sep 2003 19:54:37 +0000 (19:54 +0000)]
- needed .pc file added
phil [Fri, 12 Sep 2003 19:17:22 +0000 (19:17 +0000)]
- replace some hard-coded filter bits with a cpp constant
- create 3 groups instead of 2, as a start to fixing echo_create
ericm [Fri, 12 Sep 2003 16:56:02 +0000 (16:56 +0000)]
[liblustre]: open(O_CREAT)/close()
ericm [Fri, 12 Sep 2003 14:58:03 +0000 (14:58 +0000)]
[liblustre]: stat(), intent related stuff, not complete.
wangdi [Fri, 12 Sep 2003 12:01:05 +0000 (12:01 +0000)]
add spec files building lustre modules + kernel in one rpm
tianying [Fri, 12 Sep 2003 01:04:27 +0000 (01:04 +0000)]
Using generation in mdc_readpage function committed by tian ying.
zab [Thu, 11 Sep 2003 19:26:54 +0000 (19:26 +0000)]
- add an LASSERTF() variant so we can get some printf style data along
with our assert.
phil [Thu, 11 Sep 2003 18:28:03 +0000 (18:28 +0000)]
b=1903
Add /proc/sys/portals/console which defaults to 1; if you set it to 0,
it will suppress all console output except LASSERTs
phil [Thu, 11 Sep 2003 18:25:34 +0000 (18:25 +0000)]
fix annoying printf warnings in mkdirdeep
alex [Thu, 11 Sep 2003 15:58:42 +0000 (15:58 +0000)]
- i_filterdata field in struct inode
niu [Thu, 11 Sep 2003 07:55:56 +0000 (07:55 +0000)]
* commit in.
niu [Thu, 11 Sep 2003 07:17:40 +0000 (07:17 +0000)]
* first commit in.
adilger [Wed, 10 Sep 2003 22:38:27 +0000 (22:38 +0000)]
Add .pc files for dynamic-locks and vfs-pdirops for 2.4.20-rh kernel.
adilger [Wed, 10 Sep 2003 21:59:22 +0000 (21:59 +0000)]
Fix usage, error messages.
alex [Wed, 10 Sep 2003 19:51:07 +0000 (19:51 +0000)]
- fast EA (stored in large inode body) support against 2.4.18-chaos
alex [Wed, 10 Sep 2003 19:46:28 +0000 (19:46 +0000)]
- large inode support for 2.4.18-chaos
NOTE: in fact, all we need is already there, but only check
alex [Wed, 10 Sep 2003 06:06:40 +0000 (06:06 +0000)]
- uml for 2.4.18-chaos and series file
adilger [Tue, 9 Sep 2003 11:19:18 +0000 (11:19 +0000)]
Fix for missing open flags for vfs_intent-2.4.20-rh kernel patch.
This change was also needed for the vfs_intent-2.4.20-hp patch. b=1877
Also add bug 1344 revalidate loop fixes to some of the vfs_intent patches.
The diff is fairly large, so that the files in the 2.4.20-rh patch are
in the same order as in all of the other vfs_intent patches to make
comparison and maintenance easier. Some other minor changes are made to
keep the patches consistent.
There is still a difference between vfs_intent-2.4.20-vanilla and -rh
in follow_down, but I don't know which one is the "keeper".
adilger [Tue, 9 Sep 2003 04:58:14 +0000 (04:58 +0000)]
Add 2.4.21 jbd fix patches to rh-2.4.20 and chaos-2.4.20 kernel series now
that I had a chance to test them against the rh-2.4.20 kernel.
b=1871
phil [Tue, 9 Sep 2003 04:49:16 +0000 (04:49 +0000)]
land b_llog on b_devel:
reorganization and API update of the logging infrastructure. minimal
changes to the other code.
phil [Tue, 9 Sep 2003 03:54:45 +0000 (03:54 +0000)]
merge b_llpmd into b_devel. the major highlights:
- new I/O backend
- new client page cache and llite/lov/osc plumbing
- pre-creation of OST objects
- most of the OBD protocol now revolves around exports, not obd_devices
phil [Tue, 9 Sep 2003 00:39:06 +0000 (00:39 +0000)]
- clear 'rc' if rc == LLOG_EMPTY in llog_init_handle, so we don't free
the header and return an error that our caller doesn't expect
- don't call llog_lvfs_pad if left == reclen, only if 0 < left < reclen
- fix the uuid magic in llog_test
- call llog_init_handle in the right places, and don't forget to close
the log if one of the 1a checks fail
phil [Mon, 8 Sep 2003 23:02:25 +0000 (23:02 +0000)]
- If the first user command isn't ENQUEUE, postsetup would be run too
late, which causes the 'sanity' 1a hang that coop sees. Fixed by
running postsetup if any of the non-setup RPCs arrives.
- Remove overwriting of lgh_last_idx in llog_init_handle
- init the handle from the test code (not quite right yet)
- #if 0 out the filter catalog functions until they build
zab [Mon, 8 Sep 2003 22:41:02 +0000 (22:41 +0000)]
at least get 2.6 building, more testing happens right after gdb stops 2.6 uml
from booting. 2.4 still builds and works.
- 2.4/2.6 compat macro cleaning
- add a ll wrapper for dev_t so mknod can take int in 2.4 and dev_t in 2.6
- 2.6 has to call clear_page_dirty to keep the page dirty counts accurate,
we introduce a helper for 2.4
- tee hee, put lli_vfs_inode back. its important, and stuff.
- add a removepage patch for 2.6
- move readpage into rw.c as both ports now use it
- llite_internal spring cleaning
- update 2.6 writepage to use the Writeback bits
- minor filter_io_26 cleanups, more to be done
- move osc_lock_contains into the right obd_ops initializer
phil [Mon, 8 Sep 2003 22:18:38 +0000 (22:18 +0000)]
- new abstraction in the llog_* function wrappers
- fix double-allocation of handle headers
- added llog_read_header()
- more llog tests
alex [Mon, 8 Sep 2003 20:23:49 +0000 (20:23 +0000)]
- ext3-extents-oflag-2.4.18-chaos conflicted with ext3-delete_thread-2.4.18
braam [Mon, 8 Sep 2003 18:31:12 +0000 (18:31 +0000)]
- unify llog_open and llog_create
phil [Mon, 8 Sep 2003 17:08:33 +0000 (17:08 +0000)]
- set the mds's and ost's obd_logops
- initial oa to null in llog_lvfs_create, avoids crashing
- in llog test 1a, don't try to close if the open failed
- 'lctl modules' hook for llog_test
alex [Mon, 8 Sep 2003 13:50:54 +0000 (13:50 +0000)]
- ext3-map_inode_page patch ported onto 2.6.0-test3
- uml-2.6.0-fix patch added. it allows userspace to build with UML kernel
alex [Mon, 8 Sep 2003 13:17:14 +0000 (13:17 +0000)]
- stuped typo fixed
alex [Mon, 8 Sep 2003 13:13:07 +0000 (13:13 +0000)]
- bio based filter_commitrw_write() to be used with 2.6
NOTE: to be tested yet
phil [Mon, 8 Sep 2003 07:51:03 +0000 (07:51 +0000)]
- steal from the reserved bits instead of the bitmap bits, another
piece of sage Andreas advice
- add an llh_flags field to the header
- rename confusing lgh_index to lgh_last_idx
- if the log is marked ZAP_WHEN_EMPTY, the log is full, and all of the
records are cancelled, call llog_destroy from llog_cancel_rec
- extend llog_open to also support reopen-by-name
- add llog_vfs_read_blob and llog_vfs_read_header
- removed a bunch of unnecessary EXPORT_SYMBOLs
- add llog_lvfs_open()
phil [Mon, 8 Sep 2003 06:25:29 +0000 (06:25 +0000)]
- pad llog_* body structures correctly (thanks Andreas)
- countless build fixes
phil [Mon, 8 Sep 2003 05:10:50 +0000 (05:10 +0000)]
- remove obd_run_ctxt from obd->u.mds and obd->u.filter; put it in the
obd_device
- add lvfs_callback_ops, and the first one, the l_fid2dentry
- add callback ops to obd_run_ctxt
- change the 100 uses of mds->mds_ctxt and filter->fo_ctxt
- add a handful of llog tests
ericm [Mon, 8 Sep 2003 04:08:59 +0000 (04:08 +0000)]
[liblustre]: include libsysio_sockets driver
phil [Mon, 8 Sep 2003 03:19:44 +0000 (03:19 +0000)]
- Removes duplicate fsfilt files, which must have snuck back in during
our branch shuffle
- Adds the llog_test stub, which I'll start filling in
braam [Mon, 8 Sep 2003 02:34:26 +0000 (02:34 +0000)]
- wrong branch ... backing out on b_llpmd
braam [Mon, 8 Sep 2003 02:28:43 +0000 (02:28 +0000)]
- reworking the logging api for better layering
- beginning of Lustre vfs library lvfs
adilger [Sun, 7 Sep 2003 07:07:10 +0000 (07:07 +0000)]
Fix thinko when quieting compiler warning.
adilger [Sun, 7 Sep 2003 06:43:37 +0000 (06:43 +0000)]
Quiet ia64 compiler warnings.
adilger [Sun, 7 Sep 2003 05:47:33 +0000 (05:47 +0000)]
Remove bogus include from mds_lib.c
alex [Sat, 6 Sep 2003 20:21:41 +0000 (20:21 +0000)]
- iopen patch against 2.6.0
phil [Sat, 6 Sep 2003 19:31:38 +0000 (19:31 +0000)]
reduce the size of my locally-maintained mds-size patch:
- little cleanups that I made along the way
- remove most instances of "#ifdef ENABLE_ORPHANS"; everyone needs to
start using this code, if we're going to find the subtle bugs
- add mds_query_write_access(), which will be used to determine when
the MDS has the authoritative file size
shaver [Sat, 6 Sep 2003 04:05:25 +0000 (04:05 +0000)]
- Support multiple lov OBDs per node, by tying the LOV into the same UUID group
as the OSCs and MDCs.
- The MDS now _always_ creates its own LOV and OSCs/MDC, and there is no longer
a --mds_ost_conn switch.
- replay-dual should work now, but I haven't tested it.
- the mdc_lock is now per-MDC, and not global
- when a namespace is destroyed, remove the associated lprocfs directory,
so that it's not there like a landmine with dangling namespace pointers.
- the MDS now knows its LOV by device name (which is lov_$MDSNAME)
- LOV now has an explicit 'descriptor' or 'LOV service' UUID, instead of
reusing the the device UUID
- print the (possibly useful) mdc name instead of the largely useless and not
really unique U"U"ID in lprocfs/lov/target_mdc
phil [Fri, 5 Sep 2003 21:25:35 +0000 (21:25 +0000)]
Committing eeb's merge of the qswnal changes into b_devel; plus one
aesthetic change from HEAD.
zab [Fri, 5 Sep 2003 20:05:18 +0000 (20:05 +0000)]
b=1760
Refactor the async ocp IO API to use less cpu on the client. With these
changes streaming writes are no longer cpu-bound in llite. The major
changes are to queue dirty pages for IO at commit_write() and reduce the
per-page book-keeping (bye otree!).
Pages are now associated with llite book-keeping for the duration of their
stay in the page cache. A patch is needed in most kernels before 2.4.21 to
add the removepage callback to tear down this association as pages leave
the page cache. Because of this the lustre kernel version is upped to 25.
now, in detail:
- get rid of osc page queue plugging. instead we track pages for much longer
in the queue and only fire rpcs when we have either enough to produce optimal
rpcs or there are 'urgent' pages in the osc that must leave.
- add some fields to the ocp to remember its position in the lov to remove
lov_stripe_offset() from the profiles.
- remove the nasty code for walking sb/inode dirty lists to find other pages to
jam down the obd at writepage time. (yay!)
- b=1755, b=1757, b=1810: make the dirty page limits and rpcs tunables really
per-osc, getting rid of the fragile and redunant tracking that was going on
in llite. this fixes the way commit_write sleeps for space in the cache
without creating an enormous bubble in the rpc pipeline. Also cover them
with osc spinlocks insted of using costly atomic ops.
- b=1750: add a 'read_ahead' tunable per superblock for disabling llite
read-ahead.
- b=1837, b=1761: add some callbacks so that the osc can call back into llite
when an rpc really fires. it wants to know if it has raced with a truncate
and also wants the most recent times in an obdo.
- b=1601: make commit_write's fallback to sync writes much clearer. it also is
more careful about extending i_size only for successful writes.
- add ll_removepage() which removes the ocp from the page and calls into the
osc to remove it form the queues at truncate time.
- teach read-ahead to really never block looking up pages in the page cache
by calling grab_cache_page_nowait() (duh)
- get rid of the otree that we used to track dirty offsets in objects. an
llite level hack for prefering its i_size that includes cache extensions
works until we implement the proper EOC communications to track i_size.
this adds the obd_lock_contains() call until that time.
- get rid of the old dead code for passing extents from ll_file_read to
readpage. also old 2.6 lli experiments.
phil [Fri, 5 Sep 2003 18:23:33 +0000 (18:23 +0000)]
merge b_devel into b_llpmd
rread [Fri, 5 Sep 2003 05:57:54 +0000 (05:57 +0000)]
The precreate process was leaking ea's that it never used anyway.
adilger [Fri, 5 Sep 2003 00:16:37 +0000 (00:16 +0000)]
Add jbd-* fixes to some of the series files where I know they apply:
- vanilla-2.4.20 and hp-pnnl-2.4.20 need all three
- chaos-2.4.18 doesn't need the flushtime patch (it is in their tree already)
I'm not sure whether chaos-2.4.20 and rh-2.4.20 need them or not (patches
were originally from RH kernels, so they may already be in rh-2.4.20).
adilger [Fri, 5 Sep 2003 00:04:42 +0000 (00:04 +0000)]
Fix up the jbd patches slightly.
Add .pc files for the jbd patches.
adilger [Thu, 4 Sep 2003 21:17:55 +0000 (21:17 +0000)]
Ext3 journaling patches from 2.4.21:
- jbd-flushtime: fixes dirty buffer starvation during IO (may help perf!)
- jbd-ctx_switch: avoids thousands of spurious context switches on busy buffers
- jbd-get_write_access: avoids assertion failure after IO error (bug 1871)
ccooper [Thu, 4 Sep 2003 19:55:17 +0000 (19:55 +0000)]
- added page_private patch to all non-2.6 series files that were missing it
adilger [Thu, 4 Sep 2003 18:47:11 +0000 (18:47 +0000)]
Move inode_update_time() to filter_io_24.c, as this is a VFS function in 2.6.
alex [Thu, 4 Sep 2003 17:01:15 +0000 (17:01 +0000)]
- those files contain 2.4- and 2.6-specific routines of filter I/O part
wangdi [Thu, 4 Sep 2003 15:01:58 +0000 (15:01 +0000)]
add some patches for 2.4.20-rh
ericm [Thu, 4 Sep 2003 10:03:20 +0000 (10:03 +0000)]
[liblustre]: supress an error message.
ericm [Thu, 4 Sep 2003 10:02:16 +0000 (10:02 +0000)]
[liblustre]: reorganize & fixes of test.
ericm [Thu, 4 Sep 2003 09:58:57 +0000 (09:58 +0000)]
[liblustre]: add test_common
girishc [Thu, 4 Sep 2003 08:52:50 +0000 (08:52 +0000)]
re-formatting as per CFS code guidelines
rread [Thu, 4 Sep 2003 07:51:41 +0000 (07:51 +0000)]
refactor the replay testing framework into test-framework.sh. I'll
bet sanity*.sh can use this too, but I haven't checked. Also adding an
embryonic replay-ost-single.sh.
girishc [Thu, 4 Sep 2003 06:07:22 +0000 (06:07 +0000)]
b=1825
Addresses review comments from peter
phil [Wed, 3 Sep 2003 18:19:46 +0000 (18:19 +0000)]
merge HEAD into b_devel. Fixes for:
- bug 1698: lconf errors during Elan cleanup
- bug 1843: NULL deref in dcache_notify
- bug 1861: LBUG in ll_it_open_error with rc = -2
This commit does NOT merge the qswnal changes from HEAD! eeb will
help me with that.
girishc [Wed, 3 Sep 2003 17:13:44 +0000 (17:13 +0000)]
b=1825
new file added to lustre related to nfs export
ericm [Wed, 3 Sep 2003 16:24:12 +0000 (16:24 +0000)]
[liblustre]: add replay_single.c
phil [Wed, 3 Sep 2003 07:13:07 +0000 (07:13 +0000)]
Remove the now-unused 'data' field from lock_match
phil [Wed, 3 Sep 2003 01:33:12 +0000 (01:33 +0000)]
remove LDLM_FL_MATCH_DATA workaround, which was obsoleted by the
proper fixes to the code which takes locks and clears inodes
braam [Tue, 2 Sep 2003 14:35:01 +0000 (14:35 +0000)]
missing file being added now
wangdi [Tue, 2 Sep 2003 13:47:23 +0000 (13:47 +0000)]
add kgdb_eth patch
alex [Tue, 2 Sep 2003 08:57:45 +0000 (08:57 +0000)]
- notification message is shown if fs is mounted with pdirops option
alex [Tue, 2 Sep 2003 07:45:41 +0000 (07:45 +0000)]
- ext3 mount option 'pdirops' added
- uninitialized i_rename_sem bug fixed
alex [Mon, 1 Sep 2003 14:09:59 +0000 (14:09 +0000)]
- parallel directory operations patches have been ported onto 2.4.18-chaos
- new chaos-2.4.18-pdirops series have been created
NOTE: not for production! I'm still testing this
ericm [Mon, 1 Sep 2003 07:38:57 +0000 (07:38 +0000)]
[liblustre]: add 'lrun' into utils.
ericm [Mon, 1 Sep 2003 07:23:20 +0000 (07:23 +0000)]
[liblustre]:
- add test for service side cancel client lock
- reorganize lltest
rread [Fri, 29 Aug 2003 23:33:29 +0000 (23:33 +0000)]
Changed mds_lov_set_nextid mds_lov_set_growth to use obd_set_info
instead of obd_setattr, and added this code to lov_ and osc_set_info.
It is now ok if stripe_cnt != target_cnt.
Removed the mds_lov_lsm, lsmsize fields, as they are no longer
needed now that we use obd_set_info.
Renamed lov_create_orphans to lov_clear_orphans, as that is what it does.
Fixed filter_next_id() and filter_last_id() to really be next and
last. (I take "last" to mean last value that filter_next_id()
returned.)
Added some tests to replay_single.sh.
ericm [Fri, 29 Aug 2003 13:17:57 +0000 (13:17 +0000)]
[liblustre]: add C version of recovery-small for liblustre.
wangdi [Fri, 29 Aug 2003 06:36:48 +0000 (06:36 +0000)]
2.6 do not have smp_num_cpus
rread [Fri, 29 Aug 2003 00:24:23 +0000 (00:24 +0000)]
* Make sure we don't delete the orphans until after recovery has
finished. This is done in mds_postrecovery, which should now be
called instead of mds_lov_set_nextid.
* When we delete orphans, make sure the MDS's and OST's last_id get
dropped back, so subsequent creates will actually create objects.
phil [Thu, 28 Aug 2003 22:55:08 +0000 (22:55 +0000)]
A slightly hacked up version of Zach's patch to change the OBD API to
use exports intead of handles.
It runs and cleans up normally -- as normally as llpmd ever did -- but
probably still contains some bugs. These bugs will likely happen in
unused (cobd, ptlbd) or rarely taken (startup/cleanup error cases),
and will be of the type that leak an export or do an extra export_put.
I also reduced the obd_refcount sleep at cleanup to 1 second from 30.
I have never seen the count ever abort before the full 30 seconds were
up, and because of the unique configuration situation on b_llpmd, this
path is always taken during the cleanup of the LOV (because the MDS is
still holding an export reference)
wangdi [Thu, 28 Aug 2003 14:34:51 +0000 (14:34 +0000)]
cpu affinity are not depended on arch, fix bug 1307
adilger [Wed, 27 Aug 2003 22:39:27 +0000 (22:39 +0000)]
Fixes from Martin to allow write_append_truncate to run on multiple nodes
(albeit only two at a time, in rotation).
braam [Wed, 27 Aug 2003 05:53:38 +0000 (05:53 +0000)]
- open replay should NOT go to the OSC which is unreachable during
recovery
- minor fix to the test
- remove the wrong code that did osc create replay
alex [Tue, 26 Aug 2003 15:57:56 +0000 (15:57 +0000)]
- extents support for ext3 added
- O_EXTENTS flag support (one must pass the flag to vfs_create() in order
to force ext3 to use extents)
NOTE: extents support is disabled by default. to enable use mount option
'extents'
braam [Tue, 26 Aug 2003 13:17:56 +0000 (13:17 +0000)]
- basic replay code for open; passes sanity as well as without it I think
adilger [Mon, 25 Aug 2003 23:09:20 +0000 (23:09 +0000)]
Script to set MDS, OST, client to wildly different dates for mtime testing.
Then, dates in the filesystem that are 1973 are MDS, 1976 are OST, and those
in Aug (1979) are the client. These also conveniently appear as ~
101010101,
~
202020202, and ~
303030303 in unix time format (seconds since epoch).
phil [Sun, 24 Aug 2003 21:05:02 +0000 (21:05 +0000)]
fix many bugs that prevented previously-mounted filesystems from
mounting a second time:
- set the oscc_next_id (via obd_setattr) before we use that value to
recover orphans
- when recovering orphans, send the actual last-used ID (oscc_next_id - 1),
instead of oscc_next_id
- in filter_destroy_precreated, call filter_destroy with a NULL oti
to avoid saving locks for the reply-ack
- remove the boot count component of the filter objid; it is no
longer required and makes orphan recovery harder
- start the filter objid count at 1
- orphan recovery is a dangerous process which if done incorrectly
will delete the wrong objects; with that in mind, we now call a
dramatically simpler lov_create_orphans() instead of the normal
out-of-control lov_create
alex [Sun, 24 Aug 2003 19:08:56 +0000 (19:08 +0000)]
- using this .config I could build 2.6.0-test3 for UML
alex [Sun, 24 Aug 2003 17:38:16 +0000 (17:38 +0000)]
- chaos-2.4.18 series have right ext3-no-write-super patch now
phil [Fri, 22 Aug 2003 22:51:24 +0000 (22:51 +0000)]
merge HEAD into b_devel, including socknal autoconnect and new v24 kernel
cvs2svn [Fri, 22 Aug 2003 21:40:00 +0000 (21:40 +0000)]
This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.2'.
phil [Fri, 22 Aug 2003 21:39:57 +0000 (21:39 +0000)]
fix socknal build on vanilla kernels by adding socket exports
bumped the kernel patch version to 23, but really only vanilla-2.4.20 changed
zab [Fri, 22 Aug 2003 18:09:06 +0000 (18:09 +0000)]
- pass ecp into io funcs who need it when we already have it, avoiding some
atomic_incs which are currently a bottleneck
shaver [Fri, 22 Aug 2003 17:50:39 +0000 (17:50 +0000)]
stop on pinger-error
shaver [Fri, 22 Aug 2003 16:28:59 +0000 (16:28 +0000)]
Add /proc/fs/lustre/pinger (contents "on" or "off") so that tests which require
the pinger be present can check and error.