CVS log for xfs-linux/xfs_log.c

[BACK] Up to [Development] / xfs-linux

Request diff between arbitrary revisions


Default branch: MAIN
Current tag: MAIN


Revision 1.373 / (download) - annotate - [select for diffs], Fri Oct 17 02:58:35 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.372: +1 -1 lines
Diff to previous 1.372 (colored)

Finish removing the mount pointer from the AIL API

Change all the remaining AIL API functions that are passed
struct xfs_mount pointers to pass pointers directly to the
struct xfs_ail being used. With this conversion, all external
access to the AIL is via the struct xfs_ail. Hence the operation
and referencing of the AIL is almost entirely independent of
the xfs_mount that is using it - it is now much more tightly
tied to the log and the items it is tracking in the log than
it is tied to the xfs_mount.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:32353a by kenmcd.

  Finish removing the mount pointer from the AIL API

Revision 1.372 / (download) - annotate - [select for diffs], Fri Oct 17 02:56:42 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.371: +2 -1 lines
Diff to previous 1.371 (colored)

Given the log a pointer to the AIL

When we need to go from the log to the AIL, we have
to go via the xfs_mount. Add a xfs_ail pointer to the log
so we can go directly to the AIL associated with the log.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:32351a by kenmcd.

  Given the log a pointer to the AIL

Revision 1.371 / (download) - annotate - [select for diffs], Thu Oct 16 05:23:50 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.370: +0 -1 lines
Diff to previous 1.370 (colored)

Move the AIL lock into the struct xfs_ail

Bring the ail lock inside the struct xfs_ail. This means
the AIL can be entirely manipulated via the struct xfs_ail rather
than needing both the struct xfs_mount and the struct xfs_ail.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:32350a by kenmcd.

  Move the AIL lock into the struct xfs_ail

Revision 1.370 / (download) - annotate - [select for diffs], Thu Oct 16 05:21:47 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.369: +2 -2 lines
Diff to previous 1.369 (colored)

move the AIl traversal over to a consistent interface

With the new cursor interface, it makes sense to make all the
traversing code use the cursor interface and make the old one go
away. This means more of the AIL interfacing is done by passing
struct xfs_ail pointers around the place instead of struct
xfs_mount pointers.

We can replace the use of xfs_trans_first_ail() in
xfs_log_need_covered() as it is only checking if the AIL is empty.
We can do that with a call to xfs_trans_ail_tail() instead, where a
zero LSN returned indicates and empty AIL...

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:32348a by kenmcd.

  move the AIl traversal over to a consistent interface

Revision 1.369 / (download) - annotate - [select for diffs], Thu Oct 16 05:20:53 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.368: +2 -2 lines
Diff to previous 1.368 (colored)

Use a cursor for AIL traversal.

To replace the current generation number ensuring sanity of the AIL
traversal, replace it with an external cursor that is linked to the
AIL.

Basically, we store the next item in the cursor whenever we want to
drop the AIL lock to do something to the current item.  When we
regain the lock. the current item may already be free, so we can't
reference it, but the next item in the traversal is already held in
the cursor.

When we move or delete an object, we search all the active cursors
and if there is an item match we clear the cursor(s) that point to
the object. This forces the traversal to restart transparently.

We don't invalidate the cursor on insert because the cursor still
points to a valid item. If the intem is inserted between the current
item and the cursor it does not matter; the traversal is considered
to be past the insertion point so it will be picked up in the next
traversal.

Hence traversal restarts pretty much disappear altogether with this
method of traversal, which should substantially reduce the overhead
of pushing on a busy AIL.

Version 2
o add restart logic
o comment cursor interface
o minor cleanups

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:32347a by kenmcd.

  Use a cursor for AIL traversal.

