Whamcloud - gitweb
ericm [Tue, 11 Nov 2003 10:05:29 +0000 (10:05 +0000)]
merge b_devel to b_eq:
20031111, for recent kernel patches updates.
ericm [Sun, 9 Nov 2003 06:55:14 +0000 (06:55 +0000)]
fix server cleanup problem: when service dropping reply, need increment
"outstand reply" count if it's a difficult reply, later handle_reply()
will decrement it for us.
ericm [Fri, 7 Nov 2003 15:51:22 +0000 (15:51 +0000)]
merge b_devel to b_eq:
20031107
kernel passed sanity, but liblustre broken since lconf changes. need fix
by robert.
phil [Wed, 5 Nov 2003 00:00:03 +0000 (00:00 +0000)]
b=1028
r=zab
Return the object's block count from write requests, and store it in
the client inode.
phil [Tue, 4 Nov 2003 18:32:31 +0000 (18:32 +0000)]
Everyone knows what -EIO means (ooh, timeout.)
Absolutely nobody knows what -ENOLCK means (no locks available? did I
run out of memory? is there some tunable I should modify? why did
that happen when I pressed C-c?
So I am removing -ENOLCK, and also making ll_extent_lock_no_validate
responsible for translating LDLM errors into -EIO.
rread [Fri, 31 Oct 2003 19:38:53 +0000 (19:38 +0000)]
land zcfg on devel
- includes changes from b_llogging
- the MDS -> LOV connection is created using the MDS config log, so the
log must exist. Lconf will create the log automatically when
--reformat is used. To create the config logs on an existing
filesystem, run lconf on the MDS with --write_conf. This only needs to
be done on the MDS.
- LOV does not connect to the MDS during setup. Instead, the MDS and
MDC use obd_get_info("lovdesc") to get the stripe info. The LOVDESC
and LOVTGTS files on the MDS are no longer used (and not created
on new filesystems.)
- Zeroconf clients are new support by lconf --zeroconf, and
replay-single.sh uses this to mount the client. The exact arguments
needed for zeroconf will be changing quickly, so don't use
lconf --zeroconf in other scripts yet. Instead, once the dust
clears, lconf will be changed to always do zeroconf mounts, and
eventually when don't need lconf anymore is when we start changing
the test scripts.
zab [Thu, 30 Oct 2003 01:44:57 +0000 (01:44 +0000)]
- put it more consistent debug message that track pages through llite.
Hopefully it will shed some light on bug 2192.
ericm [Wed, 29 Oct 2003 05:14:24 +0000 (05:14 +0000)]
merge b_devel -> b_eq:
20031029
kerenl pass sanity.sh, liblustre is broken
adilger [Mon, 27 Oct 2003 19:34:05 +0000 (19:34 +0000)]
Add new LOV EA format which gives us fields for features needed in the post
1.0 stage (e.g. RAID, OST migration/replacement) as well as more efficient
storage than the current layout when there are few stripes on lots of OSTs.
As well, we will now be able to back up/restore/manipulate EA data via the
"getfattr" and "setfattr" tools (attr RPM) that are part of EA tools from
the "trusted.lov" attribute (only accessible to root/priviledged users).
Also contains code to transparently migrate from old EA format to new one
the first time the EA is accessed. Note that there is no going back to old
code on the same filesystem once the EAs have been updated. EA conversion
is (hopefully) "fail safe" in that an error during conversion just means
that the on-disk EA is kept in old format (clients understand both because of
common code).
Some of the "compat" code can be removed once we hit 1.0 and users have
migrated, but the infrastructure itself should probably remain for the
next time we need to change the EA format.
This also adds "lustre_user.h" which was in b_llp_hp and has existed in
b_llnl for some time, but alas the user EA format had to change in order
to allow specification of striping format. A recompile should fix it.
Some minor warts remain:
- mds_objids_from_lmm() knows too much about lmm format. It had an existing
bug (looping to ld_tgt_count vs lmm_ost_count) and caused another bug for
me because it does its own unpacking of the lmm) and it would be nice to
just get rid of it and use obd_unpackmd(lmm) to get an lsm instead and use
that instead of "ids"
- need to fix up endianness from ll_lov_setstripe() because this is now not
done on the same host any more (object creation is done on MDS now)
- liblustreapi() should not be doing the printing of structs, but should
instead just return structs to user-space and/or using a callback function
supplied by the caller (e.g. for lfind iterating over filesystem). The
lov_dump_user_lmm* functions should probably be exported from the library
and be used as default print functions as a starting point.
b=2097
r=braam
phil [Fri, 24 Oct 2003 16:44:36 +0000 (16:44 +0000)]
b=99
Andreas agrees that the disconnect is already synchronous, and will
already provide a transno suitable for committing all outstanding
requests. So we don't need to do another.
shaver [Thu, 23 Oct 2003 20:11:34 +0000 (20:11 +0000)]
b=2150: handle ENOSPC encountered during precreation
r=zab
zab [Thu, 23 Oct 2003 16:28:19 +0000 (16:28 +0000)]
b=2010
This time, actually initialize the OSC's maximum number of pages allowed
in each RPC to the nice value that we calculate, rather than just setting the
tunable max. We export the math from portals so that client_obd_setup() can
use it to initialize the OSC from its summer home in ptlrpc/.
zab [Wed, 22 Oct 2003 22:04:01 +0000 (22:04 +0000)]
b=2010
The OSC was accidentally stuffing too much bulk data in RPCs when running
with 8k pages. This trivially re-uses the math the OSC was already doing
to fix the new RPC building mechanism.
alex [Wed, 22 Oct 2003 11:30:54 +0000 (11:30 +0000)]
- remove .pc files
NOTE: please, use quilt
zab [Mon, 20 Oct 2003 21:11:33 +0000 (21:11 +0000)]
- truncate() was always getting a PW[0,EOF] lock for its operation and was
checking the start of the lock extent when deciding whether to send a
discarding intent or not -- we were always throwing away data covered by
locks that were canceled by truncate(). With it fixed to start its PW lock
with the truncated size write_append_truncate() passes again. while I was
in there I cleaned up some of my more illiterate comment work.
phil [Mon, 20 Oct 2003 20:50:17 +0000 (20:50 +0000)]
Remove unused variable from ll_process_log
rread [Fri, 17 Oct 2003 06:08:11 +0000 (06:08 +0000)]
- move lcfg init macro to a common location
zab [Fri, 17 Oct 2003 01:48:11 +0000 (01:48 +0000)]
b=2109
Flesh out the async OBD IO API to be more user friendly. llite behaviour
should be the same, but easier to follow. Each OBD layer gets its own
struct of state to associate with a page in flight. A struct of callback
members is introduced to manage the communication between the obd async
api providers (lov/osc) and the callers (llite/lov).
This is landing now, instead of after 1.0, to give liblustre a more reasonable
interface into the RPC concurrency engine in the OSC. This mechanism is most
evident in the part of ll_commit_write() that falls back to sync IO. O_DIRECT
will also want to use this.
These changes pass acceptance-small on real hardware.
zab [Thu, 16 Oct 2003 03:42:02 +0000 (03:42 +0000)]
- silence the deafening roar of per-page writeback failure cerrors.
ericm [Tue, 14 Oct 2003 10:41:41 +0000 (10:41 +0000)]
again merge b_devel to b_eq:
20031014
rread [Tue, 14 Oct 2003 00:04:49 +0000 (00:04 +0000)]
* move config log processing functions to obdclass.
rread [Mon, 13 Oct 2003 22:44:40 +0000 (22:44 +0000)]
msg
phil [Sat, 11 Oct 2003 22:28:09 +0000 (22:28 +0000)]
b=99
Andreas's sync patch, with an (almost) related journal cleanup to remove
fsfilt_journal_data; we no longer use this barely-maintained eature,
and our special files don't see normal write()s anyways
eeb [Fri, 10 Oct 2003 14:44:47 +0000 (14:44 +0000)]
* large request buffers; the request object is dynamically allocated in
the event handler (request_in_callback()) for all incoming request
messages apart from the one that fills a request buffer
* CAVEAT EMPTOR so far this has only been tested with echo client/server,
which doesn't test all types of reply (viz "difficult" replies).
wangdi [Fri, 10 Oct 2003 10:48:08 +0000 (10:48 +0000)]
A better way to fix the 2.6 build errors in llite_nfs.c
ericm [Fri, 10 Oct 2003 09:32:10 +0000 (09:32 +0000)]
merge b_devel to b_eq:
20031010
kernel only
wangdi [Thu, 9 Oct 2003 14:24:12 +0000 (14:24 +0000)]
fix some flaws in llite_nfs.c
mfrey [Wed, 8 Oct 2003 19:16:10 +0000 (19:16 +0000)]
updated from parent (b_llp_hp)
alex [Wed, 8 Oct 2003 09:26:31 +0000 (09:26 +0000)]
- last nfs_export patch
- FS_NFSEXP_FSID flag is put into lustre_lite_fs_type as proposed
- patch ported against hp-pnnl-2.4.20 and rh-2.4.20 series
NOTE: please, don't forget to re-apply nfs_export_kernel* patch
rread [Wed, 8 Oct 2003 07:06:35 +0000 (07:06 +0000)]
landing b_lcfg to b_devel
- llog network api for processing the log from the client
- config messages changed to use struct lustre_cfg and struct
portals_cfg
- lctl record options save config messages to log on the mds
- ll_fill_super supports fetching the log and replaying to setup
the devices needed for mount.
- small changes to lctl interface to support new config protocol.
- newdev is now a no-op.
- cfg_device <device name> is used to set the target device for
detach and cleanup.
zab [Tue, 7 Oct 2003 05:11:58 +0000 (05:11 +0000)]
b=1948
r=phil
Restore the echo_client to working order. We fix up the object creation
paths and fix up some bad export refcounting behaviour.
- get rid of an extra export put in the lov_disconnect path. This was
covering up for an export leak in oscc_init. We put that export
reference in osc_disconnect.
- add a little helper to transfer the object group number from the obdo
to the io obj.
- have the echo_client use group 2 for its objects so it doesn't conflict
with the group 0 objects used by the filesystem.
- get the oid from obd_create from the lsm_obj_id returned instead of the
overloaded o_id
- get rid of some extra export_puts in the echo_client's brw testing paths
- get rid of an extra export_put in echo_client_cleanup
- alter quite a bit of the filter object paths to pass the proper group around
- fix up some assumptions the filter has about group numbers that are no
longer true after the addition of the echo_client's group 2. this is
begging for some enums.
- stop lbuging when io is attempted in the filter against an object that doesn't exist
- only do pre-creation in the filter for group 0
- be sure to set the caller's lsm in all filter_create success paths
- pass osc create requests right on to the ost if they aren't in group 0
- in your face, tab!
phil [Mon, 6 Oct 2003 22:31:50 +0000 (22:31 +0000)]
Merge most b_llp_hp features and fixes into b_devel:
- some functional LDLM reorganization to support posix flocks
- new posix flock code added, but not yet enabled in llite/
- kernel patches for NFS export and ext3 raw lookup
- NFS export enabled, ext3 raw lookup not enabled
- includes all LDLM patches from bug 1766
- locking to fix unlink/create inode re-use recovery race
- added /proc tunables for pre-creation variables
zab [Sun, 5 Oct 2003 16:29:33 +0000 (16:29 +0000)]
b=2030
Queue IO in writepage when dirty pages first arrive there. Previously
it was assumed that commit_write() was involved, which isn't the case
for writes via mmap(). mmap() still isn't correct across the cluster,
but at least pages won't get lost in writeback.
In the process of adding a sanity test for this some mmap() operations
are added to multiop and sanity gets a helper to find the page size.
alex [Sun, 5 Oct 2003 11:32:21 +0000 (11:32 +0000)]
- outdated patch removed
alex [Sun, 5 Oct 2003 11:27:47 +0000 (11:27 +0000)]
- unused patches removed
alex [Sun, 5 Oct 2003 11:12:07 +0000 (11:12 +0000)]
- merged with vanilla months ago
alex [Sun, 5 Oct 2003 09:16:15 +0000 (09:16 +0000)]
- we need no these patches anymore
braam [Sun, 5 Oct 2003 03:40:41 +0000 (03:40 +0000)]
- start using the ext3 constants instead of the ext2 ones.
ericm [Sat, 4 Oct 2003 11:33:01 +0000 (11:33 +0000)]
merge b_devel -> b_eq
20031004
kernel only
adilger [Fri, 3 Oct 2003 17:41:32 +0000 (17:41 +0000)]
Fix POSIX creat.13, fstat.1, open.18, stat.3 mtime/atime on new files.
b=2020
adilger [Fri, 3 Oct 2003 16:17:14 +0000 (16:17 +0000)]
Print out generation values as unsigned instead of hex to be consistent and
remove confusion when debugging.
youfeng [Tue, 30 Sep 2003 06:07:44 +0000 (06:07 +0000)]
b 1585 Support immutable attributes to prevent accidental file deletion from the archives
zab [Mon, 29 Sep 2003 20:43:43 +0000 (20:43 +0000)]
- enable read-ahead in llite by default. remove the silly 'readahead'
mount option that no-one in the world will know to use.
- kill an old comment
alex [Mon, 29 Sep 2003 16:09:29 +0000 (16:09 +0000)]
- minor changes in order to get 2.6-compatibility
NOTE: kdev_t and dev_t issue need to be investigated in depth
adilger [Fri, 26 Sep 2003 23:42:15 +0000 (23:42 +0000)]
Fix minor codingstyle and whitespace issues with ll_prep_inode change.
Avoid oops in ll_iget if we get a NULL inode back.
shaver [Thu, 25 Sep 2003 04:53:28 +0000 (04:53 +0000)]
b=1966: infinite INTERRUPTED SET CERROR loop when shutting down with Lustre. Until we
figure out what we want to do in response to a signal sent to the osc_rpcd thread,
just ignore signals. (Looping _inside_ l_wait_event doesn't clear the signals, so
we need to do something other than this anyway.)
zab [Tue, 23 Sep 2003 22:15:23 +0000 (22:15 +0000)]
- back out the mdc close deferral changes (bug 1883) until mds size
management is ready and really needs it and both the txtbsy (bug 2003) and
mdc semaphore regressions (bug 2008) are taken care of.
dmilos [Mon, 22 Sep 2003 15:01:07 +0000 (15:01 +0000)]
Land latest b_llp_hp changes onto b_flock.
braam [Thu, 18 Sep 2003 18:12:33 +0000 (18:12 +0000)]
- Niu's changes are back in.
- Changed utime.c to use a non-null time
braam [Thu, 18 Sep 2003 17:33:16 +0000 (17:33 +0000)]
- niu's inode changes broke sanity.sh 36a.
niu [Thu, 18 Sep 2003 07:55:58 +0000 (07:55 +0000)]
b: 1929
r: braam
Improve the code organization in llite.
zab [Wed, 17 Sep 2003 22:06:44 +0000 (22:06 +0000)]
b=1883
r=braam
Wait for dirty data to be handled (writeback, truncate, etc) before issueing
the mdc close. This is done by tracking opens for write and dirty data and
deferring mdc close at file_release if there aren't other opens for write and
there is dirty data. We perform these deferred closes when the dirty data is
taken care of or when another open for write comes along.
Also, a hot sanity test to verify the behaviour.
dmilos [Wed, 17 Sep 2003 16:34:05 +0000 (16:34 +0000)]
Land latest b_llp_hp changes on b_flock.q
mfrey [Wed, 17 Sep 2003 11:25:55 +0000 (11:25 +0000)]
update from b_llp_hp
dmilos [Tue, 16 Sep 2003 22:41:56 +0000 (22:41 +0000)]
Merge latest b_llp_hp changes onto b_flock
braam [Mon, 15 Sep 2003 02:10:37 +0000 (02:10 +0000)]
- this is a small refactoring of the inode refresh path to aid me with
lstripe (which is mostly included in this, unfortunately).
phil [Fri, 12 Sep 2003 19:13:47 +0000 (19:13 +0000)]
b=1807
- backport oscc_create rewrite from b_llp_hp
- send osc_creates to a new OST thread, so that time-sensitive
creations will not have to compete with billions of read/write requests
ericm [Thu, 11 Sep 2003 09:17:08 +0000 (09:17 +0000)]
[liblustre]: various user level compile fixes in lov, lvfs, mdc, obdclass,
osc, include. prepare to build in liblustre.
ericm [Tue, 9 Sep 2003 14:37:14 +0000 (14:37 +0000)]
merge b_devel -> b_eq:
20030909
only kernel pass sanity, liblustre still broken
adilger [Tue, 9 Sep 2003 11:19:12 +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".
phil [Tue, 9 Sep 2003 08:14:00 +0000 (08:14 +0000)]
merge b_llp_hp into b_flock, in preparation for integration.
- also renames new l_data field to l_policy_data, to reduce the risk
of catastrophic bugs -- l_data means something _totally different_
in every other branch (namely, l_ast_data in this branch)
phil [Tue, 9 Sep 2003 06:00:29 +0000 (06:00 +0000)]
merge b_llp_hp into b_qos in preparation for integration
phil [Tue, 9 Sep 2003 03:54:29 +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
adilger [Thu, 28 Aug 2003 18:33:35 +0000 (18:33 +0000)]
Don't fail LASSERT if other lockers are pending on semaphore.
b=1734
r=zab
adilger [Wed, 27 Aug 2003 22:38:05 +0000 (22:38 +0000)]
Remove old, unused, and incorrect ll_setattr() code so I don't keep finding
it in searches, and people don't see this instead of ll_setattr_raw().
If this function is ever called, it means that there is a bug in our VFS
patch (the last known of which was fixed two lustre kernel versions ago).
braam [Sun, 24 Aug 2003 17:37:13 +0000 (17:37 +0000)]
merge b_llpmd into b_zconf
phil [Sun, 24 Aug 2003 04:55:32 +0000 (04:55 +0000)]
merge b_llpio into b_llpmd
phil [Sat, 23 Aug 2003 22:22:05 +0000 (22:22 +0000)]
merge b_devel into b_llpio, including v24 kernel patch
cvs2svn [Fri, 22 Aug 2003 21:40:03 +0000 (21:40 +0000)]
This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.8'.
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
ericm [Fri, 22 Aug 2003 15:02:17 +0000 (15:02 +0000)]
merge b_devel -> b_eq:
20030822
wangdi [Fri, 22 Aug 2003 09:05:16 +0000 (09:05 +0000)]
file Makefile.am was initially added on branch b_devel.
rread [Fri, 22 Aug 2003 02:18:55 +0000 (02:18 +0000)]
file import.c was initially added on branch b_devel.
girishc [Wed, 20 Aug 2003 07:43:23 +0000 (07:43 +0000)]
file nfs_export_kernel-2.4.20.pc was initially added on branch b_nfsdevel.
behlendo [Tue, 19 Aug 2003 19:13:24 +0000 (19:13 +0000)]
file LLNL_Changelog was initially added on branch b_llnl_stable.
phil [Tue, 19 Aug 2003 17:38:30 +0000 (17:38 +0000)]
merge b_multinet into HEAD
phil [Tue, 19 Aug 2003 17:10:03 +0000 (17:10 +0000)]
b=1505
Disable some console messages from failed statfs(), reconnect
ericm [Tue, 19 Aug 2003 12:08:49 +0000 (12:08 +0000)]
file cygwin-ioctl.h was initially added on branch b_eq.
alex [Mon, 18 Aug 2003 09:40:33 +0000 (09:40 +0000)]
file uml_2.6.0_test3 was initially added on branch b_llpmd.
alex [Mon, 18 Aug 2003 09:40:19 +0000 (09:40 +0000)]
file uml-patch-2.6.0-test3-1.pc was initially added on branch b_llpmd.
alex [Mon, 18 Aug 2003 09:40:10 +0000 (09:40 +0000)]
file uml-patch-2.6.0-test3-1.patch was initially added on branch b_llpmd.
phil [Sun, 17 Aug 2003 06:38:24 +0000 (06:38 +0000)]
merge b_llpio into b_llpmd:
- bug 1639: write/truncate lock inversion
- bug 1763: fix timestamps from jumping to "now"
- bug 1648: extra journal assertions
- bug 1771: add an extra multiunlink test
- bug 1776: fix read_record/write_record API
- bug 1772: fix leak of offset_extent, possible incorrect i_size later
- bug 1541: fix lasserts in mis-matched transnos during open-unlink testing
- don't mark a file as an orphan unless this is the last link
- avoid committing NULL handle in force close
- local.sh is now a one-stripe LOV configuration
braam [Sat, 16 Aug 2003 09:30:21 +0000 (09:30 +0000)]
- merge from b_llpio to b_llpmd
uneventful, added some defitions of functions to avoid compiler warnings.
braam [Sat, 16 Aug 2003 05:08:17 +0000 (05:08 +0000)]
file osc_create.c was initially added on branch b_llpmd.
adilger [Fri, 15 Aug 2003 20:31:03 +0000 (20:31 +0000)]
Fix timestamps being changed to "now".
b=1763
r=phil
adilger [Fri, 15 Aug 2003 20:28:09 +0000 (20:28 +0000)]
Fix for truncate/write inversion.
b=1639
r=phil
adilger [Fri, 15 Aug 2003 20:24:07 +0000 (20:24 +0000)]
Fix for truncate/write lock inversion with generic_file_write.
b=1639
r=phil
girishc [Thu, 14 Aug 2003 17:20:39 +0000 (17:20 +0000)]
file nfs_export_kernel-2.4.20.patch was initially added on branch b_nfsdevel.
mfrey [Thu, 14 Aug 2003 16:25:15 +0000 (16:25 +0000)]
updated from b_devel (8/14/03)
mdoyle [Thu, 14 Aug 2003 14:07:51 +0000 (14:07 +0000)]
file lgmnalnid.c was initially added on branch b_myrinet.
phil [Thu, 14 Aug 2003 05:55:38 +0000 (05:55 +0000)]
merge b_filterio into b_llpio; b_filterio soon to be deleted, given
that b_llpio is a superset
phil [Thu, 14 Aug 2003 05:01:45 +0000 (05:01 +0000)]
merge three weeks of b_devel fixes into b_filterio
phil [Wed, 13 Aug 2003 19:02:31 +0000 (19:02 +0000)]
Fix size validation with getattr intents. b=1768
phil [Wed, 13 Aug 2003 18:19:25 +0000 (18:19 +0000)]
b=1592
Read past EOF would clear res->dentry in preprw; we would oops trying
to dput it in commitrw. Fixed.
zab [Wed, 13 Aug 2003 17:20:33 +0000 (17:20 +0000)]
- trivial sanity asserts in llite page accounting
- don't leak ocp's in some failure paths
- make sure read-ahead doesn't orphan a locked page
- add some mmap goo to multiop (this is going to conflict, I bet)
adilger [Wed, 13 Aug 2003 17:00:00 +0000 (17:00 +0000)]
file iosanity.sh was initially added on branch b_devel.
phil [Tue, 12 Aug 2003 23:24:08 +0000 (23:24 +0000)]
b=1642
r=zab
- Land a cleanup of the preprw_read/commitrw_read path from b_filterio.
The old dentry cleanup in error cases could not be overseen.
- Backport a copy of Zach's fix for bug 1741, believed the be the
cause of the intermittent partial-page corruption
adilger [Tue, 12 Aug 2003 23:18:08 +0000 (23:18 +0000)]
file write_append_truncate.c was initially added on branch b_devel.
phil [Tue, 12 Aug 2003 22:49:08 +0000 (22:49 +0000)]
If you force cleanup the OSC/LOV before you unmount, umount will
crash. Fix by checking for NULL after conn2obd.
adilger [Tue, 12 Aug 2003 16:59:45 +0000 (16:59 +0000)]
file sleeptest.c was initially added on branch b_devel.