Whamcloud - gitweb
braam [Tue, 25 Sep 2001 06:21:18 +0000 (06:21 +0000)]
fix setup method for ext2 obd devices
remove stuff from Makefile that didn't work
gord-fig [Mon, 24 Sep 2001 17:40:19 +0000 (17:40 +0000)]
Remove spurious trailing \0 bytes.
gord-fig [Mon, 24 Sep 2001 17:39:22 +0000 (17:39 +0000)]
Minor interface cleanups.
gord-fig [Mon, 24 Sep 2001 17:34:29 +0000 (17:34 +0000)]
Update <linux/malloc.h> to <linux/slab.h>.
rzahir [Tue, 3 Jul 2001 01:01:24 +0000 (01:01 +0000)]
* obdfs/flushd.c: conditionalized number of C_DEBUG messages.
* include/linux/obd_class.h: added obd_devicename member to
struct obd_device (name is either ptr to dentry or uuid).
* ext2obd/ext2_obd.c: setup() converts dentry into rdev number.
class/class_obd.c: setup() converts name into obd_device dentry
class/obdcontrol: setup() passes /dev/obd name into ioctl
(used to be rdev number and if invalid rdev number was passed
old ext2_obd.c would crash kernel when trying to read superblock).
* class/obdcontrol: added "status, procsys, script, insmod, rmmod,
lsmod, shell and close" commands for obdcontrol. This allows
easier scripting from within obdcontrol. Introduced ability to
maintain multiple open obd devices from a single obdcontrol
session. Device command toggles device context. Obdcontrol
maintains multiple open file handles. "script <file>" command is
useful for "sourcing" scripts without leaving obdcontrol.
shell <command> allows any shell command to be executed from
within obdcontrol.
* class/proc_lustre.c: added support for /proc/lustre/obd/<n>/status.
These are read-only /proc entries that track /dev/obd<n>
internal state.
* obdtrace/* & include/linux/obd_class.h: obd_trace a logical obd
module useful for tracing and performance debug of the Lustre
obd protocol stack. obdtrace module creates
/proc/lustre/obd/<n>/stats file. Reading this /proc file shows
per OBD performance statistics. Any write to this /proc file
resets the counters for this OBD.
* scripts/obdtrace_demo.scr: Example of obdtrace that
takes advantage of new obdcontrol functionality.
* doc/obdtrace_demo.txt: shows obdtrace capabilities.
braam [Tue, 26 Jun 2001 05:33:52 +0000 (05:33 +0000)]
couple of missing files added
braam [Tue, 26 Jun 2001 05:27:40 +0000 (05:27 +0000)]
Change in the make system - also minor edits and fixes for compilation.
braam [Fri, 16 Mar 2001 03:16:07 +0000 (03:16 +0000)]
Now it really works again on 2.4.2! Yippeah. (No loop devices though.)
braam [Sun, 11 Mar 2001 01:20:22 +0000 (01:20 +0000)]
release another lock and now it even unmounts.
braam [Sun, 11 Mar 2001 00:53:49 +0000 (00:53 +0000)]
a working file system!
braam [Thu, 8 Mar 2001 23:51:32 +0000 (23:51 +0000)]
things are starting to work for Linux 2.4.2!!
ext2obd works (except _write and _read which aren't that important).
adilger [Thu, 9 Mar 2000 10:48:45 +0000 (10:48 +0000)]
doc/OBD-HOWTO.sgml: updated references to attach types from *_obd to obd*
and also mentioned autoloading of class modules.
doc/obdspec.sgml: added paragraph on usage of o_valid when passing between
class drivers, to ensure consistency of metadata in each driver.
Updated punch definition.
ext2obd/ext2_obd.c: ensure that this driver only returns o_valid flags for
fields which it has set
obdfs/flushd.c: ensure all pages are flushed at unmount time
obdfs/super.c: fix fast symlinks (from 2.3.42)
snap/snap.c: ensure we keep o_valid safe across method calls if required.
Removed hacks which are resolved by proper o_valid handling in ext2obd.
adilger [Thu, 9 Mar 2000 01:04:23 +0000 (01:04 +0000)]
demos/test.c: removed duplicate files (also exist in test/test.c)
adilger [Thu, 9 Mar 2000 00:58:50 +0000 (00:58 +0000)]
include/linux/obdfs.h: handle block special devices,
remove check for dirty inode (explicitly only copy valid data to inode)
adilger [Thu, 9 Mar 2000 00:51:58 +0000 (00:51 +0000)]
obdfs/dir.c: add truncate method for directory
obdfs/flushd.c: don't hold list lock when checking page "dirty" bit
obdfs/namei.c: handle block special devices in filesystem
adilger [Tue, 7 Mar 2000 20:58:16 +0000 (20:58 +0000)]
obdfs/flushd.c: added constant for nr_free_buffer_pages() function call as
this isn't available from the kernel. Will figure out later.
obdfs/rw.c: added bit on page flags to indicate if page is in obdfs page
cache, to avoid searching list when inserting pages to page cache
adilger [Tue, 7 Mar 2000 15:59:16 +0000 (15:59 +0000)]
obdfs/*.c: finished truncate implementation
adilger [Tue, 7 Mar 2000 07:44:28 +0000 (07:44 +0000)]
obdfs,ext2_obd,class/*.c: added truncate/punch method/ioctl
adilger [Mon, 6 Mar 2000 04:17:22 +0000 (04:17 +0000)]
obdfs/flushd.c: pupdated stopped on module unload.
check_time now indicates minimum age of buffer to flush, so we can call
obdfs_enqueue_pages() multiple times with decreasing ages in tight
memory situations to flush some pages, but not all
obdfs/super.c: fix small memory leaks
obdfs/*.c: partial update to 2.3.42 code (not including 32-bit UID/GID)
adilger [Mon, 6 Mar 2000 03:12:37 +0000 (03:12 +0000)]
class_obd.c: plugged a few minor memory leaks
obdcontrol: added IOCTL for punch
adilger [Tue, 29 Feb 2000 23:54:52 +0000 (23:54 +0000)]
obdfs/dir.c: fix bug when reading directories > 4096 bytes
obdfs/flushd.c: handle I/O error by putting bad inode to end of list
adilger [Tue, 29 Feb 2000 23:48:04 +0000 (23:48 +0000)]
demos/base*.sh: don't insmod loop when it is not used
adilger [Tue, 29 Feb 2000 05:29:56 +0000 (05:29 +0000)]
include/linux/*.h: update debugging messages
adilger [Tue, 29 Feb 2000 05:27:04 +0000 (05:27 +0000)]
obdfs/flushd.c: send writes in FIFO order (use ->prev from list)
don't get obdo until we have an actual I/O to do
don't call _brw with zero pages to write
obdfs/rw.c: set jiffies field in pgrq for new page cache entries
obdfs/*.c: change debugging messages
adilger [Tue, 29 Feb 2000 05:22:40 +0000 (05:22 +0000)]
class/*.c: changed debugging messages
adilger [Fri, 25 Feb 2000 18:19:58 +0000 (18:19 +0000)]
obdfs/flushd.c: turned on page aging, and set pupdated to run more often
adilger [Fri, 25 Feb 2000 06:39:39 +0000 (06:39 +0000)]
demos/*: update demos to handle module autoloading (Steve Bruggeman)
adilger [Fri, 25 Feb 2000 06:37:25 +0000 (06:37 +0000)]
include/linux/*.h: turn of debugging output, minor reorg
adilger [Fri, 25 Feb 2000 06:35:33 +0000 (06:35 +0000)]
class/*: updated to handle module autoloading (from Steve Bruggeman)
adilger [Fri, 25 Feb 2000 06:34:22 +0000 (06:34 +0000)]
obdfs/*.c: fixed bug with flushing of cache of deleted obdo
adilger [Wed, 26 Jan 2000 07:47:19 +0000 (07:47 +0000)]
obdfs/flushd.c: removed iput() from dequeue routine, as we no longer remove
inodes from the list here, but instead let flush_reqs do it, which also
does an iput() on the inode.
others: clean up for printk() when EXT2_OBD_DEBUG is not set
adilger [Tue, 25 Jan 2000 21:59:53 +0000 (21:59 +0000)]
tests/snaprun.sh: simple script to test some snapshot features
adilger [Tue, 25 Jan 2000 21:59:07 +0000 (21:59 +0000)]
obdfs/super.c: add call to flush pages when unmounting filesystem
obdfs/flushd.c: pass "check_time" parameter to flush routines
obdfs/namei.c: fixed rename call to getpage to use offset, not index
snap/*: tested snapshots with new vector I/O, async writes - OK
tests/snaprun.sh: small script to step through testing of some snapshot features
braam [Tue, 25 Jan 2000 01:54:21 +0000 (01:54 +0000)]
Lots of bug fixes:
- directories greater than 4k
- iget to hold inodes while they are in the WB cache
- generic_file_mmap for executables
braam [Sun, 23 Jan 2000 16:12:32 +0000 (16:12 +0000)]
Several bugfixes. Most notably ext2obd_brw is still totally broken,
fix that first.
adilger [Sat, 22 Jan 2000 11:54:29 +0000 (11:54 +0000)]
flush daemon debugging/testing
- copy + async I/O with flush daemon working properly
- some problem with rm -r for large numbers of files.
inode list needs a lock
snapshot now compiles, but is untested - it appears to be correct
braam [Sat, 22 Jan 2000 05:02:06 +0000 (05:02 +0000)]
Onee error in a loop fixed.
braam [Sat, 22 Jan 2000 04:21:16 +0000 (04:21 +0000)]
either we use update _or_ direct writes, not both.
braam [Sat, 22 Jan 2000 03:56:23 +0000 (03:56 +0000)]
Found one bug; testing for list_empty(slist) is ok, but you
must initialize this list head after deleting it form the list.
adilger [Fri, 21 Jan 2000 01:15:39 +0000 (01:15 +0000)]
Debugging for page lists
adilger [Fri, 21 Jan 2000 01:06:10 +0000 (01:06 +0000)]
Reworked to have a dirty inode list on superblock, dirty pages per inode.
adilger [Thu, 20 Jan 2000 18:58:56 +0000 (18:58 +0000)]
ext2obd/ext2obd.c: fixed brw I/O to have array of iobufs, not pointer
obdfs/super.c: add superblock to list of superblocks
obdfs/flushd.c: use pupdated() to do page writes from superblock list
braam [Thu, 20 Jan 2000 02:45:26 +0000 (02:45 +0000)]
Fixed one definite bug: the superblock was not being added to the super
list, we still get seg faults at the momemnt, but now from the daemon.
adilger [Thu, 20 Jan 2000 01:09:05 +0000 (01:09 +0000)]
ext2obd.c: changed ext2obd_brw() to use vector I/O with brw_kiovec
rw.c, flushd.c: updated to allow async I/O from page cache (in test)
adilger [Wed, 19 Jan 2000 05:56:03 +0000 (05:56 +0000)]
class/obdcontrol: fixed read, write, create to work with obdos
(write is still not fully functional)
ext2obd/ext2obd.c: ext2obd_write() - copy inode data back into obdo
add a few missing iput()s for normally unreached error conditions
adilger [Tue, 18 Jan 2000 21:29:12 +0000 (21:29 +0000)]
Changed _brw methods in ext2obd, obdfs, snap to allow an array of I/Os with
one call. Updated obdspec to reflect new method parameters.
Work in progress.
adilger [Tue, 18 Jan 2000 18:34:06 +0000 (18:34 +0000)]
include/obd_support.h: removed printk() of long long values (sometimes does
not print properly)
obdfs/rw.c: added obdo_from_inode() call in obdfs_brw(), as inode was not
properly being copied into obdo, causing occasional confusion
snap/snap.c: always copy obdo data back to primary from disk obdo
obdsync/*: removed from CVS
adilger [Fri, 14 Jan 2000 15:09:34 +0000 (15:09 +0000)]
ext2obd.c: changed ext2obd_from_inode to set obdflags
snap/*.c: updated to work with obdos properly
obdfs/*: make sure we don't hold ANY obdo data
adilger [Thu, 13 Jan 2000 20:58:09 +0000 (20:58 +0000)]
snap/*.c: get attribtutes from child connection, fixed obdo_fromid() to return
error codes as ERR_PTR
obdfs/flushd.c: pupdated will now exit on SIGTERM, not extra SIGSTOP required
adilger [Wed, 12 Jan 2000 00:37:38 +0000 (00:37 +0000)]
ext2obd/ext2obd.c, obdfs/namei.c: fixed inline flag to be o_obdflag, not o_flag
- fixes bug with symlinks not being written to disk
obdfs/namei.c, ext2obd/ext2obd.c: added "mode" hint for inode creation
- fixes bug with ext2 dircount getting out of sync
adilger [Tue, 11 Jan 2000 21:30:28 +0000 (21:30 +0000)]
obdsyncd: removed from CVS
demos/obdfsclean.sh: now stops pupd before trying to unload obdfs module
class/obdcontrol: corrected packing for COPY, MIGR IOCTL methods
braam [Tue, 11 Jan 2000 16:04:18 +0000 (16:04 +0000)]
A few steps forward towards a working daemon. Why is the process name
"insmod" instead of "pupd"?
adilger [Tue, 11 Jan 2000 08:36:16 +0000 (08:36 +0000)]
Updated snapshot files for new obdo methods. No testing yet.
braam [Mon, 10 Jan 2000 14:50:06 +0000 (14:50 +0000)]
Changes for the flushdaemon.
Page cache now per inode. Other changes to follow.
adilger [Sat, 8 Jan 2000 03:46:26 +0000 (03:46 +0000)]
Fixing brw page lock issue.
adilger [Fri, 7 Jan 2000 19:36:01 +0000 (19:36 +0000)]
Working on add_to_page_cache oops.
adilger [Tue, 4 Jan 2000 23:27:50 +0000 (23:27 +0000)]
Pass inline data from filesystem through obdo to VFS.
adilger [Tue, 4 Jan 2000 20:52:06 +0000 (20:52 +0000)]
Generation added to obdo
adilger [Tue, 4 Jan 2000 18:01:46 +0000 (18:01 +0000)]
Updated for new obdo methods.
adilger [Tue, 4 Jan 2000 01:07:15 +0000 (01:07 +0000)]
Updating obdfs/ext2obd methods for new obdo parameters.
adilger [Mon, 3 Jan 2000 19:37:07 +0000 (19:37 +0000)]
Fixed packing in obdcontrol
braam [Fri, 31 Dec 1999 21:57:46 +0000 (21:57 +0000)]
A few more changes.
braam [Fri, 31 Dec 1999 20:02:56 +0000 (20:02 +0000)]
Phase 1 of the obdo implementation. The class driver is now much
cleaner, the header file is mostly in roughly the right shape.
adilger [Fri, 31 Dec 1999 17:39:01 +0000 (17:39 +0000)]
Updated types for struct obdo.
braam [Thu, 30 Dec 1999 06:12:59 +0000 (06:12 +0000)]
Add flush.c with a rough flushing daemon and the figures subdirectory.
More editing done in the OBDspec.
braam [Thu, 30 Dec 1999 00:39:25 +0000 (00:39 +0000)]
Type proposals, simplifications.
adilger [Wed, 29 Dec 1999 21:03:12 +0000 (21:03 +0000)]
obdsync/*: added to CVS
obdfs/super.c,rw.c: added start of page cache
adilger [Wed, 29 Dec 1999 17:30:08 +0000 (17:30 +0000)]
ext2obd/ext2_obd.c, snap/snap.c: change parameters for create
class/obdcontrol: update copy, migrate dst & src parameter order
adilger [Thu, 23 Dec 1999 23:30:38 +0000 (23:30 +0000)]
* demos/snaprest.sh: ensure client is disconnected after snaprestore
* class/class_obd.c: debugging for connection counts, made error returns
more consistent, check for connections when doing cleanup
adilger [Thu, 23 Dec 1999 21:42:40 +0000 (21:42 +0000)]
demos/snaprest.sh: ensure client is disconnected after snaprestore
class/class_obd.c: debugging for connection counts
braam [Thu, 23 Dec 1999 18:07:05 +0000 (18:07 +0000)]
fixed a refcount bug for types.
adilger [Thu, 23 Dec 1999 10:21:35 +0000 (10:21 +0000)]
ext2obd/ext2_obd.c: added iput() after reading a bad inode,
remove EXT2_UNDEL_DIR_INO from list of iterated inodes.
class/obdcontrol: after snaprestore remove snapshot from table by key not index
braam [Thu, 23 Dec 1999 02:31:35 +0000 (02:31 +0000)]
Fixes to shell scripts to check for errors and other improvements
Added a fully featured snaprestore to obdcontrol
Fix refcount for class driver.
adilger [Wed, 22 Dec 1999 20:53:11 +0000 (20:53 +0000)]
demos/snaprest.sh: mount /dev/obd2 on /mnt/obd at end of restore
adilger [Wed, 22 Dec 1999 20:10:56 +0000 (20:10 +0000)]
snap/snap.c: added debug statement
class/obdcontrol: fixed up comments
adilger [Wed, 22 Dec 1999 20:07:27 +0000 (20:07 +0000)]
demos/basesetup.sh: verify /dev/obd* devices are created
demos/baseclean.sh: don't remove temp file when exiting
demos/config.sh: added OBDMAJ major device number
demos/snaprest.sh: need to rework restore and snap indexes
adilger [Wed, 22 Dec 1999 15:49:29 +0000 (15:49 +0000)]
demos/obdtest.sh: added new script
adilger [Wed, 22 Dec 1999 01:28:07 +0000 (01:28 +0000)]
class/obdcontrol: added "basedev" parameter to the attach command
for ext2_obd. This was required after the removal of Filesystem()
demos/*: moved test scripts here, renamed by function
class/obdcontrol: merge snapattach into attach, fix scsi_obd packing
snap/cleanup.sh: use ../class/cleanup.sh like snap/setup.sh does
braam [Tue, 21 Dec 1999 08:16:22 +0000 (08:16 +0000)]
Numerous little changes:
- HOWTO renamed and edited
- Makefile: no inofs and other things taht don't work
- Fixes to doc Makefile
- obdcontrol a little clearer
- switch to official MAJOR (186)
adilger [Tue, 21 Dec 1999 00:41:19 +0000 (00:41 +0000)]
doc/obd-howto.sgml: added issues/bugs section
snap/*.sh: added brief comments to each script
adilger [Mon, 20 Dec 1999 23:14:18 +0000 (23:14 +0000)]
doc/obd-howto.sgml: updated for initial public release
obdfs/many: changed to have separate dir/file operations,
ext2obd/ext2_obd.c: cosmetic changes to match ext2 code more closely (for diff)
include/linux/obd_class.h: change obdo_{cpy,cmp}_md() to allow
include or exclude flags for copy/compare of metadata
snap/snaptable.c: comment iterator functions clearly
adilger [Fri, 17 Dec 1999 20:51:32 +0000 (20:51 +0000)]
include/linux/obd_sim.h: renamed to obd_ext2.h
Configure: revert PCI, APIC checks (otherwise code won't compile after config)
adilger [Fri, 17 Dec 1999 16:23:23 +0000 (16:23 +0000)]
doc/obd-howto.sgml: completed OBD tutorial section
snap/snap.c: in eliminate_obj() turn off S_IFDIR flag on object
before passing to underlying obdext2 driver, so it doesn't
decrement the dir count for the group
Configure: removed questions for PCMCIA specific features
class/obdcontrol: disconnect session when changing devices
adilger [Wed, 15 Dec 1999 03:47:28 +0000 (03:47 +0000)]
include/linux/obdfs.h: add symlink_inode_operations, prototypes
obdfs/symlink.c, obdfs/namei.c: handle obdfs symlinks properly
adilger [Tue, 14 Dec 1999 01:14:17 +0000 (01:14 +0000)]
snap/snap.c, class/obdcontrol: added support for snapshot restores
on unmounted OBD filesystems
snap/setup3.sh, snap/cleanup3.sh: scripts to test 3 snapshots
include/linux/obd_snap_support.h: iterator struct/function prototypes
adilger [Mon, 13 Dec 1999 20:54:41 +0000 (20:54 +0000)]
all: significant overhaul by Peter to avoid problems with OBD metadata
conflicting with ext2 block data in the inode.
class/obdcontrol: added proper commands for snapdelete/snaprestore
class/obdcontrol: device command now disconnects old session if any
ext2obd/*: updated for kernel 2.3.30
include/linux/obd_class.h: helper functions inode metadata cpy/cmp
include/linux/obd_snap.h: new magic less likely for block conflict
now that the redirector can have "i_blocks" set
obd/obdfs: updated for kernel 2.3.30
snap/snap.c: use new obd metadata copy helper routines
snap/snap.c: updated delete/restore snapshot iterator functions
adilger [Thu, 9 Dec 1999 05:08:48 +0000 (05:08 +0000)]
snap/snap.c: snap_do_cow() fixed case with existing indirect object
snap/snap.c: snap_delsnap() removes (partly) a snapshot
ext2obd/ext2_obd.c: fixed ext2obd_iterate() to handle reserved inodes
ext2obd/ext2_obd.c: fixed direct_brw() to handle > 0 block offset
class/obdcontrol: added testsnapiterator command/ioctl
class/setup.sh: added creation of /tmp/fs, 4k block size
obdfs/namei.c: fixed new directory size after write
adilger [Tue, 7 Dec 1999 18:58:12 +0000 (18:58 +0000)]
Fixed minor typo in gen_copy_data().
adilger [Tue, 7 Dec 1999 18:56:37 +0000 (18:56 +0000)]
snap/snap.c: fixed check for snap_create() to test for correct
read-only copy
adilger [Tue, 7 Dec 1999 00:55:01 +0000 (00:55 +0000)]
snap/snap.c, snap/snaptable.c: Fixed up snapshot to work again with
snaptables, added snap_iterate() calldown, snap_cleanup() to free
a snapshot table entry
ext2obd/ext2_obd.c: added iterator ext2obd_iterate() for all inodes
class/class_obd.c: blocked TCGETS IOCTL, added connection ID to calls
class/obdcontrol: added IOCTL for testing iterator, connection ID
braam [Mon, 6 Dec 1999 16:35:50 +0000 (16:35 +0000)]
* Added a file handling snapshot tables
* Added an ioctl system that allows ioctls to be made without
specific devices being attached (pass method down).
* Numerous small routines for snapshot handling.
adilger [Sat, 4 Dec 1999 00:10:03 +0000 (00:10 +0000)]
Makefile: made "all" the default target
class/class_obd.c, class/genops.c, snap/snap.c: re-ordered migrate, copy
argument order to be consistent (dst, src)
snap/snap.c: fixed unlink to work in all cases of (direct, indirect)
snap/setup.sh: check for mounted obdfs before starting
snap/cleanup.sh: remove loop device
ext2obd/ext2_obd.c: start of iterator function
braam [Thu, 2 Dec 1999 20:40:03 +0000 (20:40 +0000)]
Undo accidental commit
braam [Thu, 2 Dec 1999 20:36:42 +0000 (20:36 +0000)]
Added .cvsignore files to the repository
braam [Thu, 2 Dec 1999 00:11:46 +0000 (00:11 +0000)]
Updated snapshot indexes in superblock to not depend on index "0" as being
the current snapshot. We still need to push the inode attributes to the
snap copy so that size/times are correct.
adilger [Wed, 1 Dec 1999 18:45:16 +0000 (18:45 +0000)]
Updated parameters for obdfs_writepage() to use struct *dentry instead of
struct *file, and call in odbfs_write_one_page() to use new parameters.
Updated gen_copy_data() to round up the number of pages copied in while loop.
braam [Tue, 30 Nov 1999 19:06:01 +0000 (19:06 +0000)]
fixes for 2.3.25 and higher
braam [Wed, 24 Nov 1999 21:15:51 +0000 (21:15 +0000)]
Changes to accomodate the snapshot features!
braam [Wed, 24 Nov 1999 19:46:12 +0000 (19:46 +0000)]
Changes to accomodate the snapshot driver.
For working snapshot code, see the snap directory and the snap/setup.sh
script. The code is not complete, unlink hasn't been done yet.
braam [Tue, 2 Nov 1999 19:12:28 +0000 (19:12 +0000)]
Cleanup : no more "sim" now "ext2"
can mount multiple devices
obdcontrol improved
more work on snap (doesn't compile yet)
check in just before we are again overhauling the interface.