Revision 1.368 / (download) - annotate - [select for diffs], Fri Oct 10 15:26:05 2008 UTC (9 years ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.367: +4 -3 lines
Diff to previous 1.367 (colored)

fix barrier fail detection

Currently we disable barriers as soon as we get a buffer in xlog_iodone
that has the XBF_ORDERED flag cleared.  But this can be the case not only
for buffers where the barrier failed, but also the first buffer of a
split log write in case of a log wraparound.  Due to the disabled
barriers we can easily get directory corruption on unclean shutdowns.
So instead of using this check add a new buffer flag for failed barrier
writes.

This is a regression vs 2.6.26 caused by patch to use the right macro
to check for the ORDERED flag, as we previously got true returned for
every buffer.

Thanks to Toei Rei for reporting the bug.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:32298a by kenmcd.

  fix barrier fail detection

Revision 1.367 / (download) - annotate - [select for diffs], Wed Aug 27 16:03:12 2008 UTC (9 years, 1 month ago) by pleckie.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.366: +1 -1 lines
Diff to previous 1.366 (colored)

Fix barrier status change detection.

The current code in xlog_iodone() uses the wrong macro
to check if the barrier has been cleared due to an EOPNOTSUPP
error form the lower layer.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Nathaniel W. Turner <nate@houseofnate.net>
Merge of xfs-linux-melb:xfs-kern:31984a by kenmcd.

  Fix barrier status change detection.

Revision 1.366 / (download) - annotate - [select for diffs], Tue Aug 19 15:46:54 2008 UTC (9 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.365: +3 -3 lines
Diff to previous 1.365 (colored)

convert beX_add to beX_add_cpu (new common API)

remove beX_add functions and replace all uses with beX_add_cpu

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Merge of xfs-linux-melb:xfs-kern:31920a by kenmcd.

  convert beX_add to beX_add_cpu (new common API)

Revision 1.365 / (download) - annotate - [select for diffs], Fri Aug 15 06:22:15 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.364: +11 -4 lines
Diff to previous 1.364 (colored)

Fix reference counting race on log buffers

    When we release the iclog, we do an atomic_dec_and_lock to determine if
    we are the last reference and need to trigger update of log headers and
    writeout.  However, in xlog_state_get_iclog_space() we also need to
    check if we have the last reference count there.  If we do, we release
    the log buffer, otherwise we decrement the reference count.

    But the compare and decrement in xlog_state_get_iclog_space() is not
    atomic, so both places can see a reference count of 2 and neither will
    release the iclog.  That leads to a filesystem hang.

    Close the race by replacing the atomic_read() and atomic_dec() pair with
    atomic_add_unless() to ensure that they are executed atomically.

    Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:31904a by kenmcd.

  Fix reference counting race on log buffers

Revision 1.364 / (download) - annotate - [select for diffs], Fri Aug 15 06:21:23 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.363: +40 -20 lines
Diff to previous 1.363 (colored)

Move memory allocations for log tracing out of the critical path

Memory allocations for log->l_grant_trace and iclog->ic_trace are done
on demand when the first event is logged.  In xlog_state_get_iclog_space()
we call xlog_trace_iclog() under a spinlock and allocating memory here can
cause us to sleep with a spinlock held and deadlock the system.

For the log grant tracing we use KM_NOSLEEP but that means we can lose
trace entries.  Since there is no locking to serialize the log grant
tracing we could race and have multiple allocations and leak memory.

So move the allocations to where we initialize the log/iclog structures.
Use KM_NOFS to avoid recursing into the filesystem and drop log->l_trace
since it's not even used.
Merge of xfs-linux-melb:xfs-kern:31896a by kenmcd.

  Move memory allocations for log tracing out of the critical path

Revision 1.363 / (download) - annotate - [select for diffs], Tue Aug 12 06:11:11 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.362: +5 -8 lines
Diff to previous 1.362 (colored)

Fix use after free in xfs_log_done().

The ticket allocation code got reworked in 2.6.26 and we now free
tickets whereas before we used to cache them so the use-after-free
went undetected.
Merge of xfs-linux-melb:xfs-kern:31877a by kenmcd.

  Fix use after free in xfs_log_done().

Revision 1.362 / (download) - annotate - [select for diffs], Wed Aug 6 16:19:11 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.361: +1 -1 lines
Diff to previous 1.361 (colored)

Use KM_NOFS for debug trace buffers

Use KM_NOFS to prevent recursion back into the filesystem which can
cause deadlocks.

In the case of xfs_iread() we hold the lock on the inode cluster buffer
while allocating memory for the trace buffers.  If we recurse back into
XFS to flush data that may require a transaction to allocate extents
which needs log space.  This can deadlock with the xfsaild thread which
can't push the tail of the log because it is trying to get the inode
cluster buffer lock.
Merge of xfs-linux-melb:xfs-kern:31838a by kenmcd.

  Use KM_NOFS for debug trace buffers

Revision 1.361 / (download) - annotate - [select for diffs], Wed Aug 6 06:15:15 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.360: +2 -2 lines
Diff to previous 1.360 (colored)

cleanup xfs_mountfs

Remove all the useless flags and code keyed off it in xfs_mountfs.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:31831a by kenmcd.

  cleanup xfs_mountfs

Revision 1.360 / (download) - annotate - [select for diffs], Tue Aug 5 16:28:47 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.359: +32 -35 lines
Diff to previous 1.359 (colored)

clean up stale references to semaphores

A lot of code has been converted away from semaphores, but there are still
comments that reference semaphore behaviour.  The log code is the worst
offender.  Update the comments to reflect what the code really does now.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Merge of xfs-linux-melb:xfs-kern:31814a by kenmcd.

  clean up stale references to semaphores

Revision 1.359 / (download) - annotate - [select for diffs], Fri May 9 04:32:47 2008 UTC (9 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.358: +13 -16 lines
Diff to previous 1.358 (colored)

Convert l_flushsema to a sv_t

The l_flushsema doesn't exactly have completion semantics, nor mutex
semantics.  It's used as a list of tasks which are waiting to be notified
that a flush has completed.  It was also being used in a way that was
potentially racy, depending on the semaphore implementation.

By using a sv_t instead of a semaphore we avoid the need for a
separate counter, since we know we just need to wake everything on the
queue.

Original waitqueue implementation from Matthew Wilcox. Cleanup and
conversion to sv_t by Christoph Hellwig.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:31059a by kenmcd.

  Convert l_flushsema to a sv_t

Revision 1.358 / (download) - annotate - [select for diffs], Fri May 9 04:31:49 2008 UTC (9 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.357: +10 -6 lines
Diff to previous 1.357 (colored)

Ensure that 2 GiB xfs logs work properly.

We found this while experimenting with 2GiB xfs logs.
The previous code never assumed that xfs logs would
ever get so large.


Signed-off-by: Michael Nishimoto <miken@agami.com>
Merge of xfs-linux-melb:xfs-kern:31058a by kenmcd.

  Fix log space wrapping issue when using 2GB logs.

Revision 1.357 / (download) - annotate - [select for diffs], Fri May 9 04:27:47 2008 UTC (9 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.356: +2 -2 lines
Diff to previous 1.356 (colored)

Remove unused arg from kmem_free()

kmem_free() function takes (ptr, size) arguments but doesn't
actually use second one.

This patch removes size argument from all callsites.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Merge of xfs-linux-melb:xfs-kern:31050a by kenmcd.

  Remove unused arg from kmem_free()

Revision 1.356 / (download) - annotate - [select for diffs], Thu Apr 10 04:35:06 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.355: +3 -3 lines
Diff to previous 1.355 (colored)

Catch log unmount failures.

Unmounting the log can fail. unlikely, but it can. Catch all
the error conditions an make sure it's propagated upwards.
Merge of xfs-linux-melb:xfs-kern:30833a by kenmcd.

  Catch log unmount failures.

Revision 1.355 / (download) - annotate - [select for diffs], Thu Apr 10 04:34:14 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.354: +23 -2 lines
Diff to previous 1.354 (colored)

Sanitise xfs_log_force error checking.

xfs_log_force() is declared to return an error, but we almost never
check it. We don't need to check it in most cases; if there's a log
I/O error then we'll be shutting down the filesystem anyway and that
means we'll catch the error somewhere else.

However, on certain calls we should be returning an error - sync
transactions, fsync, sync writes, etc. so this isn't a pure black
and white distinction. Hence make xfs_log_force() a void function
that issues a warning to the syslog on error, and call
_xfs_log_force() in all the places where we actually care about the
error status returned.
Merge of xfs-linux-melb:xfs-kern:30832a by kenmcd.

  Sanitise xfs_log_force error checking.

Revision 1.354 / (download) - annotate - [select for diffs], Wed Apr 9 06:17:24 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.353: +1 -1 lines
Diff to previous 1.353 (colored)

replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Merge of xfs-linux-melb:xfs-kern:30775a by kenmcd.

  __FUNCTION__ is gcc-specific, use __func__

Revision 1.353 / (download) - annotate - [select for diffs], Wed Apr 9 06:15:41 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.352: +1 -1 lines
Diff to previous 1.352 (colored)

Fix lock inversion in forced shutdown.

Recent changes to xlog_state_release_iclog() placed the grant_lock
inside the icloglock. forced unmount of the log does this the opposite
way around, but does not depend on the order for correct working.
Fix the inversion by changing the order locks are gained in
xfs_log_force_umount().
Merge of xfs-linux-melb:xfs-kern:30773a by kenmcd.

  Fix lock inversion in forced shutdown.

Revision 1.352 / (download) - annotate - [select for diffs], Wed Apr 9 06:14:53 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.351: +2 -3 lines
Diff to previous 1.351 (colored)

Reorganise xlog_t for better cacheline isolation of contention

To reduce contention on the log in large CPU count, separate
out different parts of the xlog_t structure onto different cachelines.
Move each lock onto a different cacheline along with all the members
that are accessed/modified while that lock is held.

Also, move the debugging code into debug code.
Merge of xfs-linux-melb:xfs-kern:30772a by kenmcd.

  Isolate some debugging to the debug build.

Revision 1.351 / (download) - annotate - [select for diffs], Wed Apr 9 06:14:03 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.350: +11 -126 lines
Diff to previous 1.350 (colored)

Remove the xlog_ticket allocator

The ticket allocator is just a simple slab implementation
internal to the log. It requires the icloglock to be held
when manipulating it and this contributes to contention
on that lock.

Just kill the entire allocator and use a memory zone instead.
While there, allow us to gracefully fail allocation with ENOMEM.
Merge of xfs-linux-melb:xfs-kern:30771a by kenmcd.

  Remove the xlog_ticket allocator and replace it with a memory zone.

Revision 1.350 / (download) - annotate - [select for diffs], Wed Apr 9 06:13:11 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.349: +19 -16 lines
Diff to previous 1.349 (colored)

Per iclog callback chain lock

Rather than use the icloglock for protecting the iclog completion
callback chain, use a new per-iclog lock so that walking the
callback chain doesn't require holding a global lock.

This reduces contention on the icloglock during transaction commit
and log I/O completion by reducing the number of times we need to
hold the global icloglock during these operations.
Merge of xfs-linux-melb:xfs-kern:30770a by kenmcd.

  Use a per-iclog callback chain log to reduce contention on the
  icloglock.

Revision 1.349 / (download) - annotate - [select for diffs], Fri Feb 22 03:05:49 2008 UTC (9 years, 7 months ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.348: +7 -7 lines
Diff to previous 1.348 (colored)

remove shouting-indirection macros from xfs_sb.h

Remove macro-to-small-function indirection from xfs_sb.h,
and remove some which are completely unused.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:30528a by kenmcd.

  remove shouting-indirection macros from xfs_sb.h

Revision 1.348 / (download) - annotate - [select for diffs], Fri Feb 15 15:20:47 2008 UTC (9 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.347: +20 -16 lines
Diff to previous 1.347 (colored)

Use atomics for iclog reference counting

Now that we update the log tail LSN less frequently on
transaction completion, we pass the contention straight to
the global log state lock (l_iclog_lock) during transaction
completion.

We currently have to take this lock to decrement the iclog
reference count. there is a reference count on each iclog,
so we need to take þhe global lock for all refcount changes.

When large numbers of processes are all doing small trnasctions,
the iclog reference counts will be quite high, and the state change
that absolutely requires the l_iclog_lock is the except rather than
the norm.

Change the reference counting on the iclogs to use atomic_inc/dec
so that we can use atomic_dec_and_lock during transaction completion
and avoid the need for grabbing the l_iclog_lock for every reference
count decrement except the one that matters - the last.
Merge of xfs-linux-melb:xfs-kern:30505a by kenmcd.

  Reduce contention on the iclog state lock by using atomic
  reference counters for the iclogs and only grabbing the
  iclog lock on transaction completion when the last reference
  to the iclog is being removed.

Revision 1.347 / (download) - annotate - [select for diffs], Fri Feb 15 15:19:57 2008 UTC (9 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.346: +6 -9 lines
Diff to previous 1.346 (colored)

Prevent AIL lock contention during transaction completion

When hundreds of processors attempt to commit transactions at the
same time, they can contend on the AIL lock when updating the tail
LSN held in the in-core log structure.

At the moment, the tail LSN is only needed when actually writing
out an iclog, so it really does not need to be updated on every
single transaction completion - only those that result in switching
iclogs and flushing them to disk.

The result is that we reduce the number of times we need to grab the
AIL lock and the log grant lock by up to two orders of magnitude
on large processor count machines. The problem has previously been
hidden by AIL lock contention walking the AIL list which was
recently solved and uncovered this issue.
Merge of xfs-linux-melb:xfs-kern:30504a by kenmcd.

  Only update the tail lsn when we need to write it to disk
  rather than every time we release an iclog to reduce lock
  contention on the AIL lock.

Revision 1.346 / (download) - annotate - [select for diffs], Fri Jan 18 15:06:09 2008 UTC (9 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.345: +26 -7 lines
Diff to previous 1.345 (colored)

Move AIL pushing into it's own thread

When many hundreds to thousands of threads all try to do simultaneous
transactions and the log is in a tail-pushing situation (i.e. full),
we can get multiple threads walking the AIL list and contending on
the AIL lock.

The AIL push is, in effect, a simple I/O dispatch algorithm complicated
by the ordering constraints placed on it by the transaction subsystem.
It really does not need multiple threads to push on it - even when
only a single CPU is pushing the AIL, it can push the I/O out far faster
that pretty much any disk subsystem can handle.

So, to avoid contention problems stemming from multiple list walkers,
move the list walk off into another thread and simply provide a "target"
to push to. When a thread requires a push, it sets the target and wakes
the push thread, then goes to sleep waiting for the required amount
of space to become available in the log.

This mechanism should also be a lot fairer under heavy load as the
waiters will queue in arrival order, rather than queuing in "who completed
a push first" order.

Also, by moving the pushing to a separate thread we can do more effectively
overload detection and prevention as we can keep context from loop iteration
to loop iteration. That is, we can push only part of the list each loop and not
have to loop back to the start of the list every time we run. This should
also help by reducing the number of items we try to lock and/or push items
that we cannot move.

Note that this patch is not intended to solve the inefficiencies in the
AIL structure and the associated issues with extremely large list contents.
That needs to be addresses separately; parallel access would cause problems
to any new structure as well, so I'm only aiming to isolate the structure
from unbounded parallelism here.
Merge of xfs-linux-melb:xfs-kern:30371a by kenmcd.

  Move AIL subsystem intialisation/shutdown into the log
  mount/unmount code to allow per-log AIL threads to be spawned
  and reaped.

Revision 1.345 / (download) - annotate - [select for diffs], Tue Nov 20 05:08:44 2007 UTC (9 years, 10 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.344: +3 -3 lines
Diff to previous 1.344 (colored)

Remove the BPCSHIFT and NB* based macros from XFS.

The BPCSHIFT based macros, btoc*, ctob*, offtoc* and ctooff
are either not used or don't need to be used.
The NDPP, NDPP, NBBY macros don't need to be used but instead
are replaced directly by PAGE_SIZE and PAGE_CACHE_SIZE
where appropriate.
Initial patch and motivation from Nicolas Kaiser.
Merge of xfs-linux-melb:xfs-kern:30096a by kenmcd.

  simplify and use PAGE_SIZE

Revision 1.344 / (download) - annotate - [select for diffs], Fri Nov 9 03:07:14 2007 UTC (9 years, 11 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.343: +0 -1 lines
Diff to previous 1.343 (colored)

Remove bogus assert,

lachlan says:
> This assert is bogus.  We can have a forced shutdown occur between the check for
the XLOG_FORCED_SHUTDOWN and the ASSERT.  Also, the logging system shouldn't care
about the state of XFS_FORCED_SHUTDOWN, it should only check XLOG_FORCED_SHUTDOWN.
The logging system has it's own forced shutdown flag so, for the case of a forced
shutdown that's not due to a logging error, we can flush the log.  I suggest
> removing the ASSERT.
Merge of xfs-linux-melb:xfs-kern:30029a by kenmcd.

  remove bogus assert

Revision 1.343 / (download) - annotate - [select for diffs], Fri Nov 2 03:09:06 2007 UTC (9 years, 11 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.342: +12 -12 lines
Diff to previous 1.342 (colored)

Fix up sparse warnings.

These are mostly locking annotations, marking things static,
casts where needed and declaring stuff in header files.
Merge of xfs-linux-melb:xfs-kern:30002a by kenmcd.

  Fix up sparse warnings.

Revision 1.342 / (download) - annotate - [select for diffs], Tue Oct 2 06:15:48 2007 UTC (10 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.341: +42 -48 lines
Diff to previous 1.341 (colored)

xlog_rec_header/xlog_rec_ext_header endianess annotations

Mostly trivial conversion with one exceptions:  h_num_logops was kept
in native endian previously and only converted to big endian in
xlog_sync, but we always keep it big endian now.  With todays cpus
fast byteswap instructions that's not an issue but the new variant
keeps the code clean and maintainable.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29821a by kenmcd.

  xlog_rec_header/xlog_rec_ext_header endianess annotations

Revision 1.341 / (download) - annotate - [select for diffs], Tue Oct 2 06:14:55 2007 UTC (10 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.340: +6 -5 lines
Diff to previous 1.340 (colored)

clean up some xfs_log_priv.h macros

 - the various assign lsn macros are replaced by a single inline,
   xlog_assign_lsn, which is equivalent to ASSIGN_ANY_LSN_HOST except
   for a more sane calling convention.  ASSIGN_LSN_DISK is replaced
   by xlog_assign_lsn and a manual bytespap, and ASSIGN_LSN by the same,
   except we pass the cycle and block arguments explicitly instead of a
   log paramter.  The latter two variants only had 2, respectively one
   user anyway.
 - the GET_CYCLE is replaced by a xlog_get_cycle inline with exactly the
   same calling conventions.
 - GET_CLIENT_ID is replaced by xlog_get_client_id which leaves away
   the unused arch argument.  Instead of conditional defintions
   depending on host endianess we now do an unconditional swap and shift
   then, which generates equal code.
 - the unused XLOG_SET macro is removed.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29820a by kenmcd.

  clean up some xfs_log_priv.h macros

Revision 1.340 / (download) - annotate - [select for diffs], Tue Oct 2 06:14:02 2007 UTC (10 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.339: +8 -6 lines
Diff to previous 1.339 (colored)

clean up some xfs_log_priv.h macros

 - the various assign lsn macros are replaced by a single inline,
   xlog_assign_lsn, which is equivalent to ASSIGN_ANY_LSN_HOST except
   for a more sane calling convention.  ASSIGN_LSN_DISK is replaced
   by xlog_assign_lsn and a manual bytespap, and ASSIGN_LSN by the same,
   except we pass the cycle and block arguments explicitly instead of a
   log paramter.  The latter two variants only had 2, respectively one
   user anyway.
 - the GET_CYCLE is replaced by a xlog_get_cycle inline with exactly the
   same calling conventions.
 - GET_CLIENT_ID is replaced by xlog_get_client_id which leaves away
   the unused arch argument.  Instead of conditional defintions
   depending on host endianess we now do an unconditional swap and shift
   then, which generates equal code.
 - the unused XLOG_SET macro is removed.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29819a by kenmcd.

  clean up some xfs_log_priv.h macros

Revision 1.339 / (download) - annotate - [select for diffs], Fri Sep 21 16:09:12 2007 UTC (10 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.338: +2 -2 lines
Diff to previous 1.338 (colored)

Remove spin.h

remove spinlock init abstraction macro in spin.h, remove the callers,
and  remove the file.  Move no-op spinlock_destroy to xfs_linux.h
Cleanup spinlock locals in xfs_mount.c

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:29751a by kenmcd.

  Remove spin.h

Revision 1.338 / (download) - annotate - [select for diffs], Fri Sep 21 04:11:08 2007 UTC (10 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.337: +31 -43 lines
Diff to previous 1.337 (colored)

Unwrap GRANT_LOCK.

Un-obfuscate GRANT_LOCK, remove GRANT_LOCK->mutex_lock->spin_lock
macros, call spin_lock directly, remove extraneous cookie
holdover from old xfs code, and change lock type to spinlock_t.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:29741a by kenmcd.

  Unwrap GRANT_LOCK.

Revision 1.337 / (download) - annotate - [select for diffs], Fri Sep 21 04:10:16 2007 UTC (10 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.336: +71 -90 lines
Diff to previous 1.336 (colored)

Unwrap LOG_LOCK.

Un-obfuscate LOG_LOCK, remove LOG_LOCK->mutex_lock->spin_lock
macros, call spin_lock directly, remove extraneous cookie
holdover from old xfs code, and change lock type to spinlock_t.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:29740a by kenmcd.

  Unwrap LOG_LOCK

Revision 1.336 / (download) - annotate - [select for diffs], Fri Aug 24 16:19:45 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.335: +32 -9 lines
Diff to previous 1.335 (colored)

replace some large xfs_log_priv.h macros by proper functions

... or in the case of XLOG_TIC_ADD_OPHDR remove a useless macro
entirely.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29511a by kenmcd.

  convert some large macros to functions.

Revision 1.335 / (download) - annotate - [select for diffs], Fri Aug 24 16:16:26 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.334: +6 -7 lines
Diff to previous 1.334 (colored)

kill the vfs_flags member in struct bhv_vfs

All flags are added to xfs_mount's m_flag instead.  Note that the 32bit
inode flag was duplicated in both of them, but only cleared in the
mount when it was not nessecary due to the filesystem beeing small enough.
Two flags are still required here - one to indicate the mount option
setting, and one to indicate if it applies or not.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29507a by kenmcd.

  move vfs_flags to xfs_mount.

Revision 1.334 / (download) - annotate - [select for diffs], Thu Aug 2 16:08:38 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.333: +7 -26 lines
Diff to previous 1.333 (colored)

choose single default logbuf count & size

Remove sizing of logbuf size & count based on physical memory;
this was never a very good gauge as it's looking at global
memory, but deciding on sizing per-filesystem; no account
is made of the total number of filesystems, for example.

For now just take the largest "default" case, as was set
for machines with >400MB - 8 x 32k buffers.  This can
always be tuned higher or lower with mount options
if necessary.  Removes one more user of xfs_physmem.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:29323a by kenmcd.

  Don't size logbuf size and count based on physical memory.

Revision 1.333 / (download) - annotate - [select for diffs], Thu Aug 2 15:56:48 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.332: +6 -6 lines
Diff to previous 1.332 (colored)

Fix sparse NULL vs 0 warnings

Sparse now warns about comparing pointers to 0, so change all instance
where that happens to NULL instead.


Signed-off-by: Christoph Hellwig <hch@lst.de>
Merge of xfs-linux-melb:xfs-kern:29308a by kenmcd.

  Fix sparse NULL vs 0 warnings

Revision 1.332 / (download) - annotate - [select for diffs], Tue May 22 15:50:48 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.331: +1 -3 lines
Diff to previous 1.331 (colored)

Lazy Superblock Counters

When we have a couple of hundred transactions on the fly at once,
they all typically modify the on disk superblock in some way.
create/unclink/mkdir/rmdir modify inode counts, allocation/freeing
modify free block counts.

When these counts are modified in a transaction, the must eventually
lock the superblock buffer and apply the mods.  The buffer then
remains locked until the transaction is committed into the incore
log buffer. The result of this is that with enough transactions on
the fly the incore superblock buffer becomes a bottleneck.

The result of contention on the incore superblock buffer is that
transaction rates fall - the more pressure that is put on the
superblock buffer, the slower things go.

The key to removing the contention is to not require the superblock
fields in question to be locked. We do that by not marking the
superblock dirty in the transaction. IOWs, we modify the incore
superblock but do not modify the cached superblock buffer. In short,
we do not log superblock modifications to critical fields in the
superblock on every transaction. In fact we only do it just before
we write the superblock to disk every sync period or just before
unmount.

This creates an interesting problem - if we don't log or write out
the fields in every transaction, then how do the values get
recovered after a crash? the answer is simple - we keep enough
duplicate, logged information in other structures that we can
reconstruct the correct count  after log recovery has been
performed.

It is the AGF and AGI structures that contain the duplicate
information; after recovery, we walk every AGI and AGF and sum their
individual counters to get the correct value, and we do a
transaction into the log to correct them. An optimisation of this is
that if we have a clean unmount record, we know the value in the
superblock is correct, so we can avoid the summation walk under
normal conditions and so mount/recovery times do not change under
normal operation.

One wrinkle that was discovered during development was that the
blocks used in the freespace btrees are never accounted for in the
AGF counters. This was once a valid optimisation to make; when the
filesystem is full, the free space btrees are empty and consume no
space. Hence when it matters, the "accounting" is correct.  But that
means the when we do the AGF summations, we would not have a correct
count and xfs_check would complain.  Hence a new counter was added
to track the number of blocks used by the free space btrees. This is
an *on-disk format change*.

As a result of this, lazy superblock counters are a mkfs option
and at the moment on linux there is no way to convert an old
filesystem. This is possible - xfs_db can be used to twiddle the
right bits and then xfs_repair will do the format conversion
for you. Similarly, you can convert backwards as well. At some point
we'll add functionality to xfs_admin to do the bit twiddling
easily....
Merge of xfs-linux-melb:xfs-kern:28652a by kenmcd.

  Changes to support lazy superblock counters.

Revision 1.331 / (download) - annotate - [select for diffs], Tue May 22 03:58:55 2007 UTC (10 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.330: +1 -1 lines
Diff to previous 1.330 (colored)

Fix vmalloc leak on mount/unmount.

When setting the length of the iclogbuf to write out we should just
be changing the desired byte count rather completely reassociating
the buffer memory with the buffer. Reassociating the buffer memory
changes the apparent length of the buffer and hence when we free the
buffer, we don't free all the vmap()d space we originally allocated.
Merge of xfs-linux-melb:xfs-kern:28640a by kenmcd.

  Set the iclogbuf I/O size correctly rather than reassociating the
  memory which can lead to vmalloc leaks.

Revision 1.330 / (download) - annotate - [select for diffs], Fri May 11 15:36:20 2007 UTC (10 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.329: +13 -0 lines
Diff to previous 1.329 (colored)

Barriers need to be dynamically checked and switched off

If the underlying block device sudden stops supporting barriers,
we need to handle the -EOPNOTSUPP error in a sane manner rather
than shutting downteh filesystem. If we get this error, clear the
barrier flag, reissue the I/O, and tell the world bad things are
occurring.
Merge of xfs-linux-melb:xfs-kern:28568a by kenmcd.

  If we have barriers enabled and we see a barrier log write come
  back without the barrier flag on it, then we need to stop issuing
  barriers on the log writes. Make noise about it, too.

Revision 1.329 / (download) - annotate - [select for diffs], Fri May 11 06:06:56 2007 UTC (10 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.328: +9 -7 lines
Diff to previous 1.328 (colored)

Fix use-after-free during log unmount.

Don't reference the log buffer after running the callbacks as
the callback can trigger the log buffers to be freed during
unmount.
Merge of xfs-linux-melb:xfs-kern:28567a by kenmcd.

  Don't reference the log buffer after running the callbacks
  as it may have been freed during the unmount.

Revision 1.328 / (download) - annotate - [select for diffs], Fri May 11 06:04:35 2007 UTC (10 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.327: +10 -9 lines
Diff to previous 1.327 (colored)

Only use refcounted pages for I/O

Many block drivers (aoe, iscsi) really want refcountable pages in
bios, which is what almost everyone send down.  XFS unfortunately
has a few places where it sends down buffers that may come from
kmalloc, which breaks them.

Fix the places that use kmalloc()d buffers.

Signed-Off-By: Christoph Hellwig <hch@infradead.org>
Merge of xfs-linux-melb:xfs-kern:28562a by kenmcd.

  Convert log buffers to use xfs_buf_get_noaddr rather
  than using kmem_alloc()d buffers.

Revision 1.327 / (download) - annotate - [select for diffs], Fri Aug 18 15:34:19 2006 UTC (11 years, 1 month ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.326: +6 -2 lines
Diff to previous 1.326 (colored)

Fixes the leak in reservation space because we weren't ungranting space
for the unmount record - which becomes a problem in the freeze/thaw
scenario.
Merge of xfs-linux-melb:xfs-kern:26815a by kenmcd.

  remember to ungrant space for the unmount record.

Revision 1.326 / (download) - annotate - [select for diffs], Fri Aug 18 04:00:52 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.325: +1 -1 lines
Diff to previous 1.325 (colored)

Add a debug flag for allocations which are known to be larger than one page.
Merge of xfs-linux-melb:xfs-kern:26800a by kenmcd.

Revision 1.325 / (download) - annotate - [select for diffs], Fri Aug 4 13:31:17 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.324: +7 -2 lines
Diff to previous 1.324 (colored)

Ensure xlog_state_do_callback does not report spurious warnings on ramdisks.
Merge of xfs-linux-melb:xfs-kern:26627a by kenmcd.

Revision 1.324 / (download) - annotate - [select for diffs], Fri Aug 4 13:28:15 2006 UTC (11 years, 2 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.323: +6 -6 lines
Diff to previous 1.323 (colored)

Fix remount vs no/barrier options by ensuring we clear unwanted flags from iclog buffers before submitting them for writing.
Merge of xfs-linux-melb:xfs-kern:26605a by kenmcd.

Revision 1.323 / (download) - annotate - [select for diffs], Wed Jun 28 03:50:26 2006 UTC (11 years, 3 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.322: +2 -2 lines
Diff to previous 1.322 (colored)

Fixup whitespace damage in log_write, remove final warning.
Merge of xfs-linux-melb:xfs-kern:26366a by kenmcd.

Revision 1.322 / (download) - annotate - [select for diffs], Thu Jun 15 03:58:11 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.321: +0 -2 lines
Diff to previous 1.321 (colored)

Remove version 1 directory code.  Never functioned on Linux, just pure bloat.
Merge of xfs-linux-melb:xfs-kern:26251a by kenmcd.

Revision 1.321 / (download) - annotate - [select for diffs], Tue May 30 15:58:42 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.320: +2 -2 lines
Diff to previous 1.320 (colored)

Cleanup a missed porting conversion, and freezing.
Merge of xfs-linux-melb:xfs-kern:26109a by kenmcd.

Revision 1.320 / (download) - annotate - [select for diffs], Tue May 30 15:55:47 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.319: +2 -3 lines
Diff to previous 1.319 (colored)

Resolve a namespace collision on vfs/vfsops for FreeBSD porters.
Merge of xfs-linux-melb:xfs-kern:26106a by kenmcd.

Revision 1.319 / (download) - annotate - [select for diffs], Tue May 30 15:48:50 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.318: +5 -5 lines
Diff to previous 1.318 (colored)

Shutdown the filesystem if all device paths have gone.  Made shutdown vop flags consistent with sync vop flags declarations too.
Merge of xfs-linux-melb:xfs-kern:26096a by kenmcd.

Revision 1.318 / (download) - annotate - [select for diffs], Thu Mar 23 02:48:21 2006 UTC (11 years, 6 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.317: +11 -11 lines
Diff to previous 1.317 (colored)

We really suck at spulling.  Thanks to Chris Pascoe for fixing all these typos.
Merge of xfs-linux-melb:xfs-kern:25539a by kenmcd.

Revision 1.317 / (download) - annotate - [select for diffs], Tue Mar 14 05:06:55 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.316: +26 -26 lines
Diff to previous 1.316 (colored)

Merge back dopey braces-on-return removal from clowns trawling mainline sources.
Merge of xfs-linux-melb:xfs-kern:25448a by kenmcd.

Revision 1.316 / (download) - annotate - [select for diffs], Tue Dec 20 05:03:36 2005 UTC (11 years, 9 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.315: +2 -6 lines
Diff to previous 1.315 (colored)

remove XFS_LOG_RES_DEBUG and turn on the res history all the time to get more useful error info on space for trans items
Merge of xfs-linux-melb:xfs-kern:24886a by kenmcd.

Revision 1.315 / (download) - annotate - [select for diffs], Wed Dec 7 18:25:53 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.314: +93 -20 lines
Diff to previous 1.314 (colored)

turn xlog helper macros into real functions

Revision 1.314 / (download) - annotate - [select for diffs], Tue Dec 6 21:29:47 2005 UTC (11 years, 10 months ago) by sandeen
Branch: MAIN
Changes since 1.313: +1 -1 lines
Diff to previous 1.313 (colored)

remove unused "readonly" arg from xlog_find_tail and xlog_recover
remove unused "readonly" arg from xlog_find_tail and xlog_recover

Revision 1.313 / (download) - annotate - [select for diffs], Tue Nov 29 18:19:21 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.312: +0 -0 lines
Diff to previous 1.312 (colored)

make some xlog helpers real functions instead of macros in xfs_log_priv.h

The real functions give us proper type checking and dreases .text about
1k.

Revision 1.312 / (download) - annotate - [select for diffs], Wed Oct 26 03:53:14 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.311: +27 -127 lines
Diff to previous 1.311 (colored)

Remove old, broken nolog-mode code - noone plans to ever fix it.
Merge of xfs-linux-melb:xfs-kern:24213a by kenmcd.

Revision 1.311 / (download) - annotate - [select for diffs], Fri Sep 23 03:51:28 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.310: +12 -26 lines
Diff to previous 1.310 (colored)

Update license/copyright notices to match the prefered SGI boilerplate.
Merge of xfs-linux-melb:xfs-kern:23903a by kenmcd.

Revision 1.310 / (download) - annotate - [select for diffs], Fri Sep 23 03:48:50 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.309: +14 -11 lines
Diff to previous 1.309 (colored)

Remove xfs_macros.c, xfs_macros.h, rework headers a whole lot.
Merge of xfs-linux-melb:xfs-kern:23901a by kenmcd.

Revision 1.309 / (download) - annotate - [select for diffs], Tue Sep 20 15:27:03 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.308: +2 -1 lines
Diff to previous 1.308 (colored)

Track external log/realtime device names for correct reporting in /proc/mounts.
Merge of xfs-linux-melb:xfs-kern:23862a by kenmcd.

Revision 1.308 / (download) - annotate - [select for diffs], Tue Sep 6 22:44:36 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.307: +37 -28 lines
Diff to previous 1.307 (colored)

write barrier support

Issue all log sync operations as ordered writes.  In addition flush the
disk cache on fsync if the sync cached operation didn't sync the log to
disk (this requires some additional bookeping in the transaction and log
code).
If the device doesn't claim to support barriers, the filesystem has an
extern log volume or the trial superblock write with barriers enabled
failed we disable barriers and print a warning.  We should probably fail
the mount completely, but that could lead to nasty boot failures for
the root filesystem.

Not enabled by default yet, needs more destructive testing first.

Revision 1.307 / (download) - annotate - [select for diffs], Mon Sep 5 12:36:32 2005 UTC (12 years, 1 month ago) by hch
Branch: MAIN
Changes since 1.306: +3 -1 lines
Diff to previous 1.306 (colored)

Add format checking to cmn_err and icmn_err

Revision 1.306 / (download) - annotate - [select for diffs], Wed Jul 13 03:43:58 2005 UTC (12 years, 3 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.305: +151 -10 lines
Diff to previous 1.305 (colored)

add log debugging and tracing info
Merge of xfs-linux-melb:xfs-kern:23155a by kenmcd.

Revision 1.305 / (download) - annotate - [select for diffs], Thu Jul 7 05:58:27 2005 UTC (12 years, 3 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.304: +41 -13 lines
Diff to previous 1.304 (colored)

Fix up the calculation of the reservation overhead to hopefully include
all the components which make up the transaction in the ondisk log.
Having this incomplete has shown up as problems on IRIX when some v2
log changes went in. The symptom was the msg of
"xfs_log_write: reservation ran out. Need to up reservation" and was
seen on synchronous writes on files with lots of holes
(and therefore lots of extents).
Merge of xfs-linux-melb:xfs-kern:23095a by kenmcd.

  Fix up the calculation of the reservation overhead to hopefully include
  all the components which make up the transaction in the ondisk log.
  Having this incomplete has shown up as problems on IRIX when some v2
  log changes went in. The symptom was the msg of               
  "xfs_log_write: reservation ran out. Need to up reservation" and was
  seen on synchronous writes on files with lots of holes         
  (and therefore lots of extents).

Revision 1.304 / (download) - annotate - [select for diffs], Wed May 18 09:29:33 2005 UTC (12 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.303: +3 -3 lines
Diff to previous 1.303 (colored)

mark various symbols static

Patch from Adrian Bunk

Revision 1.303 / (download) - annotate - [select for diffs], Fri Jan 14 11:57:33 2005 UTC (12 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.302: +5 -5 lines
Diff to previous 1.302 (colored)

Remove INT_ZERO and INT_ISZERO
0 is 0 in all endianess variant.  No need for INT_ZERO and INT_ISZERO

Revision 1.302 / (download) - annotate - [select for diffs], Wed Jan 12 22:38:29 2005 UTC (12 years, 9 months ago) by hch
Branch: MAIN
Changes since 1.301: +28 -30 lines
Diff to previous 1.301 (colored)

Stop passing ARCH_CONVERT/ARCH_NOCONVERT around everywhere
stop passing ARCH_CONVERT/ARCH_NOCONVERT around everywhere

Revision 1.301 / (download) - annotate - [select for diffs], Fri Nov 19 04:52:49 2004 UTC (12 years, 10 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.300: +29 -26 lines
Diff to previous 1.300 (colored)

xfs reservation issues with xlog_sync roundoff
Merge of xfs-linux-melb:xfs-kern:20222a by kenmcd.

  Get rid of l_roundoff and ic_roundoff.
  Update the GWH and GRH at sync time with the roundoff value instead
  of waiting until the iclog buffer is reused.
  Also remove useless flags param to xlog_sync() and have it match
  its linux counterpart in this regard.

Revision 1.300 / (download) - annotate - [select for diffs], Tue Aug 31 13:08:52 2004 UTC (13 years, 1 month ago) by tes
Branch: MAIN
Changes since 1.299: +7 -3 lines
Diff to previous 1.299 (colored)

fix up h_len for v1 logs

Revision 1.299 / (download) - annotate - [select for diffs], Fri Aug 13 05:14:58 2004 UTC (13 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.298: +0 -29 lines
Diff to previous 1.298 (colored)

Remove several macros which are no longer used anywhere.

Revision 1.298 / (download) - annotate - [select for diffs], Thu Jul 8 07:42:57 2004 UTC (13 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.297: +8 -8 lines
Diff to previous 1.297 (colored)

sparse: fix uses of null in place of zero and vice versa.  From Chris Wedgwood.

Revision 1.297 / (download) - annotate - [select for diffs], Wed Jun 9 09:33:17 2004 UTC (13 years, 4 months ago) by hch
Branch: MAIN
Changes since 1.296: +1 -1 lines
Diff to previous 1.296 (colored)

Integrate freeze/unfrezze with Linux 2.6 VFS infrastructure
use fs_frozen

Revision 1.296 / (download) - annotate - [select for diffs], Fri May 21 03:42:47 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.295: +0 -3 lines
Diff to previous 1.295 (colored)

Remove no-longer-used variable in log write code, and a dated comment.

Revision 1.295 / (download) - annotate - [select for diffs], Wed May 19 06:38:41 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.294: +5 -10 lines
Diff to previous 1.294 (colored)

Fix a use-after-free during transaction commit when the log is in error state.

Revision 1.294 / (download) - annotate - [select for diffs], Tue May 18 15:41:26 2004 UTC (13 years, 5 months ago) by roehrich
Branch: MAIN
Changes since 1.293: +1 -3 lines
Diff to previous 1.293 (colored)

Switch all XFSDEBUG to DEBUG

Revision 1.293 / (download) - annotate - [select for diffs], Wed May 5 04:52:50 2004 UTC (13 years, 5 months ago) by fsgqa
Branch: MAIN
Changes since 1.292: +1 -1 lines
Diff to previous 1.292 (colored)

Remove the 128K limitation on pagebuf_get_no_daddr() and allow
the kmem_alloc() to fail.
Print out error code if recovery fails.

Revision 1.292 / (download) - annotate - [select for diffs], Tue Mar 30 04:49:15 2004 UTC (13 years, 6 months ago) by tes
Branch: MAIN
Changes since 1.291: +23 -13 lines
Diff to previous 1.291 (colored)

try to be more explicit in adding in the non-transactional
data to the reservation estimate. We must add in for the worst
case of a log stripe taking us the full distance for a log
stripe boundary.

Revision 1.291 / (download) - annotate - [select for diffs], Thu Mar 25 06:15:01 2004 UTC (13 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.290: +13 -11 lines
Diff to previous 1.290 (colored)

Reinstate some accidentally dropped log IO error injection code.

Revision 1.290 / (download) - annotate - [select for diffs], Fri Mar 5 20:20:09 2004 UTC (13 years, 7 months ago) by sandeen
Branch: MAIN
Changes since 1.289: +1 -1 lines
Diff to previous 1.289 (colored)

zero log buffer during initialization at mount time

Revision 1.289 / (download) - annotate - [select for diffs], Fri Feb 27 04:57:03 2004 UTC (13 years, 7 months ago) by tes
Branch: MAIN
Changes since 1.288: +24 -54 lines
Diff to previous 1.288 (colored)

Add v2 log stripe padding to ic_roundoff so that
padding will be catered for in update of reservation cursor.
Remove l_stripemask as it implicitly forces stripe size
to power of 2 BBs which it shouldn't. 
Simplify iclog count calculations.

Revision 1.288 / (download) - annotate - [select for diffs], Tue Dec 9 00:06:12 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.287: +1 -1 lines
Diff to previous 1.287 (colored)

Remove some spurious double semi-colons.

Revision 1.287 / (download) - annotate - [select for diffs], Tue Dec 2 23:25:05 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.286: +5 -2 lines
Diff to previous 1.286 (colored)

Prevent log ktrace code from sleeping in an invalid context.

Revision 1.286 / (download) - annotate - [select for diffs], Sun Nov 23 23:42:12 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.285: +3 -4 lines
Diff to previous 1.285 (colored)

Fix some incorrect debug code after buftarg changes.

Revision 1.285 / (download) - annotate - [select for diffs], Sat Nov 22 22:22:46 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.284: +21 -21 lines
Diff to previous 1.284 (colored)

Switch from using dev_t to xfs_buftarg_t for representing the devices underneath XFS

Revision 1.284 / (download) - annotate - [select for diffs], Fri Oct 17 09:13:05 2003 UTC (14 years ago) by nathans
Branch: MAIN
Changes since 1.283: +3 -27 lines
Diff to previous 1.283 (colored)

Fix log tracing code so it is independent of DEBUG like other traces.

Revision 1.283 / (download) - annotate - [select for diffs], Wed Oct 8 17:46:06 2003 UTC (14 years ago) by overby
Branch: MAIN
Changes since 1.282: +2 -1 lines
Diff to previous 1.282 (colored)

A problem was found with the debug code in xlog_state_do_callback.  At
the end of processing all log buffers that can be processed, there is
a (debug only) double-check to make sure that log buffers with
completed I/O don't get marooned when the function completes.  The
check only needs to go to the first buffer that will cause an I/O
completion, that has not completed.  The loop doesn't stop a WANT_SYNC
state buffer is found, but it should.
Add WANT_SYNC to the list of states that the xlog_state_do_callback DEBUG
check should stop at when it is encountered.

Revision 1.282 / (download) - annotate - [select for diffs], Thu Sep 4 06:14:21 2003 UTC (14 years, 1 month ago) by cattelan
Branch: MAIN
Changes since 1.281: +1 -1 lines
Diff to previous 1.281 (colored)

IRIX sets KM_SLEEP to 0 but the support routines sets KM_SLEEP to 1.
So somebodys shortcut on irix is incorrect on linux and results in the sleep
behaviour not being set.

Revision 1.281 / (download) - annotate - [select for diffs], Thu Aug 21 19:47:57 2003 UTC (14 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.280: +12 -12 lines
Diff to previous 1.280 (colored)

Re-work xfs stats macros to support per-cpu data

Revision 1.280 / (download) - annotate - [select for diffs], Tue Aug 19 07:33:49 2003 UTC (14 years, 2 months ago) by tes
Branch: MAIN
Changes since 1.279: +4 -4 lines
Diff to previous 1.279 (colored)

pv=892598; rv=nathans@sgi.com;
Change xlog_verify_iclog() to use idx as zero based instead
of 1 based index into array.
Nathan tried this change out on some benchmarks and it seems
to help - stop the assert from happening.
Nathan will do the merge of this mod.
Change xlog_verify_iclog() to use idx as zero based instead
of 1 based index into array. To do this use BTOBBT() instead
of BTOBB() to work out which page (starting from zero) that
we are on. This then requires idx comparison to be altered
from > to >= (as was initially used in Glen's IRIX change).
The change is needed for extraction of the oh_clientid and oh_len fields.

Revision 1.279 / (download) - annotate - [select for diffs], Tue Aug 12 20:59:27 2003 UTC (14 years, 2 months ago) by cattelan
Branch: MAIN
Changes since 1.278: +3 -3 lines
Diff to previous 1.278 (colored)

Fix some inconsistent types
Fix some inconsistent types 

Revision 1.278 / (download) - annotate - [select for diffs], Tue Jul 29 00:04:41 2003 UTC (14 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.277: +5 -5 lines
Diff to previous 1.277 (colored)

Change any references to legal/illegal into valid/invalid - apparently this was bad, mkaay?

Revision 1.277 / (download) - annotate - [select for diffs], Tue Jul 15 15:46:39 2003 UTC (14 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.276: +11 -4 lines
Diff to previous 1.276 (colored)

Scale default number of log buffers based on memory size
if the user did not specify how many log buffers to use,
then scale the number we use based on available memory.

Revision 1.276 / (download) - annotate - [select for diffs], Mon Jul 14 05:05:04 2003 UTC (14 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.275: +11 -17 lines
Diff to previous 1.275 (colored)

Cleanup empty/noaddr pagebuf initialisation; particularly for buffers used for log IO - no longer allocate buffers for data device then reset target, gets it right from the start.

Revision 1.275 / (download) - annotate - [select for diffs], Fri Jun 27 18:04:26 2003 UTC (14 years, 3 months ago) by cattelan
Branch: MAIN
Changes since 1.274: +3632 -0 lines
Diff to previous 1.274 (colored)

The Big Move
linux/fs/xfs/xfs_log.c 1.273 Renamed to xfs_log.c

Revision 1.274 / (download) - annotate - [select for diffs], Fri Jun 27 17:57:21 2003 UTC (14 years, 3 months ago) by cattelan
Branch: MAIN
CVS Tags: DENUKE
Changes since 1.273: +0 -3632 lines
Diff to previous 1.273 (colored)

Nuke

Revision 1.273 / (download) - annotate - [select for diffs], Tue Jun 10 16:09:42 2003 UTC (14 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.272: +3 -1 lines
Diff to previous 1.272 (colored)

if we remount the fs readonly, there is no need to put
out dummy log records to clear the log as these actually
have the effect of dirtying it in a readonly unmount.
make xlog_need_covered pay attention to the readonly
flag.

Revision 1.272 / (download) - annotate - [select for diffs], Wed May 21 07:28:02 2003 UTC (14 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.271: +4 -1 lines
Diff to previous 1.271 (colored)

Fix an assert in log init code

Revision 1.271 / (download) - annotate - [select for diffs], Mon May 19 14:16:45 2003 UTC (14 years, 5 months ago) by overby
Branch: MAIN
CVS Tags: XFS-1_3_0pre1
Changes since 1.270: +4 -2 lines
Diff to previous 1.270 (colored)

Ensure that when we unlock a log item when there is someone waiting
for log space, we give at least one thread a chance to flush
metadata and free more log space.
Merge of irix6.5f:irix:149321a by lord.

  In xfs_log_move_tail, always wake up one thread waiting on the grant
  or reserve queues.  This thread will push the log tail further.

Revision 1.270 / (download) - annotate - [select for diffs], Mon May 19 05:51:44 2003 UTC (14 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.269: +0 -13 lines
Diff to previous 1.269 (colored)

Remove some dead code.
xfs_log_init isn't called by anyone, remove it.

Revision 1.269 / (download) - annotate - [select for diffs], Sun May 18 23:48:15 2003 UTC (14 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.268: +17 -12 lines
Diff to previous 1.268 (colored)

Remove a void* from the xfs_mount structure, move the log stripe mask
field from the xfs_mount structure to the log structure (saves a couple
of pointer dereferences when writing to the log, with v2 logs only).

Revision 1.268 / (download) - annotate - [select for diffs], Fri May 16 05:37:09 2003 UTC (14 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.267: +13 -8 lines
Diff to previous 1.267 (colored)

Large sector changes - fixup definition of xfs_agfl_t, and numerous
changes to make log recovery respect the log device sector size.
Numerous changes to the log recovery code to make it work for larger
sector sizes.

Revision 1.267 / (download) - annotate - [select for diffs], Thu May 1 16:22:06 2003 UTC (14 years, 5 months ago) by cattelan
Branch: MAIN
Changes since 1.266: +19 -1 lines
Diff to previous 1.266 (colored)

Rework the way xfs includes xfs_<blah>.h headers.
This reduces a lot of the compile dependenciesÂ,
and should reduce some of the "recompile all" situations.

Revision 1.266 / (download) - annotate - [select for diffs], Tue Apr 15 23:16:46 2003 UTC (14 years, 6 months ago) by cattelan
Branch: MAIN
Changes since 1.265: +59 -60 lines
Diff to previous 1.265 (colored)

Whitespace cleanup
Clean up some whitespace... revert some whitespace changes from previous whitespace cleanup (incorrect tabs)

Revision 1.265 / (download) - annotate - [select for diffs], Mon Mar 3 17:54:29 2003 UTC (14 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.264: +45 -37 lines
Diff to previous 1.264 (colored)

reduce byte swapping and spinlock usage in log write path
only update h_numlog_ops and the iclog byte offset once per use of an
iclog in a transaction, instead of once per log item. Keep h_numlog_ops
in host byte order until we are about to write it out, then endian
flip it.

Revision 1.264 / (download) - annotate - [select for diffs], Thu Feb 13 17:41:15 2003 UTC (14 years, 8 months ago) by overby
Branch: MAIN
Changes since 1.263: +15 -6 lines
Diff to previous 1.263 (colored)

fix one more set of transaction callback ordering issues,
this was always there, but exposed by the last change in
this area and made much more likely.
Merge of irix6.5f:irix:139655a by lord.

  Remove the releasing of the iclog from xfs_log_notify (except when aborting).
  The release will be done later by xfs_trans_commit.
  xfs_log_release_iclog is called by xfs_trans_commit to release iclogs.  This
  is so that log-private types don't need to be included outside of xfs_log.

Revision 1.263 / (download) - annotate - [select for diffs], Fri Jan 24 20:15:45 2003 UTC (14 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.262: +51 -68 lines
Diff to previous 1.262 (colored)

Do not release the last iclog of a transaction before we get our
callbacks attached to it. Otherwise we can end up executing the
callback out of order.
when writing a commit record into the log, do not release the iclog, but
pass it back to the caller so that they can release it after they have
attached their callbacks to it. xlog_state_lsn_is_synced goes away
because it was used in the path where we were racing between the write
of the iclog and the attachment of the callbacks.

Revision 1.262 / (download) - annotate - [select for diffs], Mon Dec 2 18:26:49 2002 UTC (14 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.261: +47 -27 lines
Diff to previous 1.261 (colored)

for synchronous transactions, allow the in core log buffer to wait
around in active state for as long as possible. This allows us to
coalesce several transactions into one buffer and reduce the disk
traffic.
Introduce a new sync variable in the iclog structure to sync
between the last log write and the next one in the case of
sync transactions forcing iclogs out to disk early.

Revision 1.261 / (download) - annotate - [select for diffs], Sat Nov 16 01:31:42 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.260: +14 -23 lines
Diff to previous 1.260 (colored)

remove some unused code paths from the log flushing paths, and
remove the callback processing from the log write path, we only
do callbacks on I/O completion now.
cleanup and remove xlog_state_do_callback from iclog
space reservation code.

Revision 1.260 / (download) - annotate - [select for diffs], Sun Oct 27 02:27:15 2002 UTC (14 years, 11 months ago) by sandeen
Branch: MAIN
Changes since 1.259: +10 -2 lines
Diff to previous 1.259 (colored)

Prevent a couple transactions from happening on ro mounts
Temporarily turn off VFS_RDONLY flag for read-only mounts,
during recovery.  (Recovery still won't proceed, however,
on a read-only device).

Revision 1.259 / (download) - annotate - [select for diffs], Wed Oct 23 04:21:07 2002 UTC (14 years, 11 months ago) by kaos
Branch: MAIN
Changes since 1.258: +49 -49 lines
Diff to previous 1.258 (colored)

Undoes mod:     2.4.x-xfs:slinx:130826a
Revert STATIC->static change

Revision 1.258 / (download) - annotate - [select for diffs], Wed Oct 23 03:54:05 2002 UTC (14 years, 11 months ago) by kaos
Branch: MAIN
Changes since 1.257: +49 -49 lines
Diff to previous 1.257 (colored)

Replace STATIC with static in xfs code

Revision 1.257 / (download) - annotate - [select for diffs], Fri Oct 11 20:39:00 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.256: +6 -42 lines
Diff to previous 1.256 (colored)

fix a couple of nasty log problems. When a transaction crosses
multiple iclogs, the async transaction code needs to force the
log up until the last iclog. We need to record this lsn in the
transaction so we can do a log flush on it.
Secondly, there was a sleep/wakeup pair between flushing the
log and log write completions which was a) incorrect, and b)
no longer needed. This could result in early wakeups of
threads waiting for log flushes.
remove an sv_signal and an sv_wait on the ic_forcesema
which could lead to early wakeups.

Revision 1.256 / (download) - annotate - [select for diffs], Fri Oct 11 19:22:58 2002 UTC (15 years ago) by sandeen
Branch: MAIN
Changes since 1.255: +1 -1 lines
Diff to previous 1.255 (colored)

Clean up xfs' log message printing
Remove extra newline from end of cmn_error messages

Revision 1.255 / (download) - annotate - [select for diffs], Wed Oct 9 03:06:48 2002 UTC (15 years ago) by nathans
Branch: MAIN
Changes since 1.254: +8 -8 lines
Diff to previous 1.254 (colored)

Global search and replace of the b* memory routines to their mem* equivalents.
(bcopy->memcopy, ovbcopy->memmove, bzero->memset, bcmp->memcmp).

Revision 1.254 / (download) - annotate - [select for diffs], Tue Aug 27 04:34:40 2002 UTC (15 years, 1 month ago) by kaos
Branch: MAIN
Changes since 1.253: +7 -1 lines
Diff to previous 1.253 (colored)

Workaround for broken cpp

Revision 1.253 / (download) - annotate - [select for diffs], Thu Aug 15 18:53:36 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.252: +2 -0 lines
Diff to previous 1.252 (colored)

Make sure we never get a 0 sunit - things go badly if this happens.
Use "1" for "no sunit"

Revision 1.252 / (download) - annotate - [select for diffs], Tue Aug 13 16:09:38 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.251: +2 -2 lines
Diff to previous 1.251 (colored)

rationalize xfs <-> pagebuf interface

Revision 1.251 / (download) - annotate - [select for diffs], Mon Jul 29 18:59:37 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.250: +1 -4 lines
Diff to previous 1.250 (colored)

Don't automatically size down logbsize in v1 logs; let large
iclogs on v1 logs fail later on.

Revision 1.250 / (download) - annotate - [select for diffs], Wed Jul 10 19:00:42 2002 UTC (15 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.249: +234 -234 lines
Diff to previous 1.249 (colored)

whitespace cleanup

Revision 1.249 / (download) - annotate - [select for diffs], Tue Jun 18 20:32:24 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.248: +121 -61 lines
Diff to previous 1.248 (colored)

Support for writing v2 logs

Revision 1.248 / (download) - annotate - [select for diffs], Tue Jun 4 16:30:46 2002 UTC (15 years, 4 months ago) by sandeen
Branch: MAIN
Changes since 1.247: +1 -1 lines
Diff to previous 1.247 (colored)

Update copyright dates

Revision 1.247 / (download) - annotate - [select for diffs], Fri May 24 14:30:21 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.246: +11 -0 lines
Diff to previous 1.246 (colored)

On log writes specify cache flushing

Revision 1.246 / (download) - annotate - [select for diffs], Thu May 23 18:57:09 2002 UTC (15 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.245: +26 -2 lines
Diff to previous 1.245 (colored)

add a mechanism for doing out of line log writes, turned off by default

Revision 1.245 / (download) - annotate - [select for diffs], Thu Mar 28 03:18:22 2002 UTC (15 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.244: +131 -127 lines
Diff to previous 1.244 (colored)

ensure unsigned long used to store irq state

Revision 1.244 / (download) - annotate - [select for diffs], Tue Mar 19 17:22:53 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.243: +6 -7 lines
Diff to previous 1.243 (colored)

Break iclog memory into two chunks to make log writes page aligned 
and to save memory.

Revision 1.243 / (download) - annotate - [select for diffs], Thu Jan 24 03:47:42 2002 UTC (15 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.242: +2 -2 lines
Diff to previous 1.242 (colored)

fix debug build

Revision 1.242 / (download) - annotate - [select for diffs], Tue Oct 2 14:11:15 2001 UTC (16 years ago) by lord
Branch: MAIN
Changes since 1.241: +1 -1 lines
Diff to previous 1.241 (colored)

rename physmem to xfs_physmem

Revision 1.241 / (download) - annotate - [select for diffs], Tue Sep 4 11:58:17 2001 UTC (16 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.240: +1 -2 lines
Diff to previous 1.240 (colored)

seems we do want at least one message for a normal mount, no matter what.

Revision 1.240 / (download) - annotate - [select for diffs], Tue Sep 4 11:36:44 2001 UTC (16 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.239: +1 -1 lines
Diff to previous 1.239 (colored)

only report clean log mounts in debug mode.

Revision 1.239 / (download) - annotate - [select for diffs], Thu Aug 16 20:34:51 2001 UTC (16 years, 2 months ago) by eric
Branch: MAIN
Changes since 1.238: +1 -1 lines
Diff to previous 1.238 (colored)

"Merge" of irix6.5f:irix:100627b

Revision 1.238 / (download) - annotate - [select for diffs], Tue Aug 14 13:35:18 2001 UTC (16 years, 2 months ago) by eric
Branch: MAIN
Changes since 1.237: +4 -6 lines
Diff to previous 1.237 (colored)

Merge of irix6.5f:irix:99901a
Add xfs_ioerror_alert call on I/O errors, some with injectable errors.

Revision 1.237 / (download) - annotate - [select for diffs], Thu May 17 02:58:46 2001 UTC (16 years, 5 months ago) by lord
Branch: MAIN
CVS Tags: Linux-2_4_5-merge
Changes since 1.236: +3 -0 lines
Diff to previous 1.236 (colored)

Skip writing idle log records from sync activity when filesystem freeze
is in effect, prevents sync thread from getting blocked.

Revision 1.236 / (download) - annotate - [select for diffs], Thu Apr 19 02:37:23 2001 UTC (16 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.235: +18 -18 lines
Diff to previous 1.235 (colored)

change XFS_STATS macro so that it doesn't rely on cpp ## to construct
individual field names for the xfsstats structure.  fixes up some gcc
compiler warnings, for recent versions of gcc.

Revision 1.235 / (download) - annotate - [select for diffs], Tue Apr 17 23:17:06 2001 UTC (16 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.234: +0 -6 lines
Diff to previous 1.234 (colored)

Remove setting of PF_MEMALLOC around xlog_sync calls - been running
this way for a while without problems.

Revision 1.234 / (download) - annotate - [select for diffs], Wed Apr 11 01:44:54 2001 UTC (16 years, 6 months ago) by cattelan
Branch: MAIN
Changes since 1.233: +16 -19 lines
Diff to previous 1.233 (colored)

Get rid of the last compiler warning OFF flags

Revision 1.233 / (download) - annotate - [select for diffs], Tue Mar 27 21:54:29 2001 UTC (16 years, 6 months ago) by lord
Branch: MAIN
CVS Tags: Release-1_0_0
Changes since 1.232: +1 -1 lines
Diff to previous 1.232 (colored)

fix typo in some debug code - would cause build problem if we
turned on log tracing.

Revision 1.232 / (download) - annotate - [select for diffs], Mon Mar 26 15:50:52 2001 UTC (16 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.231: +15 -3 lines
Diff to previous 1.231 (colored)

Fix incorrect debug code, there is an assert for log buffers not being
in the correct state, the assert is valid, but it was being applied to
too many log buffers. Make the whole check debug specific, and add logic
to drop out of the loop at the correct point.

Revision 1.231 / (download) - annotate - [select for diffs], Thu Mar 15 23:10:02 2001 UTC (16 years, 7 months ago) by lord
Branch: MAIN
CVS Tags: PreRelease-0_10
Changes since 1.230: +2 -0 lines
Diff to previous 1.230 (colored)

Small bug fix to last merge from irix, hmm now we have the fix for
linux, but not irix....

Revision 1.230 / (download) - annotate - [select for diffs], Mon Mar 12 19:36:49 2001 UTC (16 years, 7 months ago) by sandeen
Branch: MAIN
Changes since 1.229: +142 -105 lines
Diff to previous 1.229 (colored)

add another error injection area - to inject errors on log writes

Revision 1.229 / (download) - annotate - [select for diffs], Mon Mar 12 19:19:33 2001 UTC (16 years, 7 months ago) by sandeen
Branch: MAIN
Changes since 1.228: +13 -14 lines
Diff to previous 1.228 (colored)

 pv 801763 rv nathans - don't set freed kmem on mount fail (irix mod irix6.5f:irix:03700a)

Revision 1.228 / (download) - annotate - [select for diffs], Tue Feb 27 00:36:49 2001 UTC (16 years, 7 months ago) by ananth
Branch: MAIN
Changes since 1.227: +6 -0 lines
Diff to previous 1.227 (colored)

Add PF_MEMALLOC to log sync'ing operation. This may be removed
later if no more deadlocks are seen.

Revision 1.227 / (download) - annotate - [select for diffs], Wed Feb 21 22:31:45 2001 UTC (16 years, 7 months ago) by cattelan
Branch: MAIN
Changes since 1.226: +5 -2 lines
Diff to previous 1.226 (colored)

Remove direct call to pagebuf_iorequest, use abstraction macro.

Revision 1.226 / (download) - annotate - [select for diffs], Wed Feb 21 00:50:22 2001 UTC (16 years, 7 months ago) by mann
Branch: MAIN
Changes since 1.225: +3 -1 lines
Diff to previous 1.225 (colored)

Need to set done flag

Revision 1.225 / (download) - annotate - [select for diffs], Mon Oct 2 23:35:37 2000 UTC (17 years ago) by dxm
Branch: MAIN
Changes since 1.224: +4 -1 lines
Diff to previous 1.224 (colored)

pv 801613 - set new fields

Revision 1.224 / (download) - annotate - [select for diffs], Tue Sep 26 00:59:23 2000 UTC (17 years ago) by dxm
Branch: MAIN
Changes since 1.223: +1 -0 lines
Diff to previous 1.223 (colored)

pv 802017 ASSERT that xlog_get_bp doesn't fail.

Revision 1.223 / (download) - annotate - [select for diffs], Mon Sep 25 05:42:07 2000 UTC (17 years ago) by nathans
Branch: MAIN
Changes since 1.222: +15 -104 lines
Diff to previous 1.222 (colored)

use xfs.h, remove all traces of SIM, push extern declarations into headers,
dead code removal.

Revision 1.222 / (download) - annotate - [select for diffs], Thu Sep 14 02:19:39 2000 UTC (17 years, 1 month ago) by dxm
Branch: MAIN
Changes since 1.221: +13 -11 lines
Diff to previous 1.221 (colored)

pv 801763 don't modify freed memory on mount fail

Revision 1.221 / (download) - annotate - [select for diffs], Wed Sep 13 18:49:22 2000 UTC (17 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.220: +6 -5 lines
Diff to previous 1.220 (colored)

In calculating a threshold lsn for log flushing, do it in a byte order
independent way.

Revision 1.220 / (download) - annotate - [select for diffs], Tue Jul 18 05:28:41 2000 UTC (17 years, 3 months ago) by dxm
Branch: MAIN
Changes since 1.219: +9 -3 lines
Diff to previous 1.219 (colored)

data section must be 32 bit size aligned

Revision 1.219 / (download) - annotate - [select for diffs], Tue Jul 18 03:09:21 2000 UTC (17 years, 3 months ago) by dxm
Branch: MAIN
Changes since 1.218: +9 -17 lines
Diff to previous 1.218 (colored)

tidy handling of unmount record

Revision 1.218 / (download) - annotate - [select for diffs], Tue Jul 18 01:41:36 2000 UTC (17 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.217: +13 -13 lines
Diff to previous 1.217 (colored)

rework the xfs stats interface to facilitate code sharing.  if there
is no interface available to export the stats (i.e. procfs), don't
bother compiling them in.

Revision 1.217 / (download) - annotate - [select for diffs], Fri Jun 9 06:40:03 2000 UTC (17 years, 4 months ago) by ananth
Branch: MAIN
Changes since 1.216: +35 -41 lines
Diff to previous 1.216 (colored)

Merge of 2.3.99pre2-xfs:slinx:62680a originally by jtk on 05/24/00
  Call XFS_bflush() out of xfs_log_force() to push out
  the metadata pages when CONFIG_PAGE_BUF_META is true.

Merge of 2.3.99pre2-xfs:slinx:62921a originally by lord on 05/26/00
  When flushing the xfs log to disk and we find the iclog we are
  interested in, but a previous log record has not yet started out
  to disk, we sleep. However, we sleep on our iclog rather than
  the one which must go to disk first. Change this to sleep on
  the previous iclog, this way we do not rely on some other thread
  coming along and pushing the log for us.

Merge of 2.3.99pre2-xfs:slinx:62984a originally by lord on 05/30/00
  Remove unneeded xfs_trigger_io() calls - fixes elsewhere in the system
  make these unnecessary.

Merge of 2.3.99pre2-xfs:slinx:63004a originally by lord on 05/30/00
  Remove page buf metadata as an option - it is always on now

Merge of 2.3.99pre2-xfs:slinx:63026a originally by cattelan on 05/30/00
  Masive type update 
  all daddr_t -> xfs_daddr_t
  caddr_t -> xfs_caddr_t
  off_t   -> xfs_off_t
  ino_t   -> xfs_ino_t
  off64_t -> xfs_off_t 
  Removed need for file xfs_to_linux.h and lunux_to_xfs.h

Merge of 2.3.99pre2-xfs:slinx:63295a originally by nathans on 06/03/00
  remove all references to stuff from ksa.h and psa.h.

Merge of 2.3.99pre2-xfs:slinx:63392a originally by lord on 06/06/00
  Make  xlog_state_finish_copy an inline function, it is only called from
  one place and is very heavily used in transaction code.

Merge of 2.3.99pre2-xfs:slinx:63664a originally by nathans on 06/08/00
  more housekeeping - remove unused headers & dead code.

Revision 1.216 / (download) - annotate - [select for diffs], Fri Jun 9 04:39:57 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.215: +48 -48 lines
Diff to previous 1.215 (colored)

ARCH: Support big-endian ONLY
Merge of 2.3.99pre2-xfs:slinx:62350a by ananth.

Revision 1.215 / (download) - annotate - [select for diffs], Fri Jun 9 04:19:01 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.214: +1 -0 lines
Diff to previous 1.214 (colored)

add mount failure diagnostics
Merge of 2.3.99pre2-xfs:slinx:60970a by ananth.

Revision 1.214 / (download) - annotate - [select for diffs], Fri Jun 9 04:18:21 2000 UTC (17 years, 4 months ago) by jtk
Branch: MAIN
Changes since 1.213: +3 -3 lines
Diff to previous 1.213 (colored)

Merge of 2.3.99pre2-xfs:slinx:60688a by ananth.

  Add a specific KM_SLEEP flag to the ktrace_alloc()
  invocations.

Revision 1.213 / (download) - annotate - [select for diffs], Fri Jun 9 04:15:10 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.212: +1 -1 lines
Diff to previous 1.212 (colored)

Merge of 2.3.99pre2-xfs:slinx:60431a by ananth.

  use new macro GET_CLIENT_ID to solve ugly endian issue

Revision 1.212 / (download) - annotate - [select for diffs], Fri Jun 9 04:14:51 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.211: +6 -1 lines
Diff to previous 1.211 (colored)

native log stuff-up fix
Merge of 2.3.99pre2-xfs:slinx:60426a by ananth.

Revision 1.211 / (download) - annotate - [select for diffs], Fri Jun 9 04:13:34 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.210: +93 -79 lines
Diff to previous 1.210 (colored)

arch work for clean log mount
Merge of 2.3.99pre2-xfs:slinx:60311a by ananth.

Revision 1.210 / (download) - annotate - [select for diffs], Fri Jun 9 03:32:29 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.209: +2 -2 lines
Diff to previous 1.209 (colored)

Merge of 2.3.99pre2-xfs:slinx:57471a by ananth.

  fix endian check

Revision 1.209 / (download) - annotate - [select for diffs], Fri Jun 9 02:50:02 2000 UTC (17 years, 4 months ago) by kenmcd
Branch: MAIN
CVS Tags: GPL-ENCUMBRANCE
Changes since 1.208: +25 -12 lines
Diff to previous 1.208 (colored)

Updated copyright and license notices, ready for open source release
Merge of 2.3.99pre2-xfs:slinx:55821a by ananth.

Revision 1.208 / (download) - annotate - [select for diffs], Fri Jun 9 02:43:56 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
CVS Tags: DELETE
Changes since 1.207: +5 -0 lines
Diff to previous 1.207 (colored)

Merge of 2.3.99pre2-xfs:slinx:55796a by ananth.

  Speed up the logbound situation in xfs - in the cases were we
  are about to sleep waiting for the tail to move, push on the
  disk a bit by doing a run_task_queue(&tq_disk).

Revision 1.207 / (download) - annotate - [select for diffs], Fri Jun 9 02:29:42 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.206: +2 -1 lines
Diff to previous 1.206 (colored)

cleanup XFS use of device types
Merge of 2.3.99pre2-xfs:slinx:55615a by ananth.

  Merge of 2.3.42-xfs:slinx:55615a by lord.

Revision 1.206 / (download) - annotate - [select for diffs], Fri Jun 9 02:10:00 2000 UTC (17 years, 4 months ago) by cattelan
Branch: MAIN
Changes since 1.205: +1 -1 lines
Diff to previous 1.205 (colored)

Merge of 2.3.99pre2-xfs:slinx:46541a by ananth.

  Merge of 2.3.42-xfs:slinx:46541a by ananth.
  Header file cleanup
  removed the last of the
  #if defined(__linux__)
  #include <xfs_linux>
  #endif
  All os specific include file switches should now done
  in xfs_os_defs.h

Revision 1.205 / (download) - annotate - [select for diffs], Fri Jun 9 01:50:04 2000 UTC (17 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.204: +2 -7 lines
Diff to previous 1.204 (colored)

Merge of 2.3.99pre2-xfs:slinx:46428a by ananth.

  Merge of 2.3.42-xfs:slinx:46428a by ananth.
  remove unused include files.

Revision 1.204 / (download) - annotate - [select for diffs], Fri Jun 9 01:35:34 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.203: +0 -1 lines
Diff to previous 1.203 (colored)

use linux security mechanisms
Merge of 2.3.99pre2-xfs:slinx:46379a by ananth.

  Merge of 2.3.42-xfs:slinx:46379a by ananth.

Revision 1.203 / (download) - annotate - [select for diffs], Fri Jun 9 01:07:43 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.202: +3 -5 lines
Diff to previous 1.202 (colored)

Merge of 2.3.99pre2-xfs:slinx:46007a by ananth.

  Merge of 2.3.42-xfs:slinx:46007a by ananth.
  use XFS_BUF_SET_PTR

Revision 1.202 / (download) - annotate - [select for diffs], Fri Jun 9 01:06:41 2000 UTC (17 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.201: +0 -26 lines
Diff to previous 1.201 (colored)

Merge of 2.3.99pre2-xfs:slinx:45877a by ananth.

  Merge of 2.3.42-xfs:slinx:45877a by ananth.
  remove unused xfs_log_stat routine.

Revision 1.201 / (download) - annotate - [select for diffs], Fri Jun 9 00:56:58 2000 UTC (17 years, 4 months ago) by jtk
Branch: MAIN
Changes since 1.200: +1 -1 lines
Diff to previous 1.200 (colored)

Merge of 2.3.99pre2-xfs:slinx:44987a by ananth.

  Merge of 2.3.42-xfs:slinx:44987a by ananth.
  Fix a compile error in an ASSERT that happens when
  CONFIG_PAGE_BUF_META is off and DEBUG is on.

Revision 1.200 / (download) - annotate - [select for diffs], Fri Jun 9 00:54:56 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.199: +3 -3 lines
Diff to previous 1.199 (colored)

Merge of 2.3.99pre2-xfs:slinx:44904a by ananth.

  Merge of 2.3.42-xfs:slinx:44904a by ananth.
  fix debug build with pagebuf meta-data

Revision 1.199 / (download) - annotate - [select for diffs], Fri Jun 9 00:48:29 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.198: +1 -0 lines
Diff to previous 1.198 (colored)

Merge of 2.3.99pre2-xfs:slinx:44392a by ananth.

  Merge of 2.3.42-xfs:slinx:44392a by ananth.
  add explicit setting of write flag on pagebuf

Revision 1.198 / (download) - annotate - [select for diffs], Fri Jun 9 00:46:36 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.197: +2 -7 lines
Diff to previous 1.197 (colored)

Merge of 2.3.99pre2-xfs:slinx:44267a by ananth.

  Merge of 2.3.42-xfs:slinx:44267a by ananth.
  add explicit call to set PBF_WRITE

Revision 1.197 / (download) - annotate - [select for diffs], Thu Jun 8 23:59:59 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.196: +2 -2 lines
Diff to previous 1.196 (colored)

Bring XFS upto 2.3.42
Merge of 2.3.99pre2-xfs:slinx:43458a by ananth.

  Merge of 2.3.42-xfs:slinx:43458a by ananth.

Revision 1.196 / (download) - annotate - [select for diffs], Sat Feb 12 01:03:17 2000 UTC (17 years, 8 months ago) by cattelan
Branch: MAIN
Changes since 1.195: +4 -3 lines
Diff to previous 1.195 (colored)

Macros for special buffer gets.

Revision 1.195 / (download) - annotate - [select for diffs], Fri Feb 11 03:35:55 2000 UTC (17 years, 8 months ago) by mostek
Branch: MAIN
Changes since 1.194: +8 -4 lines
Diff to previous 1.194 (colored)

Yet another endian bug. This one is in debug code that verifies
that the iclog buffer is OK. Also, eliminate a compile warning.

Revision 1.194 / (download) - annotate - [select for diffs], Tue Feb 8 04:47:02 2000 UTC (17 years, 8 months ago) by mostek
Branch: MAIN
Changes since 1.193: +2 -6 lines
Diff to previous 1.193 (colored)

Remove ASSERT. In fact, no need to pass devsw into bdstrat
since Linux doesn't use it.

Revision 1.193 / (download) - annotate - [select for diffs], Sun Jan 30 09:59:06 2000 UTC (17 years, 8 months ago) by kenmcd
Branch: MAIN
Changes since 1.192: +12 -17 lines
Diff to previous 1.192 (colored)

Encumbrance review done.
Add copyright and license words consistent with GPL.
Refer to http://fsg.melbourne.sgi.com/reviews/ for details.

There is a slight change in the license terms and conditions words
to go with the copyrights, so most of the files are not getting
new GPL's, just updated versions ... but there are 20-30 more files
here as well.

Revision 1.192 / (download) - annotate - [select for diffs], Thu Jan 27 15:28:58 2000 UTC (17 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.191: +3 -2 lines
Diff to previous 1.191 (colored)

Ensure all LSN comparisons are done via macros

Revision 1.191 / (download) - annotate - [select for diffs], Fri Jan 14 19:56:15 2000 UTC (17 years, 9 months ago) by lord
Branch: MAIN
Changes since 1.190: +2 -2 lines
Diff to previous 1.190 (colored)

negate the _USING_PAGEBUF_T #if so it is the right way around

Revision 1.190 / (download) - annotate - [select for diffs], Fri Jan 14 19:46:24 2000 UTC (17 years, 9 months ago) by cattelan
Branch: MAIN
Changes since 1.189: +2 -2 lines
Diff to previous 1.189 (colored)

Change ifdefs to check _USING_PAGEBUF_T rather than CONFIG_PAGEBUF 

Revision 1.189 / (download) - annotate - [select for diffs], Thu Jan 13 00:29:10 2000 UTC (17 years, 9 months ago) by cattelan
Branch: MAIN
Changes since 1.188: +17 -7 lines
Diff to previous 1.188 (colored)

XFS_* macro additions

Revision 1.188 / (download) - annotate - [select for diffs], Tue Jan 4 23:18:33 2000 UTC (17 years, 9 months ago) by lord
Branch: MAIN
Changes since 1.187: +2 -2 lines
Diff to previous 1.187 (colored)

more pagebuf cleanup

Revision 1.187 / (download) - annotate - [select for diffs], Tue Dec 21 10:01:54 1999 UTC (17 years, 9 months ago) by kenmcd
Branch: MAIN
Changes since 1.186: +24 -1 lines
Diff to previous 1.186 (colored)

Encumbrance review done.  Add copyright and license words consistent with GPL.

Revision 1.186 / (download) - annotate - [select for diffs], Fri Dec 10 20:20:52 1999 UTC (17 years, 10 months ago) by cattelan
Branch: MAIN
Changes since 1.185: +4 -4 lines
Diff to previous 1.185 (colored)

More macros
bwrite -> XFS_bwrite
bawrite -> XFS_bawrite
biodone -> xfs_biodone
bwait -> xfs_bwait
incore -> xfs_incore
incore_relse -> xfs_incore_relse
incore_match -> xfs_incore_match
baread -> xfs_baread

Revision 1.185 / (download) - annotate - [select for diffs], Sat Dec 4 01:19:15 1999 UTC (17 years, 10 months ago) by cattelan
Branch: MAIN
Changes since 1.184: +1 -1 lines
Diff to previous 1.184 (colored)

More macros.... <x>SEMA 

Revision 1.184 / (download) - annotate - [select for diffs], Thu Dec 2 21:00:29 1999 UTC (17 years, 10 months ago) by cattelan
Branch: MAIN
Changes since 1.183: +1 -1 lines
Diff to previous 1.183 (colored)

abstract b_pincount

Revision 1.183 / (download) - annotate - [select for diffs], Thu Dec 2 00:05:09 1999 UTC (17 years, 10 months ago) by cattelan
Branch: MAIN
Changes since 1.182: +2 -2 lines
Diff to previous 1.182 (colored)

ifdef out useracc()

Revision 1.182 / (download) - annotate - [select for diffs], Wed Dec 1 22:57:21 1999 UTC (17 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.181: +4 -4 lines
Diff to previous 1.181 (colored)

remove b_bufsize references

Revision 1.181 / (download) - annotate - [select for diffs], Tue Nov 23 20:52:36 1999 UTC (17 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.180: +4 -6 lines
Diff to previous 1.180 (colored)

make all xfs buffer access be buftarg_t based

Revision 1.180 / (download) - annotate - [select for diffs], Tue Nov 23 16:21:39 1999 UTC (17 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.179: +15 -15 lines
Diff to previous 1.179 (colored)

hide b_bcount and b_blkno

Revision 1.179 / (download) - annotate - [select for diffs], Mon Nov 22 19:39:07 1999 UTC (17 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.178: +5 -5 lines
Diff to previous 1.178 (colored)

virtualize interface to buffer data

Revision 1.178 / (download) - annotate - [select for diffs], Fri Nov 19 21:43:49 1999 UTC (17 years, 10 months ago) by cattelan
Branch: MAIN
Changes since 1.177: +15 -11 lines
Diff to previous 1.177 (colored)

Start of b_flags virtualization 

Revision 1.177 / (download) - annotate - [select for diffs], Fri Nov 19 20:34:54 1999 UTC (17 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.176: +2 -4 lines
Diff to previous 1.176 (colored)

Add b_bdstrat and b_fsprivate3 to virtualization interface

Revision 1.176 / (download) - annotate - [select for diffs], Thu Nov 18 22:45:37 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.175: +15 -14 lines
Diff to previous 1.175 (colored)

Add macros to virtualize iodone and fsprivate fields.

Revision 1.175 / (download) - annotate - [select for diffs], Wed Nov 17 19:22:23 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.174: +8 -8 lines
Diff to previous 1.174 (colored)

replace struct buf and buf_t references with xfs_buf and xfs_buf_t

Revision 1.174 / (download) - annotate - [select for diffs], Thu Oct 28 10:50:06 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.173: +10 -10 lines
Diff to previous 1.173 (colored)

Add prev_iclog to track the previous in-core log on which callbacks were done
in xlog_state_do_callback(). Using first_iclog creates the possibility of
infinite loop in that routine when any log is in state XLOG_STATE_IOERROR.

Revision 1.173 / (download) - annotate - [select for diffs], Wed Oct 20 22:05:26 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.172: +2 -2 lines
Diff to previous 1.172 (colored)

Remove some code for linux debug builds

Revision 1.172 / (download) - annotate - [select for diffs], Thu Oct 7 16:02:15 1999 UTC (18 years ago) by mostek
Branch: MAIN
Changes since 1.171: +3 -2 lines
Diff to previous 1.171 (colored)

Fix a little-endian bug in XFS where l_tail_lsn was initialized incorrectly.
Use the macro instead. This could/should be integrated into XFS on IRIX, too.

Revision 1.171 / (download) - annotate - [select for diffs], Wed Aug 25 02:22:32 1999 UTC (18 years, 1 month ago) by cattelan
Branch: MAIN
Changes since 1.170: +4 -1 lines
Diff to previous 1.170 (colored)

Many more header file fix ups.
Many more to come.

Revision 1.170 / (download) - annotate - [select for diffs], Tue Jun 29 21:31:47 1999 UTC (18 years, 3 months ago) by overby
Branch: MAIN
Changes since 1.169: +34 -26 lines
Diff to previous 1.169 (colored)

In xlog_state_do_callback() update first_lsn to be the current iclog
after doing the iclog's callbacks.  Now we will stop looking at iclogs
which have already had their callbacks run, and are being reused.

Move the search for the lowest lsn to a separate function.

Revision 1.169 / (download) - annotate - [select for diffs], Tue Jun 29 17:22:08 1999 UTC (18 years, 3 months ago) by overby
Branch: MAIN
Changes since 1.168: +37 -2 lines
Diff to previous 1.168 (colored)

xlog_state_do_callback() was getting confused and making callbacks on
iclogs out of order.  Fix by looking at the iclog LSNs and do not
execute the i/o complete callbacks on an iclog if there is an iclog
with a lower LSN that is still waiting for I/O completion.

Revision 1.168 / (download) - annotate - [select for diffs], Fri May 14 20:13:13 1999 UTC (18 years, 5 months ago) by lord
Branch: MAIN
Changes since 1.167: +31 -19 lines
Diff to previous 1.167 (colored)

Merge from irix/cxfs-f to irix/irix6.5f
Merge of cxfs-f:irix:15011b created by lord on 05/11/99
  Merge from irix/cxfs to irix/cxfs-f
  Merge of cxfs:irix:13423a created by lord on 04/19/99
  CXFS infrastructure checkin

Revision 1.167 / (download) - annotate - [select for diffs], Thu Feb 4 01:28:30 1999 UTC (18 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.166: +3 -4 lines
Diff to previous 1.166 (colored)

Change includes for v2 directory support.

Revision 1.166 / (download) - annotate - [select for diffs], Sat Mar 28 03:28:42 1998 UTC (19 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.165: +6 -5 lines
Diff to previous 1.165 (colored)

make sleeping for log space a long-term wait
pv: 577808, rv: kayuri@engr

Revision 1.165 / (download) - annotate - [select for diffs], Sat Mar 28 02:32:33 1998 UTC (19 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.164: +11 -1 lines
Diff to previous 1.164 (colored)

maintain new log space attempt/sleep counters
pv: 581980  rv: doucette@engr, kayuri@engr

Revision 1.164 / (download) - annotate - [select for diffs], Sun Jan 18 08:54:42 1998 UTC (19 years, 9 months ago) by rcc
Branch: MAIN
Changes since 1.163: +7 -7 lines
Diff to previous 1.163 (colored)

add error trapping.  pv: 555963, rv: lord@cray.com

Revision 1.163 / (download) - annotate - [select for diffs], Thu Jan 15 21:41:55 1998 UTC (19 years, 9 months ago) by mostek
Branch: MAIN
Changes since 1.162: +97 -1 lines
Diff to previous 1.162 (colored)

rv: lord@cray.com, mac@cray.com pv: 496799 -- Check if the log is empty and needs
to be "covered" with a dummy. When write to on disk log is done, change state
as needed.

Revision 1.162 / (download) - annotate - [select for diffs], Mon Jan 12 18:50:59 1998 UTC (19 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.161: +2 -1 lines
Diff to previous 1.161 (colored)

Add assertion in xfs_log_move_tail that if the log is not
shut down, the filesystem is not shut down.
rv: rcc@engr
pv: 556403

Revision 1.161 / (download) - annotate - [select for diffs], Fri Jan 9 18:13:29 1998 UTC (19 years, 9 months ago) by kayuri
Branch: MAIN
Changes since 1.160: +41 -10 lines
Diff to previous 1.160 (colored)

rv: doucette@engr, rcc@engr
pv: 554467
Fixed a race between the setting of the iclog states and the switching of the
current head iclog that was causing us to bail out of xlog_state_do_callback
prematurely. This resulted in one of the iclog remaining in
XLOG_STATE_DONE_SYNC and threads being blocked due to this. Added a new
state, XLOG_STATE_DO_CALLBACK, to prevent this race. Changes are all in
xlog_state_do_callback().

Revision 1.160 / (download) - annotate - [select for diffs], Tue Jan 6 23:49:21 1998 UTC (19 years, 9 months ago) by mostek
Branch: MAIN
Changes since 1.159: +9 -1 lines
Diff to previous 1.159 (colored)

pv: 556510 rv: lord@cray.com
Clear space counts for permanent log reservations if an error
occurs when reserving space.

Revision 1.159 / (download) - annotate - [select for diffs], Sat Dec 20 00:57:40 1997 UTC (19 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.158: +9 -1 lines
Diff to previous 1.158 (colored)

Add #ifndef SIM around buftrace calls.
Fix error return from xlog_grant_log_space so we don't
return space that was never granted, causing an assert
to pop in xlog_space_left.
pv: 538827, 556510
rv: lord@cray.com, mostek@cray.com

Revision 1.158 / (download) - annotate - [select for diffs], Thu Dec 18 16:16:54 1997 UTC (19 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.157: +18 -10 lines
Diff to previous 1.157 (colored)

pv: 515588,276922 rv: rcc@engr
Use new xfs error reporting function which prints filesystem name
Make log overrun problems a user configurable panic, shuts down the
filesystem otherwise.

Revision 1.157 / (download) - annotate - [select for diffs], Thu Dec 11 14:30:38 1997 UTC (19 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.156: +56 -6 lines
Diff to previous 1.156 (colored)

rv: doucette@engr pv:525377
This fixes a hole in the algorithm used by XFS to allocate logspace
to transactions. For transactions using a permanent log reservation
there was no queueing enforced on space reservation requests which
meant that a thread which just completed one transaction which freed
a bit of space could reuse that space before another waiting thread
could be scheduled. Under heavy load (such as AIM 7) this could
result in a thread getting starved of log reservations until one
of its transactions reached the tail of the log with an inode
locked so the tail could no longer move. By making a thread requesting
space go to the back of the queue we guarantee that everyone gets
a turn at the log and the tail keeps moving.

Revision 1.156 / (download) - annotate - [select for diffs], Thu Dec 4 00:39:38 1997 UTC (19 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.155: +3 -2 lines
Diff to previous 1.155 (colored)

When unmounting the log for a filesystem in shutdown state,
if the iclog is in ioerror state already, don't go to sleep on
the iclog state because it's not going to change again.
rv: rcc@engr
pv: 547913

Revision 1.155 / (download) - annotate - [select for diffs], Tue Dec 2 16:24:39 1997 UTC (19 years, 10 months ago) by jtk
Branch: MAIN
Changes since 1.154: +36 -2 lines
Diff to previous 1.154 (colored)

In xfs_log_unmount, if the file system is already in "forced shutdown"
state, sync with the log and wait for any I/O's to complete (in error
or otherwise) before releasing the log.

Revision 1.154 / (download) - annotate - [select for diffs], Tue Nov 25 01:33:43 1997 UTC (19 years, 10 months ago) by rcc
Branch: MAIN
Changes since 1.153: +9 -2 lines
Diff to previous 1.153 (colored)

add comments.  pv: 545936, rv: doucette@engr

Revision 1.153 / (download) - annotate - [select for diffs], Fri Sep 19 09:36:58 1997 UTC (20 years, 1 month ago) by rcc
Branch: MAIN
Changes since 1.152: +32 -22 lines
Diff to previous 1.152 (colored)

522678,189005 - make read-only mounts succeed only if recovery
doesn't have to be run.  allow norecovery mounts to bypass log
recovery processing.

Revision 1.152 / (download) - annotate - [select for diffs], Fri Sep 12 17:45:47 1997 UTC (20 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.151: +14 -3 lines
Diff to previous 1.151 (colored)

Add buffer targeting stuff

Revision 1.151 / (download) - annotate - [select for diffs], Fri May 23 23:18:45 1997 UTC (20 years, 4 months ago) by rcc
Branch: MAIN
Changes since 1.150: +8 -4 lines
Diff to previous 1.150 (colored)

478405 - change consistency checking to return EIO instead of
panicing the system on a bad transaction client id.  That will
trigger the XFS error handling instead of shutting down the machine.

Revision 1.150 / (download) - annotate - [select for diffs], Wed Apr 30 23:10:46 1997 UTC (20 years, 5 months ago) by sup
Branch: MAIN
Changes since 1.149: +1 -1 lines
Diff to previous 1.149 (colored)

build error for non-debug

Revision 1.149 / (download) - annotate - [select for diffs], Wed Apr 30 22:23:28 1997 UTC (20 years, 5 months ago) by sup
Branch: MAIN
Changes since 1.148: +289 -228 lines
Diff to previous 1.148 (colored)

Add xlog_bdstrat_cb as the b_bdstrat func to iclog bufs. That way we can
trap iclogs between XLOG_FORCED_SHUTDOWN and LOG_IO_ERROR.
Add a new aborted flag to log-callback functions so that the trans_committed
function knows whether the commit succeeded or not.
Add XLOG_FORCED_SHUTDOWN.
Many other error handling changes.

Revision 1.148 / (download) - annotate - [select for diffs], Sat Apr 12 08:57:51 1997 UTC (20 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.147: +1 -2 lines
Diff to previous 1.147 (colored)

tweak a test in xlog_state_done_syncing

Revision 1.147 / (download) - annotate - [select for diffs], Sat Apr 12 08:30:28 1997 UTC (20 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.146: +18 -4 lines
Diff to previous 1.146 (colored)

477954 - fix a broken test in xlog_state_done_syncing

Revision 1.146 / (download) - annotate - [select for diffs], Fri Mar 28 22:49:21 1997 UTC (20 years, 6 months ago) by sup
Branch: MAIN
Changes since 1.145: +63 -68 lines
Diff to previous 1.145 (colored)

Some more XFSERRORDEBUG restructuring. More comments.

Revision 1.145 / (download) - annotate - [select for diffs], Fri Mar 28 01:54:46 1997 UTC (20 years, 6 months ago) by sup
Branch: MAIN
Changes since 1.144: +156 -95 lines
Diff to previous 1.144 (colored)

disk error handling changes

Revision 1.144 / (download) - annotate - [select for diffs], Thu Mar 13 05:56:35 1997 UTC (20 years, 7 months ago) by sup
Branch: MAIN
Changes since 1.143: +45 -19 lines
Diff to previous 1.143 (colored)

xlog_debug global variable is a DEBUG/SIM only now.
This was an old debugging stuff that we forgot to clean up.
Also made XLOG_NOLOG to build again so that we can
actually disable the log to measure its performance impact.
xlog_debug __is__ still being used by the simulation code.

Revision 1.143 / (download) - annotate - [select for diffs], Sat Jan 25 02:55:17 1997 UTC (20 years, 8 months ago) by sup
Branch: MAIN
Changes since 1.142: +458 -139 lines
Diff to previous 1.142 (colored)

First cut of XFS I/O error handling changes.

Revision 1.142 / (download) - annotate - [select for diffs], Tue Jan 14 02:19:02 1997 UTC (20 years, 9 months ago) by beck
Branch: MAIN
Changes since 1.141: +2 -2 lines
Diff to previous 1.141 (colored)

436778 move file ckpt parent fid info to vnode, do away with uopenfp and
p_curmap side effect hacks...add parameter to lookuppn and lookupname

Revision 1.141 / (download) - annotate - [select for diffs], Mon Jan 6 03:53:20 1997 UTC (20 years, 9 months ago) by montep
Branch: MAIN
Changes since 1.140: +2 -1 lines
Diff to previous 1.140 (colored)

merge ficus into kudzu (1.136.1.2 ... 1.136.1.3)
> ----------------------------
> revision 1.136.1.3
> date: 1996/12/14 01:43:57;  author: rcc;  state: Exp;  lines: +24 -4
> 446511 - choke off all disk I/O for read-only mounts of cleanly
> unmounted filesystems
> =============================================================================

Revision 1.140 / (download) - annotate - [select for diffs], Sat Dec 14 01:44:00 1996 UTC (20 years, 10 months ago) by rcc
Branch: MAIN
Changes since 1.139: +24 -4 lines
Diff to previous 1.139 (colored)

446511 - choke off all disk I/O for read-only mounts of cleanly
unmounted filesystems

Revision 1.139 / (download) - annotate - [select for diffs], Wed Nov 13 15:26:29 1996 UTC (20 years, 11 months ago) by montep
Branch: MAIN
Changes since 1.138: +15 -2 lines
Diff to previous 1.138 (colored)

merge ficus into kudzu (1.136.1.1 ... 1.136.1.2)
> ----------------------------
> revision 1.136.1.2
> date: 1996/10/25 02:15:19;  author: rcc;  state: Exp;  lines: +15 -2
> add code to validate transaction client ids in xlog_write()
> =============================================================================

Revision 1.138 / (download) - annotate - [select for diffs], Sat Jul 20 06:36:52 1996 UTC (21 years, 3 months ago) by livesey
Branch: MAIN
Changes since 1.137: +2 -5 lines
Diff to previous 1.137 (colored)

merge ficus into kudzu (1.136 ... 1.136.1.1)

Revision 1.137 / (download) - annotate - [select for diffs], Tue Jun 25 22:56:57 1996 UTC (21 years, 3 months ago) by sfc
Branch: MAIN
Changes since 1.136: +2 -1 lines
Diff to previous 1.136 (colored)

include ksys/vproc.h for definition of current_pid()

Revision 1.136 / (download) - annotate - [select for diffs], Wed May 29 17:06:52 1996 UTC (21 years, 4 months ago) by sup
Branch: MAIN
Changes since 1.135: +2 -1 lines
Diff to previous 1.135 (colored)

initialize quotaoffs field.

Revision 1.135 / (download) - annotate - [select for diffs], Fri Apr 12 21:14:30 1996 UTC (21 years, 6 months ago) by huy
Branch: MAIN
Changes since 1.134: +3 -2 lines
Diff to previous 1.134 (colored)

changes to allow stacking of different vfs behaviors on the same mount point.

Revision 1.134 / (download) - annotate - [select for diffs], Thu Apr 4 18:51:19 1996 UTC (21 years, 6 months ago) by jwag
Branch: MAIN
Changes since 1.133: +1 -3 lines
Diff to previous 1.133 (colored)

remove unused headers

Revision 1.133 / (download) - annotate - [select for diffs], Tue Feb 13 17:03:41 1996 UTC (21 years, 8 months ago) by sp
Branch: MAIN
Changes since 1.132: +2 -3 lines
Diff to previous 1.132 (colored)

Use current_pid() to find the identity of the caller rather than curprocp

Revision 1.132 / (download) - annotate - [select for diffs], Wed Jan 31 05:40:40 1996 UTC (21 years, 8 months ago) by ack
Branch: MAIN
Changes since 1.131: +22 -10 lines
Diff to previous 1.131 (colored)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_log.c,v
> ----------------------------
> revision 1.132
> date: 1996/01/30 19:08:29;  author: doucette;  state: Exp;  lines: +23 -11
> Change a couple of checks into asserts, not needed in non-DEBUG kernels.
> Remove support for running without a log unless DEBUG, SIM, or XLOG_NOLOG
> (new #define) is turned on.  This takes these checks out of the normal
> kernels.
> =============================================================================

Revision 1.131 / (download) - annotate - [select for diffs], Tue Jan 23 09:19:26 1996 UTC (21 years, 8 months ago) by ack
Branch: MAIN
Changes since 1.130: +33 -14 lines
Diff to previous 1.130 (colored)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_log.c,v
> ----------------------------
> revision 1.131
> date: 1996/01/16 22:18:56;  author: ajs;  state: Exp;  lines: +33 -14
> 318890 Make the allocation of the in core log variables
> truly variable in size.
> =============================================================================

Revision 1.130 / (download) - annotate - [select for diffs], Sat Dec 16 00:11:01 1995 UTC (21 years, 10 months ago) by sp
Branch: MAIN
Changes since 1.129: +3 -3 lines
Diff to previous 1.129 (colored)

Change private.p_curproc to curprocp

Revision 1.129 / (download) - annotate - [select for diffs], Wed Dec 13 06:41:27 1995 UTC (21 years, 10 months ago) by ack
Branch: MAIN
Changes since 1.128: +18 -12 lines
Diff to previous 1.128 (colored)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_log.c,v
> ----------------------------
> revision 1.130
> date: 1995/12/12 03:23:58;  author: ajs;  state: Exp;  lines: +18 -12
> 320567 Fix xlog_verify_iclog() to deal with in core log structures
> that are not page aligned.
> =============================================================================

Revision 1.128 / (download) - annotate - [select for diffs], Tue Oct 24 07:44:28 1995 UTC (21 years, 11 months ago) by ack
Branch: MAIN
Changes since 1.127: +0 -0 lines
Diff to previous 1.127 (colored)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_log.c,v
> ----------------------------
> revision 1.129
> date: 1995/10/13 16:54:19;  author: ajs;  state: Exp;  lines: +4 -0
> Make mount messages go only to the syslog on non-DEBUG kernels.
> ----------------------------
> revision 1.128
> date: 1995/10/13 16:11:31;  author: ajs;  state: Exp;  lines: +7 -3
> Put XFS tracing under ifdefs separate from DEBUG
> ----------------------------
> revision 1.127
> date: 1995/10/13 00:28:33;  author: doucette;  state: Exp;  lines: +2 -1
> Include sys/uuid.h since the uuid_t definition has been moved out
> of sys/types.h for DCE.
> =============================================================================

Revision 1.127 / (download) - annotate - [select for diffs], Tue Oct 17 08:20:15 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.126: +11 -2 lines
Diff to previous 1.126 (colored)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_log.c,v
> ----------------------------
> revision 1.129
> date: 1995/10/13 16:54:19;  author: ajs;  state: Exp;  lines: +4 -0
> Make mount messages go only to the syslog on non-DEBUG kernels.
> ----------------------------
> revision 1.128
> date: 1995/10/13 16:11:31;  author: ajs;  state: Exp;  lines: +7 -3
> Put XFS tracing under ifdefs separate from DEBUG
> ----------------------------
> revision 1.127
> date: 1995/10/13 00:28:33;  author: doucette;  state: Exp;  lines: +2 -1
> Include sys/uuid.h since the uuid_t definition has been moved out
> of sys/types.h for DCE.
> =============================================================================

Revision 1.126 / (download) - annotate - [select for diffs], Tue Oct 3 04:19:38 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.125: +0 -1 lines
Diff to previous 1.125 (colored)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_log.c,v
> ----------------------------
> revision 1.126
> date: 1995/09/29 20:15:24;  author: ajs;  state: Exp;  lines: +0 -1
> Remove a bogus ASSERT.
> =============================================================================

Revision 1.125 / (download) - annotate - [select for diffs], Thu Sep 14 07:09:00 1995 UTC (22 years, 1 month ago) by ack
Branch: MAIN
Changes since 1.124: +46 -27 lines
Diff to previous 1.124 (colored)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_log.c,v
> ----------------------------
> revision 1.125
> date: 1995/09/09 03:40:25;  author: ajs;  state: Exp;  lines: +46 -27
> 253058 Fix a bug in the recovery code that shows up with
> small logs.  We now look backwards for specific cycle
> numbers to validate where we are in the log.  I've also
> added many comments in that section explaining exactly what
> we're looking for.
> =============================================================================

Revision 1.124 / (download) - annotate - [select for diffs], Fri Aug 25 21:52:51 1995 UTC (22 years, 1 month ago) by yohn
Branch: MAIN
Changes since 1.123: +5 -5 lines
Diff to previous 1.123 (colored)

changed mutex_{init,destroy} calls to spinlock_{init,destroy}

Revision 1.123 / (download) - annotate - [select for diffs], Wed Aug 16 05:46:28 1995 UTC (22 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.122: +4 -2 lines
Diff to previous 1.122 (colored)

Add includes of xfs_macros.h, xfs_bit.h.

Revision 1.122 / (download) - annotate - [select for diffs], Wed Aug 9 19:44:44 1995 UTC (22 years, 2 months ago) by ajs
Branch: MAIN
Changes since 1.121: +32 -8 lines
Diff to previous 1.121 (colored)

295302 Fix hang in log reservation code.
xlog_space_left() could not handle the case where
the reservation head was behind the tail.

Revision 1.121 / (download) - annotate - [select for diffs], Tue Aug 8 18:21:35 1995 UTC (22 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.120: +1 -2 lines
Diff to previous 1.120 (colored)

Remove include for sys/fs/xfs/xfs_inode_item.h, no longer needed.

Revision 1.120 / (download) - annotate - [select for diffs], Thu May 11 01:23:17 1995 UTC (22 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.119: +2 -2 lines
Diff to previous 1.119 (colored)

272139 - Change xFS to XFS

Revision 1.119 / (download) - annotate - [select for diffs], Fri May 5 18:37:42 1995 UTC (22 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.118: +6 -1 lines
Diff to previous 1.118 (colored)

270243 - The log reservation code was not accounting
for the case where the commit record is the first data
written to a new log record.  In this case it is separate
from the rest of the transaction data and will be charged
for the log record header.  Therefore we need to reserve
enough to handle this case up front.

Revision 1.118 / (download) - annotate - [select for diffs], Thu May 4 20:54:43 1995 UTC (22 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.117: +25 -10 lines
Diff to previous 1.117 (colored)

275579 - - Fix timing bug in the log callback code.  Callbacks
must be queued until the incore log buffer goes to the dirty
state.

Revision 1.117 / (download) - annotate - [select for diffs], Thu Apr 13 03:15:18 1995 UTC (22 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.116: +13 -3 lines
Diff to previous 1.116 (colored)

First cut at disk error handling

Revision 1.116 / (download) - annotate - [select for diffs], Sat Apr 1 06:04:21 1995 UTC (22 years, 6 months ago) by yohn
Branch: MAIN
Changes since 1.115: +24 -28 lines
Diff to previous 1.115 (colored)

ic_forcesema, t_sema changed to sync-variable
l_icloglock, l_grant_lock changed to a (spinning) mutex;

Revision 1.115 / (download) - annotate - [select for diffs], Thu Mar 9 04:01:57 1995 UTC (22 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.114: +56 -34 lines
Diff to previous 1.114 (colored)

Try hard to batch log syncs.

Revision 1.114 / (download) - annotate - [select for diffs], Tue Jan 31 18:59:23 1995 UTC (22 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.113: +7 -14 lines
Diff to previous 1.113 (colored)

Warning elimination: remove unused variables, tag some routines ARGSUSED,
add return statements, ifdef out some code.

Revision 1.113 / (download) - annotate - [select for diffs], Fri Dec 23 23:42:05 1994 UTC (22 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.112: +5 -5 lines
Diff to previous 1.112 (colored)

Fix some misuses of long and __psint.

Revision 1.112 / (download) - annotate - [select for diffs], Thu Dec 22 00:38:20 1994 UTC (22 years, 9 months ago) by tap
Branch: MAIN
Changes since 1.111: +46 -42 lines
Diff to previous 1.111 (colored)

add type casts and cleanup code so file will compile without warnings.

Revision 1.111 / (download) - annotate - [select for diffs], Sat Nov 26 23:40:53 1994 UTC (22 years, 10 months ago) by miken
Branch: MAIN
Changes since 1.110: +3 -5 lines
Diff to previous 1.110 (colored)

Print "start mounting filesystem" message

Revision 1.110 / (download) - annotate - [select for diffs], Tue Nov 15 22:25:27 1994 UTC (22 years, 11 months ago) by miken
Branch: MAIN
Changes since 1.109: +67 -20 lines
Diff to previous 1.109 (colored)

Clean up the code which allocates internal log buffers.  16kb blocksizes now
get 3 32kb buffers rather than 2.

Revision 1.109 / (download) - annotate - [select for diffs], Thu Nov 10 21:52:16 1994 UTC (22 years, 11 months ago) by miken
Branch: MAIN
Changes since 1.108: +7 -2 lines
Diff to previous 1.108 (colored)

Make cycling through tickets the default.  The old code is still there.
Although caching will improve performance, cycling the tickets improves
debugging.

Revision 1.108 / (download) - annotate - [select for diffs], Wed Nov 9 01:00:39 1994 UTC (22 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.107: +17 -1 lines
Diff to previous 1.107 (colored)

Add xfs_log_mount_finish() entry point.

Revision 1.107 / (download) - annotate - [select for diffs], Mon Nov 7 17:07:39 1994 UTC (22 years, 11 months ago) by tap
Branch: MAIN
Changes since 1.106: +1 -2 lines
Diff to previous 1.106 (colored)

in  xfs_alloc_log(), do not zero out the last entry in the i_clog_bak
array. If the file system block size is 64k, then every entry in the
i_clog_bak array will be used and i will point beyond the end of the
array (the l_grant_lock gets zeroed).

Revision 1.106 / (download) - annotate - [select for diffs], Sat Oct 29 02:00:05 1994 UTC (22 years, 11 months ago) by miken
Branch: MAIN
Changes since 1.105: +27 -9 lines
Diff to previous 1.105 (colored)

Use the new fields supplied by the mount structure to control internal
structures to logging.  At this time the unmount code leaks memory when
logging is turned off.

Revision 1.105 / (download) - annotate - [select for diffs], Fri Oct 28 20:35:57 1994 UTC (22 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.104: +13 -1 lines
Diff to previous 1.104 (colored)

Fix memory leaks in xfs_unalloc_log().

Revision 1.104 / (download) - annotate - [select for diffs], Tue Oct 25 20:23:48 1994 UTC (22 years, 11 months ago) by miken
Branch: MAIN
Changes since 1.103: +28 -6 lines
Diff to previous 1.103 (colored)

Add code to deal with the case where the reserve head can wrap past the
tail.  The log has no available space for new transactions at this point.

Revision 1.103 / (download) - annotate - [select for diffs], Mon Oct 24 22:52:07 1994 UTC (22 years, 11 months ago) by miken
Branch: MAIN
Changes since 1.102: +18 -6 lines
Diff to previous 1.102 (colored)

Add extra debugging to catch run-time log reservation bug

Revision 1.102 / (download) - annotate - [select for diffs], Fri Oct 21 01:12:42 1994 UTC (23 years ago) by miken
Branch: MAIN
Changes since 1.101: +23 -7 lines
Diff to previous 1.101 (colored)

1. change buffering scheme of log to use 2 16k buffer for 16MB machines,
	2 32k buffers for 32MB+ machines
2. change how the flushsema semaphore works to avoid problems when the
	queue gets very long
3. add another osview variable to keep track of when new requests sleep
	for in-core log space

Revision 1.101 / (download) - annotate - [select for diffs], Fri Oct 7 21:14:42 1994 UTC (23 years ago) by miken
Branch: MAIN
Changes since 1.100: +4 -0 lines
Diff to previous 1.100 (colored)

Implement transaction types

Revision 1.100 / (download) - annotate - [select for diffs], Thu Sep 29 01:25:37 1994 UTC (23 years ago) by miken
Branch: MAIN
Changes since 1.99: +5 -1 lines
Diff to previous 1.99 (colored)

Fix last checkin.  Need to clear ACTIVE_RECOVERY flag when recovery
doesn't happen.

Revision 1.99 / (download) - annotate - [select for diffs], Wed Sep 28 23:02:58 1994 UTC (23 years ago) by miken
Branch: MAIN
Changes since 1.98: +110 -30 lines
Diff to previous 1.98 (colored)

1.  Add ability to turn off log processing on selective filesystem to
	better determine performance of xFS w/o log.
2.  Add more recovery debugging
3.  On log mount, the log manager configures itself depending on the
	amount of memory.  16 MB systems use the minimum of 4 8kb buffers.
	Larger systems use 4 16kb buffers.  It has been determined that
	fewer large buffers helps performance.

Revision 1.98 / (download) - annotate - [select for diffs], Tue Sep 27 02:52:08 1994 UTC (23 years ago) by miken
Branch: MAIN
Changes since 1.97: +7 -4 lines
Diff to previous 1.97 (colored)

In one hard to reach path through the sync code, we don't mark an
in-core log buffer as WANT_SYNC.  As a result, unmounts could hang
forever waiting for an iclog buffer to get flushed.

Revision 1.97 / (download) - annotate - [select for diffs], Fri Sep 9 23:42:19 1994 UTC (23 years, 1 month ago) by miken
Branch: MAIN
Changes since 1.96: +2 -1 lines
Diff to previous 1.96 (colored)

Recovery needs to use max block size not NBPP

Revision 1.96 / (download) - annotate - [select for diffs], Thu Sep 8 20:29:56 1994 UTC (23 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.95: +6 -2 lines
Diff to previous 1.95 (colored)

Add xfs statistics support for osview (per-processor counters for
file system actions).

Revision 1.95 / (download) - annotate - [select for diffs], Sat Aug 27 02:21:05 1994 UTC (23 years, 1 month ago) by miken
Branch: MAIN
Changes since 1.94: +3 -1 lines
Diff to previous 1.94 (colored)

1.  Add unlock call in unmount log code.
2.  change xlog_warning -> xlog_warn

Revision 1.94 / (download) - annotate - [select for diffs], Thu Jul 28 21:54:21 1994 UTC (23 years, 2 months ago) by miken
Branch: MAIN
Changes since 1.93: +2 -3 lines
Diff to previous 1.93 (colored)

make xlog_assign_tail_lsn() non-static

Revision 1.93 / (download) - annotate - [select for diffs], Tue Jul 26 05:05:22 1994 UTC (23 years, 2 months ago) by miken
Branch: MAIN
Changes since 1.92: +6 -5 lines
Diff to previous 1.92 (colored)

1. xfs_log_mount      now    returns   normal    system errors

Revision 1.92 / (download) - annotate - [select for diffs], Wed Jul 20 00:30:15 1994 UTC (23 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.91: +3 -3 lines
Diff to previous 1.91 (colored)

Change global variable xfs_type to xfs_fstype for consistency.

Revision 1.91 / (download) - annotate - [select for diffs], Tue Jun 28 03:31:35 1994 UTC (23 years, 3 months ago) by ajs
Branch: MAIN
Changes since 1.90: +1 -1 lines
Diff to previous 1.90 (colored)

Change references to XFS_BTOD to XFS_FSB_TO_BB.

Revision 1.90 / (download) - annotate - [select for diffs], Tue Jun 14 19:00:37 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.89: +25 -5 lines
Diff to previous 1.89 (colored)

Fix memory leaks in ticket handling.

Revision 1.89 / (download) - annotate - [select for diffs], Mon Jun 13 23:28:23 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.88: +67 -41 lines
Diff to previous 1.88 (colored)

1.  Move all log initialization code into one routine.
2.  Release log ticket in unmount
3.  Return log ptr in log initialzation routine
4.  Implement xlog_unalloc_log() which unallocates space associated w/ log
5.  Implement ticket count mechanism, so we know when all are returned.

Revision 1.88 / (download) - annotate - [select for diffs], Mon Jun 13 07:16:55 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.87: +16 -11 lines
Diff to previous 1.87 (colored)

1.  Correct prototype for xlog_unalloc_log()
2.  Set size of buffers to explicit amount.
3.  Don't bother trying to page align iclog buffer.  It should be done by
	kmem_zalloc().  Ask for cache aligned space.
4.  Add some asserts.  iclogsize >= 4096.  ptr returned from kmem_zalloc()
	is page aligned.
5.  Don't reset bufsize in buffer on every write.
6.  Add reminder to implement xlog_unalloc_log()

Revision 1.87 / (download) - annotate - [select for diffs], Sun Jun 12 01:22:55 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.86: +4 -4 lines
Diff to previous 1.86 (colored)

Add second parameter to ktrace_alloc() calls.

Revision 1.86 / (download) - annotate - [select for diffs], Fri Jun 10 02:57:52 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.85: +34 -19 lines
Diff to previous 1.85 (colored)

Add comments.  Improve code

Revision 1.85 / (download) - annotate - [select for diffs], Thu Jun 9 22:16:12 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.84: +23 -104 lines
Diff to previous 1.84 (colored)

1.  Make compile without warning in simulation mode
2.  Macro code segments to make it easier to read.

Revision 1.84 / (download) - annotate - [select for diffs], Thu Jun 9 19:38:53 1994 UTC (23 years, 4 months ago) by wei_hu
Branch: MAIN
Changes since 1.83: +1 -3 lines
Diff to previous 1.83 (colored)

Eliminate include of <sys/uuid.h>.

Revision 1.83 / (download) - annotate - [select for diffs], Thu Jun 9 18:22:35 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.82: +32 -49 lines
Diff to previous 1.82 (colored)

1.  Fix bug where grant lock was not being held around changes to
	grant fields within log structure.
2.  Remove printf debugging lines
3.  Add string to grant tracing, so we can tell where trace_enter is
	called.

Revision 1.82 / (download) - annotate - [select for diffs], Thu Jun 9 07:12:21 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.81: +3 -1 lines
Diff to previous 1.81 (colored)

Make mkfs work again, don't do anything to the log in mkfs.

Revision 1.81 / (download) - annotate - [select for diffs], Thu Jun 9 04:22:15 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.80: +19 -22 lines
Diff to previous 1.80 (colored)

remove psint, use __psint_t

Revision 1.80 / (download) - annotate - [select for diffs], Thu Jun 9 01:35:06 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.79: +796 -287 lines
Diff to previous 1.79 (colored)

1.  Add code for tracing log grant code
2.  Add code for tracing log ticket code
3.  Fix log reservation code to use concept of grant write head and
	grant reservation head.
4.  Log code will now sleep properly when too many requests are made.
	No more "out of space" errors.
5.  Log code pushes on the ail in different spots now.
6.  Log code doesn't query tail lsn as much.  It now gets updated
	whenever the tail changes in the AIL code.
7.  Unmounting the log forcibly syncs out iclog first
8.  Add macros for two locks in log structure.  This makes it easier to
	read.
9.  New routine xfs_log_move_tail() which is called whenever the tail
	moves or space frees up in the log.
10. Add back link in iclog ring.
11. Round off errors when syncing logs are accounted for on next write
	to that iclog.  We have a ticket then.
12. Log ticket space wasn't accounting for split regions.
13. Fix routine which flushes out entire in-core logs. (sync_all)
14. Remove call to code which verified cycle numbers.

Revision 1.79 / (download) - annotate - [select for diffs], Wed Jun 1 00:43:47 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.78: +12 -17 lines
Diff to previous 1.78 (colored)

Fix bad bug where LSNs for a LR was overwritten when calling xfs_log_force
with a specific LSN.  Also added lots of assertions.

Revision 1.78 / (download) - annotate - [select for diffs], Fri May 27 00:18:57 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.77: +18 -1 lines
Diff to previous 1.77 (colored)

More debugging code to help find potential buffer problem.

Revision 1.77 / (download) - annotate - [select for diffs], Thu May 26 01:30:09 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.76: +15 -4 lines
Diff to previous 1.76 (colored)

Fix xlog_state_sync() to properly push out buffers.

Revision 1.76 / (download) - annotate - [select for diffs], Wed May 25 04:30:40 1994 UTC (23 years, 4 months ago) by miken
Branch: MAIN
Changes since 1.75: +4 -3 lines
Diff to previous 1.75 (colored)

add count argument to xfs_log_reserve()

Revision 1.75 / (download) - annotate - [select for diffs], Mon May 16 20:58:52 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.74: +4 -4 lines
Diff to previous 1.74 (colored)

Fix compile error in non-debug kernel build, causing when making
tracing code compiled out for the simulation.

Revision 1.74 / (download) - annotate - [select for diffs], Mon May 16 18:21:46 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.73: +1 -3 lines
Diff to previous 1.73 (colored)

Remove extranious vsema()

Revision 1.73 / (download) - annotate - [select for diffs], Fri May 13 00:07:23 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.72: +11 -2 lines
Diff to previous 1.72 (colored)

1.  Remove reshead stuff.  reshead needs to be byte offset not block
2.  If the cycle number ever reaches XLOG_HEADER_MAGIC_NUM, skip the
	number.  It is an illegal cycle number.

Revision 1.72 / (download) - annotate - [select for diffs], Thu May 12 23:34:34 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.71: +75 -56 lines
Diff to previous 1.71 (colored)

1. Make DEBUG code easier to read.
2. Procedurize assigning new tail_lsn
3. Remove flags argument from xfs_log_mount
4. Add code for reservation head lsn

Revision 1.71 / (download) - annotate - [select for diffs], Wed May 11 22:18:52 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 (colored)

Need to init ticket value to NULL.

Revision 1.70 / (download) - annotate - [select for diffs], Wed May 11 18:13:39 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.69: +10 -1 lines
Diff to previous 1.69 (colored)

Add a temporary hack to not leak tickets with the
new permanent log reservation scheme.

Revision 1.69 / (download) - annotate - [select for diffs], Wed May 11 17:12:06 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.68: +5 -9 lines
Diff to previous 1.68 (colored)

Change ifdefs for log tracing code so it's not compiled for #ifdef SIM
(i.e. mkfs), so mkfs will compile.

Revision 1.68 / (download) - annotate - [select for diffs], Wed May 11 02:46:55 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.67: +12 -0 lines
Diff to previous 1.67 (colored)

xfs_log_force and xfs_log_done needed to return immediately if
xlog_debug != 0

Revision 1.67 / (download) - annotate - [select for diffs], Wed May 11 02:12:31 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.66: +12 -29 lines
Diff to previous 1.66 (colored)

Rather than sleeping in xlog_state_switch_iclogs(), the flushsema semaphore
has been changed from a counting semaphore to a sleeping semaphore.  Threads
sleep in xlog_state_get_iclog_space() when the head of the iclog Q is not
in the ACTIVE state.  Syncing threads *do not* need to call psema.  In the
xlog_state_do_callback routine which performs callbacks and cleans up the
log, we now do a while(cvsema()) on the flush semaphore.

Revision 1.66 / (download) - annotate - [select for diffs], Wed May 11 01:32:40 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.65: +106 -31 lines
Diff to previous 1.65 (colored)

1.  Add ktrace functions for iclogs
2.  Temporary fix for log sleep problem
3.  remove call to push buffers in xlog_state_sync_all

Revision 1.65 / (download) - annotate - [select for diffs], Tue May 10 21:53:47 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.64: +2 -2 lines
Diff to previous 1.64 (colored)

Change to use the new xfs_trans_push_ail() interface.

Revision 1.64 / (download) - annotate - [select for diffs], Mon May 9 04:42:32 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.63: +25 -18 lines
Diff to previous 1.63 (colored)

1.  change interface to xlog_push_buffers_to_disk
2.  xlog_debug should default to 1 not 2.
3.  grab global log lock when looking at log structures in
	xlog_push_buffers_to_disk()

Revision 1.63 / (download) - annotate - [select for diffs], Fri May 6 23:51:25 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.62: +1 -0 lines
Diff to previous 1.62 (colored)

Add ASSERT to make sure we don't psema(flush_iclog sema) if we will
go to sleep.

Revision 1.62 / (download) - annotate - [select for diffs], Fri May 6 20:08:31 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.61: +20 -20 lines
Diff to previous 1.61 (colored)

Grab global lock when walking iclog ring

Revision 1.61 / (download) - annotate - [select for diffs], Thu May 5 22:38:12 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.60: +34 -21 lines
Diff to previous 1.60 (colored)

Re-procedurize some code

Revision 1.60 / (download) - annotate - [select for diffs], Thu May 5 18:48:26 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.59: +6 -6 lines
Diff to previous 1.59 (colored)

XFSDEBUG -> DEBUG

Revision 1.59 / (download) - annotate - [select for diffs], Thu May 5 17:35:28 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.58: +33 -792 lines
Diff to previous 1.58 (colored)

1.  Code movement.  Recovery code in its own file now
2.  Add l_last_sync_lsn.  Need to know last LR to get completely
	written out for when xfs_trans_tail_ail returns 0.
3.  Add routine to verify cycle numbers at start of log

Revision 1.58 / (download) - annotate - [select for diffs], Tue May 3 22:17:55 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.57: +129 -58 lines
Diff to previous 1.57 (colored)

1.  Update tail_lsn when xfs_trans_tail_ail returns 0.  It needs to
	be the last lsn which was completely synced to disk (including
	callbacks)
2.  Initialize l_logreserved correctly using data from log
3.  Move recover header stuff to xfs_log_priv.h for now.
4.  Fix bug in xlog_recover_find_tid-incorrectly moving through queue.
5.  More bug fixing in recovery code

Revision 1.57 / (download) - annotate - [select for diffs], Mon May 2 18:18:49 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.56: +4 -1 lines
Diff to previous 1.56 (colored)

Add check for xlog_debug 0 in xfs_log_unmount, so mkfs will work.

Revision 1.56 / (download) - annotate - [select for diffs], Sat Apr 30 19:51:48 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.55: +116 -45 lines
Diff to previous 1.55 (colored)

1. Implement UNMOUNT transaction
2. Fix log/iclog initialization code to initialized correctly after
	clean and unclean shutdowns.
3. Fix small bug in xlog_sync with splitting LRs at end of log.
4. Add my_tail_lsn to log structure.  Need to account for tail correctly
	when xfs_trans_tail_ail returns 0.

Revision 1.55 / (download) - annotate - [select for diffs], Thu Apr 28 23:27:11 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.54: +22 -24 lines
Diff to previous 1.54 (colored)

Fix couple of problems where spunlockspl was not called.  In
xlog_state_sync_all() we need to set a couple of fields in the
in-core log if the reference count is 1 and the offset is 0.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Apr 28 18:43:30 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.53: +2 -2 lines
Diff to previous 1.53 (colored)

Fix a small error in xfs_log_reserve() that was preventing
the PERM_LOG_RES from being set in the ticket returned.

Revision 1.53 / (download) - annotate - [select for diffs], Thu Apr 28 18:19:53 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.52: +2 -0 lines
Diff to previous 1.52 (colored)

Need to handle asynch flushes of iclog

Revision 1.52 / (download) - annotate - [select for diffs], Thu Apr 28 06:34:21 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.51: +25 -33 lines
Diff to previous 1.51 (colored)

recode xlog_find_oldest to use binary search.  rename to xlog_print_find_oldest

Revision 1.51 / (download) - annotate - [select for diffs], Thu Apr 28 05:06:46 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.50: +38 -90 lines
Diff to previous 1.50 (colored)

1.  Delete unnecessary code
2.  Make xlog_state_do_callback() scan more of the iclog ring
3.  Run debug code all the time, but make it compile conditionally
4.  Implement routine to sync out all of iclog space

Revision 1.50 / (download) - annotate - [select for diffs], Wed Apr 27 21:39:43 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.49: +5 -8 lines
Diff to previous 1.49 (colored)

Don't brelse allocated buffers when panicing due to B_ERROR.
Use b_fsprivate, not b_private, to store address of unaligned buffer data.
Set b_bufsize same as b_bcount for allocated buffers.

Revision 1.49 / (download) - annotate - [select for diffs], Wed Apr 27 05:34:41 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.48: +32 -22 lines
Diff to previous 1.48 (colored)

Fix bug where lsn was getting incremented properly.

Revision 1.48 / (download) - annotate - [select for diffs], Tue Apr 26 23:56:03 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.47: +1 -1 lines
Diff to previous 1.47 (colored)

Turn on logging by default

Revision 1.47 / (download) - annotate - [select for diffs], Tue Apr 26 22:34:33 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.46: +11 -23 lines
Diff to previous 1.46 (colored)

Make some of the debug code run all the time.  Fix a bug where callback_tail
code was not reset correctly.

Revision 1.46 / (download) - annotate - [select for diffs], Tue Apr 26 04:08:30 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.45: +21 -1 lines
Diff to previous 1.45 (colored)

Add call to xfs_log_stat()

Revision 1.45 / (download) - annotate - [select for diffs], Tue Apr 26 01:18:55 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.44: +7 -3 lines
Diff to previous 1.44 (colored)

Don't need to scale log with blocksize.  It's already done.

Revision 1.44 / (download) - annotate - [select for diffs], Tue Apr 26 00:38:25 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.43: +2 -1 lines
Diff to previous 1.43 (colored)

Add include of xfs_error.h for error code values.

Revision 1.43 / (download) - annotate - [select for diffs], Mon Apr 25 21:11:17 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.42: +86 -53 lines
Diff to previous 1.42 (colored)

1. Add state (SYNC_DONE), used so callbacks are done in time order
2. Rearrange how buffers move from SYNCING -> SYNC_DONE -> CALLBACK -> DIRTY.
3. Add more debug code in xlog_write()
4. Fix bug with partial writes.  We had a partial copy when partial_copy was
	0.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Apr 22 21:15:07 1994 UTC (23 years, 5 months ago) by miken
Branch: MAIN
Changes since 1.41: +567 -195 lines
Diff to previous 1.41 (colored)

1.  sync lsn -> tail lsn
2.  fix bug in xfs_log_reserve.  Need to check value of xfs_trans_tail_ail
	before assigning it to log's copy.
3.  account for block sizes different than 512 bytes
4.  add callback tail.  need to call callback list in order given
5.  update routines which startup recovery to fix some bugs.
6.  find tail through binary search (after finding head)
7.  verify iclog during new transaction log write.
8.  Add code to use XLOG_WAS_CONT_TRANS.  Need to keep track of things which
	are continued rather than things which are continuations.
9.  Fix some bugs in xlog_write().  Don't call xlog_state_release_iclog twice
	for a single iclog.
10. Smash as much as possible in each log record when running in kernel.
11. Fix bug when getting iclog space.  Need to perform space check for 2
	log op headers before doing anything else.
12. Allocate more tickets when we run out.
13. Add lost of recovery code.

Revision 1.41 / (download) - annotate - [select for diffs], Mon Apr 11 18:47:01 1994 UTC (23 years, 6 months ago) by miken
Branch: MAIN
Changes since 1.40: +308 -229 lines
Diff to previous 1.40 (colored)

1.  Change linear scan functions to binary search.  We need the speed.
2.  Make scan functions work on virtual on-disk log which starts starts
	at block 0.  Requires rewriting internal interfaces.
3.  Make use of daddr_t instead of int/uint.
4.  Re-write buffer code to not call bread().  Use log buffers.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Apr 7 00:07:25 1994 UTC (23 years, 6 months ago) by miken
Branch: MAIN
Changes since 1.39: +358 -356 lines
Diff to previous 1.39 (colored)

change log_* to xlog_* and LOG_* to XLOG_*

Revision 1.39 / (download) - annotate - [select for diffs], Wed Apr 6 20:46:32 1994 UTC (23 years, 6 months ago) by miken
Branch: MAIN
Changes since 1.38: +301 -102 lines
Diff to previous 1.38 (colored)

1.  Fix some problems with mounting log from kernel
2.  Add code which will binary search the on-disk log (not done)

Revision 1.38 / (download) - annotate - [select for diffs], Mon Mar 28 21:55:42 1994 UTC (23 years, 6 months ago) by miken
Branch: MAIN
Changes since 1.37: +127 -4 lines
Diff to previous 1.37 (colored)

Add routines to find the start and end of the on-disk log.

Revision 1.37 / (download) - annotate - [select for diffs], Tue Mar 22 05:18:46 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.36: +0 -360 lines
Diff to previous 1.36 (colored)

Move log print code into its own file

Revision 1.36 / (download) - annotate - [select for diffs], Tue Mar 22 02:59:42 1994 UTC (23 years, 7 months ago) by jleong
Branch: MAIN
Changes since 1.35: +6 -5 lines
Diff to previous 1.35 (colored)

getrbuf() returns a locked buffer so don't do an immediate psema().

Revision 1.35 / (download) - annotate - [select for diffs], Sat Mar 19 00:08:12 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.34: +137 -20 lines
Diff to previous 1.34 (colored)

All kernel space functions are now fully commented!

Revision 1.34 / (download) - annotate - [select for diffs], Thu Mar 17 02:18:28 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.33: +9 -8 lines
Diff to previous 1.33 (colored)

Don't reuse ic_refcnt field for 2 purposes.  Invent ic_bwritecnt which is
a count used so completion routines are only called once even when one iclog
write is split into 2 bwrites.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Mar 17 00:44:02 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.32: +126 -59 lines
Diff to previous 1.32 (colored)

1.  Add call to transaction level to push on buffers when the log is
	filling up.
2.  Add more comments.
3.  Debug code always get compiled in.  Just set level of global to activate.
4.  Add code to adjust for logs which don't start at block #0
5.  Inverse sense of ifdef statements, so others will use code which
	don't use lseek().

Revision 1.32 / (download) - annotate - [select for diffs], Tue Mar 8 02:14:43 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.31: +5 -17 lines
Diff to previous 1.31 (colored)

Get to compile in kernel and sim library

Revision 1.31 / (download) - annotate - [select for diffs], Tue Mar 8 02:03:12 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.30: +17 -1 lines
Diff to previous 1.30 (colored)

Make compile in kernel

Revision 1.30 / (download) - annotate - [select for diffs], Tue Mar 8 01:41:56 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.29: +7 -1 lines
Diff to previous 1.29 (colored)

Fix log print bug.  Was reading too much data which was showing up
as bad data reads.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Mar 7 22:52:28 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.28: +20 -46 lines
Diff to previous 1.28 (colored)

Log debug code is now always compiled.  It is enabled by setting
the global variable "log_debug".

Revision 1.28 / (download) - annotate - [select for diffs], Mon Mar 7 22:30:20 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.27: +7 -6 lines
Diff to previous 1.27 (colored)

Fix bugs in log printing code.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Mar 7 19:54:35 1994 UTC (23 years, 7 months ago) by miken
Branch: MAIN
Changes since 1.26: +213 -170 lines
Diff to previous 1.26 (colored)

1.  Add start and length fields to xfs_log_print and xfs_log_mount
2.  Add more debugging code.  Check dest ptr in bcopy.
3.  Remove log_findlogsize.  Use mount interface
4.  Clean up log_write() code.  The code should now handle all cases.
	It is also easier to read.
5.  Fix off by one error in log_state_get_iclog_space().  Case where write
	fits exactly into in-core log.

Revision 1.26 / (download) - annotate - [select for diffs], Fri Feb 18 21:10:37 1994 UTC (23 years, 8 months ago) by ajs
Branch: MAIN
Changes since 1.25: +14 -6 lines
Diff to previous 1.25 (colored)

Fix the calculation of need_copy in log_write()
to eliminate a memory corruption bug.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Feb 16 23:30:59 1994 UTC (23 years, 8 months ago) by ajs
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24 (colored)

Fix compile time warning.

Revision 1.24 / (download) - annotate - [select for diffs], Wed Feb 16 02:49:33 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.23: +379 -97 lines
Diff to previous 1.23 (colored)

1.  Add lots more comments
2.  Add more debug code
3.  Page align buffer kmem_alloced space
4.  Split code was doing array addition rather than character addition
5.  Debug ticket code cycles through tickets
6.  Fix lots of bugs in the log print code (handling end of physical log)

Revision 1.23 / (download) - annotate - [select for diffs], Fri Feb 4 04:43:04 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.22: +1 -1 lines
Diff to previous 1.22 (colored)

Calculation determining how many free blocks are left in the log was wrong.

Revision 1.22 / (download) - annotate - [select for diffs], Thu Feb 3 00:48:41 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.21: +118 -64 lines
Diff to previous 1.21 (colored)

1.  Add another buffer to log, used for the case where a log record
	gets split in two when wrapping the physical log.
2.  Put iclog into bp->b_fsprivate field.  The original hack no
	longer works when a log record gets split in two.
3.  Add lots of ASSERT statements
4.  Re-use ic_refcnt field, so split writes will only kick off one
	iodone() for the pair of writes.
5.  Add original reservation length field in ticket for correct
	accounting of reservations.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Feb 2 03:29:26 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.20: +266 -93 lines
Diff to previous 1.20 (colored)

1.  Implement rolling log at end of physical log
2.  Fix problem where ticket code was not updating within the context of
	the state machine lock.
3.  Need to zero lsn in header when making ACTIVE.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jan 26 00:40:33 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.19: +38 -41 lines
Diff to previous 1.19 (colored)

Fix bug in log cleaning code.  Make it more modular.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Jan 25 22:22:27 1994 UTC (23 years, 8 months ago) by ajs
Branch: MAIN
Changes since 1.18: +14 -3 lines
Diff to previous 1.18 (colored)

Fixed some minor bugs.  Making it compile again
for the non _LOG_DEBUG case.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 25 03:40:35 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.17: +20 -16 lines
Diff to previous 1.17 (colored)

1.  Change xfs_log_write() routine to return an extra argument, the starting
	lsn of a transaction.
2.  Change interface log_iovec structure to not include lsn.  The only one we
	need it provided in (1).
3.  Fix small logic bug where writes were happening to iclog incorrectly.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jan 25 01:24:33 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

Change function stub for xfs_log_done() under !LOG_DEBUG

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jan 24 22:58:07 1994 UTC (23 years, 8 months ago) by miken
Branch: MAIN
Changes since 1.15: +120 -73 lines
Diff to previous 1.15 (colored)

1.  xfs_log_done() returns lsn of commit record
2.  synchronous log forcing now implemented.
3.  better reservation accounting.
4.  Cycle count starts at 1 since 0 is the log's inited state
5.  State machine locks at splhi

Revision 1.15 / (download) - annotate - [select for diffs], Thu Jan 13 23:39:32 1994 UTC (23 years, 9 months ago) by miken
Branch: MAIN
Changes since 1.14: +161 -71 lines
Diff to previous 1.14 (colored)

1. Add support for permanent reservations, including a way to release a
	permanent reservation.
2. Callbacks fully implemented.
3. Added notion of a start record for each transaction.
4. Revised state machine locking w.r.t. the counting semaphore used to
	hold off new log writers.  There is now an ordering placed on
	in-core logs.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jan 7 01:32:43 1994 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Fix stub routines so they'll compile in the kernel.

Revision 1.13 / (download) - annotate - [select for diffs], Fri Jan 7 00:02:57 1994 UTC (23 years, 9 months ago) by miken
Branch: MAIN
Changes since 1.12: +195 -154 lines
Diff to previous 1.12 (colored)

1.  Fix iodone() complete routines to perform locking correctly.
2.  Correct some problems in the log_write() code w.r.t. the offset in the
	current in-core log.
3.  Add the notion of a start record for transactions.
4.  Every 512 byte block will have a pass number stamped in the first word
	of the block.  However, log record headers have their magic number
	in the first word with the pass number in the second word.
5. Add notion of splitting individual regions across multiple log record
	writes.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 31 22:47:28 1993 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.11: +15 -0 lines
Diff to previous 1.11 (colored)

Add some more dummy functions for now.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Dec 31 01:55:22 1993 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.10: +7 -2 lines
Diff to previous 1.10 (colored)

First cut at making the transaction
code use the log manager interfaces.  xfs_trans.h now
depends on xfs_log.h, so we need to include it.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Dec 30 22:24:10 1993 UTC (23 years, 9 months ago) by miken
Branch: MAIN
Changes since 1.9: +439 -189 lines
Diff to previous 1.9 (colored)

Most of the log state machine works now.  The incore logs are now managed
in a ring.  As part of the state machine, the MP locks are in place for MP
operation.  More states have been added to the state machine.  A test program
can now write 2 log records and the commit record which requires reusing
an iclog.

Revision 1.9 / (download) - annotate - [select for diffs], Wed Dec 15 01:53:02 1993 UTC (23 years, 10 months ago) by miken
Branch: MAIN
Changes since 1.8: +365 -366 lines
Diff to previous 1.8 (colored)

Just reformat to 8 space indents and remove or add comments.

Revision 1.8 / (download) - annotate - [select for diffs], Wed Dec 15 01:10:12 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.7: +0 -1 lines
Diff to previous 1.7 (colored)

Remove include for xfs.h, this file has been removed.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Dec 14 00:37:05 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 (colored)

Make it compile in the kernel directory.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Dec 13 19:52:16 1993 UTC (23 years, 10 months ago) by miken
Branch: MAIN
Changes since 1.5: +16 -151 lines
Diff to previous 1.5 (colored)

Remove old ticket code where ticket handles were integers rather than
pointers to tickets.  Even though this exposes tickets outside the log
manager interface, it allows far fewer locks.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Dec 11 03:19:17 1993 UTC (23 years, 10 months ago) by miken
Branch: MAIN
Changes since 1.4: +827 -1 lines
Diff to previous 1.4 (colored)

First cut of log manager code.  All my code is under LOG_DEBUG #ifdefs.
The current code should be able to write regions to disk.  log print
routines are also present.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Nov 17 01:42:33 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.3: +1 -0 lines
Diff to previous 1.3 (colored)

Get rid of warnings from ragnarok compilers by adding casts, changing
types, adding lint comments.
Get rid of xfs_extdesc_t, replace with xfs_bmbt_rec_t.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Nov 6 22:06:11 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.2: +1 -1 lines
Diff to previous 1.2 (colored)

Get rid of nested includes.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Oct 29 20:35:24 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (colored)

Fix includes, get rid of warnings.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Oct 29 00:19:49 1993 UTC (23 years, 11 months ago) by ajs
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>