CVS log for xfs-linux-nodel/xfs_inode.c

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.536 / (download) - annotate - [select for diffs], Thu Oct 23 15:03:24 2008 UTC (8 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.535: +11 -10 lines
Diff to previous 1.535 (colored)

free partially initialized inodes using destroy_inode

To make sure we free the security data inodes need to be freed using
the proper VFS helper (which we also need to export for this). We mark
these inodes bad so we can skip the flush path for them.


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

  free partially initialized inodes using destroy_inode

Revision 1.535 / (download) - annotate - [select for diffs], Thu Oct 23 15:02:31 2008 UTC (8 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.534: +7 -6 lines
Diff to previous 1.534 (colored)

stop using xfs_itobp in xfs_bulkstat

xfs_bulkstat only wants the dinode, offset and buffer from a given
inode number.  Instead of using xfs_itobp on a fake inode which is
complicated and currently leads to leaks of the security data just use
xfs_inotobp which is designed to do exactly the kind of lookup
xfs_bulkstat wants.  The only thing that's missing in xfs_inotobp is
a flags paramter that let's us pass down XFS_IMAP_BULKSTAT, but that can
easily added.


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

  stop using xfs_itobp in xfs_bulkstat

Revision 1.534 / (download) - annotate - [select for diffs], Fri Oct 17 02:58:35 2008 UTC (8 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.533: +4 -4 lines
Diff to previous 1.533 (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.533 / (download) - annotate - [select for diffs], Thu Oct 16 05:23:50 2008 UTC (8 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.532: +2 -2 lines
Diff to previous 1.532 (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.532 / (download) - annotate - [select for diffs], Thu Oct 16 05:22:47 2008 UTC (8 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.531: +7 -10 lines
Diff to previous 1.531 (colored)

Allow 64 bit machines to avoid the AIL lock during flushes

When copying lsn's from the log item to the inode or dquot
flush lsn, we currently grab the AIL lock. We do this because the
LSN is a 64 bit quantity and it needs to be read atomically.
The lock is used to guarantee atomicity for 32 bit platforms.

Make the LSN copying a small function, and make the function
used conditional on BITS_PER_LONG so that 64 bit machines don't
need to take the AIL lock in these places.

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

  Allow 64 bit machines to avoid the AIL lock during flushes

Revision 1.531 / (download) - annotate - [select for diffs], Wed Oct 15 15:35:50 2008 UTC (8 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.530: +2 -2 lines
Diff to previous 1.530 (colored)

kill deleted inodes list

Now that the deleted inodes list is unused, kill it. This
also removes the i_reclaim list head from the xfs_inode, shrinking
it by two pointers.

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

  kill deleted inodes list

Revision 1.530 / (download) - annotate - [select for diffs], Wed Oct 15 03:25:46 2008 UTC (8 years, 11 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.529: +32 -11 lines
Diff to previous 1.529 (colored)

Combine the XFS and Linux inodes

To avoid issues with different lifecycles of XFS and Linux inodes,
embedd the linux inode inside the XFS inode. This means that the
linux inode has the same lifecycle as the XFS inode, even when it
has been released by the OS. XFS inodes don't live much longer than
this (a short stint in reclaim at most), so there isn't significant
memory usage penalties here.

Version 3
o kill xfs_icount()

Version 2
o remove unused commented out code from xfs_iget().
o kill useless cast in VFS_I()

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

  Combine the XFS and Linux inodes

Revision 1.529 / (download) - annotate - [select for diffs], Fri Oct 10 15:27:57 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.528: +5 -8 lines
Diff to previous 1.528 (colored)

Always use struct xfs_btree_block instead of short / longform structures.

Always use the generic xfs_btree_block type instead of the short / long
structures.  Add XFS_BTREE_SBLOCK_LEN / XFS_BTREE_LBLOCK_LEN defines for
the length of a short / long form block.  The rationale for this is that
we will grow more btree block header variants to support CRCs and other
RAS information, and always accessing them through the same datatype
with unions for the short / long form pointers makes implementing this
much easier.


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

  Always use struct xfs_btree_block instead of short / longform structures.

Revision 1.528 / (download) - annotate - [select for diffs], Fri Oct 10 15:23:27 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.527: +2 -4 lines
Diff to previous 1.527 (colored)

cleanup btree record / key / ptr addressing macros.

Replace the generic record / key / ptr addressing macros that use cpp token
pasting with simpler macros that do the job for just one given btree type.
The new macros lose the cur argument and thus can be used outside the core
btree code, but also gain an xfs_mount * argument to allow for checking the
CRC flag in the near future.  Note that many of these macros aren't actually
used in the kernel code, but only in userspace (mostly in xfs_repair).


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

  cleanup btree record / key / ptr addressing macros.

Revision 1.527 / (download) - annotate - [select for diffs], Fri Oct 10 15:21:38 2008 UTC (9 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.526: +14 -12 lines
Diff to previous 1.526 (colored)

Cleanup maxrecs calculation.

Clean up the way the maximum and minimum records for the btree blocks are
calculated.  For the alloc and inobt btrees all the values are pre-calculated
in xfs_mount_common, and we switch the current loop around the ugly generic
macros that use cpp token pasting to generate type names to two small helpers
in normal C code.  For the bmbt and bmdr trees these helpers also exist,
but can be called during runtime, too.  Here we also kill various macros
dealing with them and inline the logic into the get_minrecs / get_maxrecs /
get_dmaxrecs methods in xfs_bmap_btree.c.

Note that all these new helpers take an xfs_mount * argument which will
be needed to determine the size of a btree block once we add support for
extended btree blocks with CRCs and other RAS information.


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

  Cleanup maxrecs calculation.

Revision 1.526 / (download) - annotate - [select for diffs], Fri Oct 10 05:32:41 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.525: +0 -35 lines
Diff to previous 1.525 (colored)

Remove xfs_iflush_all and clean up xfs_finish_reclaim_all()

xfs_iflush_all() walks the m_inodes list to find inodes that
need reclaiming. We already have such a list - the m_del_inodes
list. Replace xfs_iflush_all() with a call to xfs_finish_reclaim_all()
and clean up xfs_finish_reclaim_all() to handle the different flush
modes now needed.

Originally based on a patch from Christoph Hellwig.

Version 3
o rediff against new linux-2.6/xfs_sync.c code

Version 2
o revert xfs_syncsub() inode reclaim behaviour back to original
  code
o xfs_quiesce_fs() should use XFS_IFLUSH_DELWRI_ELSE_ASYNC, not
  XFS_IFLUSH_ASYNC, to prevent change of behaviour.

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

  Remove xfs_iflush_all and clean up xfs_finish_reclaim_all()

Revision 1.525 / (download) - annotate - [select for diffs], Fri Oct 3 04:30:43 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.524: +2 -2 lines
Diff to previous 1.524 (colored)

Merge up to 2.6.27-rc8
Merge of xfs-linux-melb:xfs-kern:32254a by kenmcd.

Revision 1.524 / (download) - annotate - [select for diffs], Fri Sep 26 06:11:23 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.523: +1 -1 lines
Diff to previous 1.523 (colored)

Wait for all I/O on truncate to zero file size

It's possible to have outstanding xfs_ioend_t's queued when the file
size is zero.  This can happen in the direct I/O path when a direct
I/O write fails due to ENOSPC.  In this case the xfs_ioend_t will still
be queued (ie xfs_end_io_direct() does not know that the I/O failed so
can't force the xfs_ioend_t to be flushed synchronously).

When we truncate a file on unlink we don't know to wait for these
xfs_ioend_ts and we can have a use-after-free situation if the inode
is reclaimed before the xfs_ioend_t is finally processed.

As was suggested by Dave Chinner lets wait for all I/Os to complete
when truncating the file size to zero.
Merge of xfs-linux-melb:xfs-kern:32216a by kenmcd.

  Wait for all I/O on truncate to zero file size

Revision 1.523 / (download) - annotate - [select for diffs], Wed Sep 24 16:17:16 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.522: +3 -2 lines
Diff to previous 1.522 (colored)

make btree tracing generic

Make the existing bmap btree tracing generic so that it applies to all
btree types.

Some fragments lifted from a patch by Dave Chinner.


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

  make btree tracing generic

Revision 1.522 / (download) - annotate - [select for diffs], Tue Sep 23 06:11:45 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.521: +3 -92 lines
Diff to previous 1.521 (colored)

Remove xfs_iext_irec_compact_full()

Yet another bug was found in xfs_iext_irec_compact_full() and while the
source of the bug was found it wasn't an easy task to track it down because
the conditions are very difficult to reproduce.

A HUGE thank-you goes to Russell Cattelan and Eric Sandeen for their
significant effort in tracking down the source of this corruption.

xfs_iext_irec_compact_full() and xfs_iext_irec_compact_pages() are almost
identical - they both compact indirect extent lists by moving extents from
subsequent buffers into earlier ones.  xfs_iext_irec_compact_pages() only
moves extents if all of the extents in the next buffer will fit into the
empty space in the buffer before it.  xfs_iext_irec_compact_full() will go
a step further and move part of the next buffer if all the extents wont fit.
It will then shift the remaining extents in the next buffer up to the start
of the buffer.  The bug here was that we did not update er_extoff and this
caused extent list corruption.

It does not appear that this extra functionality gains us much.  Calling
xfs_iext_irec_compact_pages() instead will do a good enough job at compacting
the indirect list and will be quicker too.

For the case in xfs_iext_indirect_to_direct() the total number of extents
in the indirect list will fit into one buffer so we will never need the
extra functionality of xfs_iext_irec_compact_full() there.

Also xfs_iext_irec_compact_pages() doesn't need to do a memmove() (the
buffers will never overlap) so we don't want the performance hit that
can incur.
Merge of xfs-linux-melb:xfs-kern:32166a by kenmcd.

  Remove xfs_iext_irec_compact_full()

Revision 1.521 / (download) - annotate - [select for diffs], Tue Sep 23 04:16:51 2008 UTC (9 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.520: +1 -0 lines
Diff to previous 1.520 (colored)

Fix extent list corruption in xfs_iext_irec_compact_full().

If we don't move all the records from the next buffer into the current buffer
then we need to update the er_extoff field of the next buffer as we shift the
remaining records to the start of the buffer.
Merge of xfs-linux-melb:xfs-kern:32165a by kenmcd.

  Fix extent list corruption in xfs_iext_irec_compact_full().

Revision 1.520 / (download) - annotate - [select for diffs], Wed Aug 20 06:08:45 2008 UTC (9 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.519: +1 -1 lines
Diff to previous 1.519 (colored)

Use xfs_idestroy() to cleanup an inode.
Merge of xfs-linux-melb:xfs-kern:31927a by kenmcd.

  Use xfs_idestroy() to cleanup an inode.

Revision 1.519 / (download) - annotate - [select for diffs], Wed Aug 20 04:10:16 2008 UTC (9 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.518: +75 -36 lines
Diff to previous 1.518 (colored)

Make use of the init-once slab optimisation.

To avoid having to initialise some fields of the XFS inode
on every allocation, we can use the slab init-once feature
to initialise them. All we have to guarantee is that when
we free the inode, all it's entries are in the initial state.
Add asserts where possible to ensure debug kernels check this
initial state before freeing and after allocation.

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

  Make use of the init-once slab optimisation.

Revision 1.518 / (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.517: +6 -6 lines
Diff to previous 1.517 (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.517 / (download) - annotate - [select for diffs], Wed Aug 6 06:11:48 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.516: +8 -1 lines
Diff to previous 1.516 (colored)

update timestamp in xfs_ialloc manually

In xfs_ialloc we just want to set all timestamps to the current time.
We don't need to mark the inode dirty like xfs_ichgtime does, and we
don't need nor want the opimizations in xfs_ichgtime that I will
introduce in the next patch.

So just opencode the timestamp update in xfs_ialloc, and remove the new
unused XFS_ICHGTIME_ACC case in xfs_ichgtime.


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

  update timestamp in xfs_ialloc manually

Revision 1.516 / (download) - annotate - [select for diffs], Tue Aug 5 16:30:31 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.515: +5 -6 lines
Diff to previous 1.515 (colored)

replace inode flush semaphore with a completion

Use the new completion flush code to implement the inode flush lock.  Removes
one of the final users of semaphores in the XFS code base.

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

  replace inode flush semaphore with a completion

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

use get_unaligned_* helpers

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

  use get_unaligned_* helpers

Revision 1.514 / (download) - annotate - [select for diffs], Tue Jul 29 04:18:41 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.513: +1 -3 lines
Diff to previous 1.513 (colored)

sanitize xfs_initialize_vnode

Sanitize setting up the Linux indode.

Setting up the xfs_inode <-> inode link is opencoded in xfs_iget_core
now because that's the only place it needs to be done,
xfs_initialize_vnode is renamed to xfs_setup_inode and loses all
superflous paramaters.  The check for I_NEW is removed because it always
is true and the di_mode check moves into xfs_iget_core because it's only
needed there.

xfs_set_inodeops and xfs_revalidate_inode are merged into
xfs_setup_inode and the whole things is moved into xfs_iops.c where it
belongs.


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

Revision 1.513 / (download) - annotate - [select for diffs], Mon Jul 28 15:43:25 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.512: +1 -1 lines
Diff to previous 1.512 (colored)

kill bhv_vnode_t

All remaining bhv_vnode_t instance are in code that's more or less Linux
specific.  (Well, for xfs_acl.c that could be argued, but that code is
on the removal list, too).  So just do an s/bhv_vnode_t/struct inode/
over the whole tree.  We can clean up variable naming and some useless
helpers later.


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

  kill bhv_vnode_t

Revision 1.512 / (download) - annotate - [select for diffs], Mon Jul 28 03:53:33 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.511: +3 -7 lines
Diff to previous 1.511 (colored)

remove some easy bhv_vnode_t instances

In various places we can just move a VFS_I call into the argument list
of called functions/macros instead of having a local bhv_vnode_t.


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

  remove some easy bhv_vnode_t instances

Revision 1.511 / (download) - annotate - [select for diffs], Fri Jul 25 06:13:14 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.510: +8 -0 lines
Diff to previous 1.510 (colored)

Undoes mod:     xfs-linux-melb:xfs-kern:31766a
Revert remove mounpoint UUID code

As spotted by dchinner and hch, this touches on-disk format and log format, should be more carefully reviewed.
Merge of xfs-linux-melb:xfs-kern:31773a by kenmcd.

Revision 1.510 / (download) - annotate - [select for diffs], Fri Jul 25 04:21:53 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.509: +0 -8 lines
Diff to previous 1.509 (colored)

remove mounpoint UUID code

It looks like all of the below is unused... and according
to Nathan,

"dont think it even got used/implemented anywhere, but i think it
was meant to be an auto-mount kinda thing... such that when you look
up at that point, it knows to mount the device with that uuid there,
if its not already it was never really written anywhere ... just an
idea in doug doucettes brain i think."

Think it'll ever go anywhere, or should it get pruned?

The below builds; not at all tested, until I get an idea if it's worth
doing.  Need to double check that some structures might not need padding
out to keep things compatible/consistent...
Merge of xfs-linux-melb:xfs-kern:31766a by kenmcd.

Revision 1.509 / (download) - annotate - [select for diffs], Wed Jul 23 16:35:56 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.508: +7 -9 lines
Diff to previous 1.508 (colored)

Use KM_NOFS for incore inode extent tree allocation V2

If we allow incore extent tree allocations to recurse into the
filesystem under memory pressure, new delayed allocations through
xfs_iomap_write_delay() can deadlock on themselves if memory reclaim
tries to write back dirty pages from that inode.

It will deadlock in xfs_iomap_write_allocate() trying to take the
ilock we already hold. This can also show up as complex ABBA
deadlocks when multiple threads are triggering memory reclaim when
trying to allocate extents.

The main cause of this is the fact that delayed allocation is
not done in a transaction, so KM_NOFS is not automatically
added to the allocations to prevent this recursion.

Mark all allocations done for the incore inode extent tree as
KM_NOFS to ensure they never recurse back into the filesystem.

Version 2:
o KM_NOFS implies KM_SLEEP, so just use KM_NOFS

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

Revision 1.508 / (download) - annotate - [select for diffs], Wed Jul 23 16:34:13 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.507: +1 -1 lines
Diff to previous 1.507 (colored)

Kill shouty XFS_ITOV() macro

Replace XFS_ITOV() with the new VFS_I() inline.

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

Revision 1.507 / (download) - annotate - [select for diffs], Wed Jul 23 16:33:15 2008 UTC (9 years, 2 months ago) by xaiki.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.506: +2 -2 lines
Diff to previous 1.506 (colored)

Avoid directly referencing the VFS inode V2

In several places we directly convert from the XFS inode
to the linux (VFS) inode by a simple deference of ip->i_vnode.
We should not do this - a helper function should be used to
extract the VFS inode from the XFS inode.

Introduce the function VFS_I() to extract the VFS inode
from the XFS inode. The name was chosen to match XFS_I() which
is used to extract the XFS inode from the VFS inode.

Version 2:
o don't use vn_to_inode() and inode_to_vn() functions as they
  are not needed

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

Revision 1.506 / (download) - annotate - [select for diffs], Thu Jun 19 06:15:56 2008 UTC (9 years, 3 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.505: +47 -23 lines
Diff to previous 1.505 (colored)

fix extent corruption in xfs_iext_irec_compact_full()

This function is used to compact the indirect extent list by moving
extents from one page to the previous to fill them up.  After we
move some extents to an earlier page we need to shuffle the remaining
extents to the start of the page.  The actual bug here is the second
argument to memmove() needs to index past the extents, that were copied
to the previous page, and move the remaining extents.  For pages that
are already full (ie ext_avail == 0) the compaction code has no net
effect so don't do it.
Merge of xfs-linux-melb:xfs-kern:31332a by kenmcd.

  fix extent corruption in xfs_iext_irec_compact_full()

Revision 1.505 / (download) - annotate - [select for diffs], Wed Jun 18 16:01:16 2008 UTC (9 years, 3 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.504: +0 -2 lines
Diff to previous 1.504 (colored)

make inode reclaim wait for log I/O to complete

During a forced shutdown a xfs inode can be destroyed before log
I/O involving that inode is complete.  We need to wait for the
inode to be unpinned before tearing it down.  Version 2 cleans up
the code a bit by relying on xfs_iflush() to do the unpinning and
forced shutdown check.
Merge of xfs-linux-melb:xfs-kern:31326a by kenmcd.

  make inode reclaim wait for log I/O to complete

Revision 1.504 / (download) - annotate - [select for diffs], Mon May 19 16:13:27 2008 UTC (9 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.503: +0 -61 lines
Diff to previous 1.503 (colored)

kill xfs_igrow_start and xfs_igrow_finish

xfs_igrow_start just expands to xfs_zero_eof with two asserts that are
useless in the context of the only caller and some rather confusing
comments.

xfs_igrow_finish is just a few lines of code decorated again with
useless asserts and confusing comments.

Just kill those two and merge them into xfs_setattr.


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

  kill xfs_igrow_start and xfs_igrow_finish.

Revision 1.503 / (download) - annotate - [select for diffs], Mon May 19 16:10:04 2008 UTC (9 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.502: +4 -3 lines
Diff to previous 1.502 (colored)

Fix inode list allocation size in writeback.

We only need to allocate space for the number of inodes in
the cluster when writing back inodes, not every byte in the
inode cluster. This reduces the amount of memory needing to
be allocated to 256 bytes instead of 64k.
Merge of xfs-linux-melb:xfs-kern:31182a by kenmcd.

  Only allocate enough memory for the pointer list in inode cluster
  writeback.

Revision 1.502 / (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.501: +16 -18 lines
Diff to previous 1.501 (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.501 / (download) - annotate - [select for diffs], Fri May 2 04:22:43 2008 UTC (9 years, 5 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.500: +1 -1 lines
Diff to previous 1.500 (colored)

Don't allow memory reclaim to wait on the filesystem in inode writeback

If we allow memory reclaim to wait on the pages under writeback in
inode cluster writeback we could deadlock because we are currently
holding the ILOCK on the initial writeback inode which is needed in
data I/O completion to change the file size or do unwritten extent
conversion before the pages are taken out of writeback state.
Merge of xfs-linux-melb:xfs-kern:31015a by kenmcd.

  Allocate the inode cluster list with KM_NOFS to prevent reclaim
  from recursing into the filesystem.

Revision 1.500 / (download) - annotate - [select for diffs], Mon Apr 21 06:17:24 2008 UTC (9 years, 5 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.499: +11 -14 lines
Diff to previous 1.499 (colored)

shrink mrlock_t

The writer field is not needed for non_DEBU builds so remove it.  While
we're at i also clean up the interface for is locked asserts to go
through and xfs_iget.c helper with an interface like the xfs_ilock
routines to isolated the XFS codebase from mrlock internals.  That way
we can kill mrlock_t entirely once rw_semaphores grow an islocked
facility.  Also remove unused flags to the ilock family of functions.


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

  shrink mrlock_t

Revision 1.499 / (download) - annotate - [select for diffs], Thu Apr 10 16:15:51 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.498: +65 -72 lines
Diff to previous 1.498 (colored)

Ensure the inode is joined in xfs_itruncate_finish

On success, we still need to join the inode to the current
transaction in xfs_itruncate_finish(). Fixes regression from
error handling changes.
Merge of xfs-linux-melb:xfs-kern:30845a by kenmcd.

  Ensure the inode is always joined to the current transaction in
  xfs_itruncate_finish().

Revision 1.498 / (download) - annotate - [select for diffs], Thu Apr 10 04:29:36 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.497: +8 -17 lines
Diff to previous 1.497 (colored)

xfs_iflush_fork() never returns an error.

xfs_iflush_fork() never returns an error. Mark it void and clean up
the code calling it that checks for errors.
Merge of xfs-linux-melb:xfs-kern:30827a by kenmcd.

  xfs_iflush_fork() never returns an error.

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

Ensure xfs_bawrite() errors are checked.

xfs_bawrite() can return immediate error status on async writes.
Unlike xfsbdstrat() we don't ever check the error on the buffer
after the call, so we currently do not catch errors at all here.
Ensure we catch and propagate or warn to the syslog about
up-front async write errors.
Merge of xfs-linux-melb:xfs-kern:30824a by kenmcd.

  Ensure xfs_bawrite() errors are checked.

Revision 1.496 / (download) - annotate - [select for diffs], Wed Apr 9 16:29:46 2008 UTC (9 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.495: +22 -30 lines
Diff to previous 1.495 (colored)

Propagate errors from xfs_trans_commit().

xfs_trans_commit() can return errors when there are problems
in the transaction subsystem. They are indicative that the entire
transaction may be incomplete, and hence the error should be
propagated as there is a good possibility that there is something
fatally wrong in the filesystem. Catch and propagate or warn
about commit errors in the places where they are currently ignored.
Merge of xfs-linux-melb:xfs-kern:30795a by kenmcd.

  Propagate errors from xfs_trans_commit()

Revision 1.495 / (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.494: +3 -3 lines
Diff to previous 1.494 (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.494 / (download) - annotate - [select for diffs], Fri Feb 15 15:19:08 2008 UTC (9 years, 7 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.493: +5 -22 lines
Diff to previous 1.493 (colored)

Use xfs_inode_clean() in more places

Remove open coded checks for the whether the inode is
clean and replace them with an inlined function.
Merge of xfs-linux-melb:xfs-kern:30503a by kenmcd.

  Use xfs_inode_clean() rather than open coding the check.

Revision 1.493 / (download) - annotate - [select for diffs], Fri Feb 15 15:18:16 2008 UTC (9 years, 7 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.492: +153 -115 lines
Diff to previous 1.492 (colored)

Remove the xfs_icluster structure

Remove the xfs_icluster structure and replace with a radix tree lookup.

We don't need to keep a list of inodes in each cluster around anymore
as we can look them up quickly when we need to. The only time we need
to do this now is during inode writeback.

Factor the inode cluster writeback code out of xfs_iflush and convert
it to use radix_tree_gang_lookup() instead of walking a list of
inodes built when we first read in the inodes.

This remove 3 pointers from each xfs_inode structure and the xfs_icluster
structure per inode cluster. Hence we reduce the cache footprint of the
xfs_inodes by between 5-10% depending on cluster sparseness.

To be truly efficient we need a radix_tree_gang_lookup_range() call
to stop searching once we are past the end of the cluster instead
of trying to find a full cluster's worth of inodes.

Before (ia64):

$ cat /sys/slab/xfs_inode/object_size
536

After:

$ cat /sys/slab/xfs_inode/object_size
512
Merge of xfs-linux-melb:xfs-kern:30502a by kenmcd.

  remove the cluster structures from the inode cache
  and use the radix trees for lookups instead.

Revision 1.492 / (download) - annotate - [select for diffs], Fri Feb 15 15:17:21 2008 UTC (9 years, 7 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.491: +82 -53 lines
Diff to previous 1.491 (colored)

Don't block pdflush when writing back inodes

When pdflush is writing back inodes, it can get stuck on inode cluster
buffers that are currently under I/O. This occurs when we write data to
multiple inodes in the same inode cluster at the same time.

Effectively, delayed allocation marks the inode dirty during the data
writeback. Hence if the inode cluster was flushed during the writeback
of the first inode, the writeback of the second inode will block waiting
for the inode cluster write to complete before writing it again for the
newly dirtied inode.

Basically, we want to avoid this from happening so we don't block
pdflush and slow down all of writeback. Hence we introduce a
non-blocking async inode flush flag that pdflush uses. If this flag is
set, we use non-blocking operations (e.g. try locks) whereever we can
to avoid blocking or extra I/O being issued.
Merge of xfs-linux-melb:xfs-kern:30501a by kenmcd.

  introduce new non-blocking inode flush options into the writeout
  code. If we specify a non-blocking flush, try as hard as possible
  not to get stuck anywhere and return EAGAIN instead.

Revision 1.491 / (download) - annotate - [select for diffs], Fri Feb 15 15:16:22 2008 UTC (9 years, 7 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.490: +106 -155 lines
Diff to previous 1.490 (colored)

Factor xfs_itobp() and xfs_inotobp().

The only difference between the functions is one passes an
inode for the lookup, the other passes an inode number.
However, they don't do the same validity checking or set
all the same state on the buffer that is returned yet
they should.

Factor the functions into a common implementation.
Merge of xfs-linux-melb:xfs-kern:30500a by kenmcd.

  Factor xfs_itobp() and xfs_inotobp() to use a common
  implementation.

Revision 1.490 / (download) - annotate - [select for diffs], Fri Jan 18 15:05:14 2008 UTC (9 years, 8 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.489: +0 -63 lines
Diff to previous 1.489 (colored)

[PATCH 4/4] use generic_permission

Now that all direct caller of xfs_iaccess are gone we can kill
xfs_iaccess and xfs_access and just use generic_permission with a
check_acl callback.  This is required for the per-mount read-only
patchset in -mm to work properly with XFS.


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

  use generic_permission

Revision 1.489 / (download) - annotate - [select for diffs], Tue Dec 11 03:06:46 2007 UTC (9 years, 10 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.488: +4 -2 lines
Diff to previous 1.488 (colored)

Don't wait for pending I/Os when purging blocks beyond eof.

On last close of a file we purge blocks beyond eof.  The same
code is used when we truncate the file size down.  In this case
we need to wait for any pending I/Os for dirty pages beyond the
new eof.  For the last close case we are not changing the file
size and therefore do not need to wait for any I/Os to complete.
This fixes a performance bottleneck where writes into the page
cache and cache flushes can become mutually exclusive.
Merge of xfs-linux-melb:xfs-kern:30220a by kenmcd.

  Don't wait for pending I/Os when purging blocks beyond eof.

Revision 1.488 / (download) - annotate - [select for diffs], Fri Nov 30 05:10:36 2007 UTC (9 years, 10 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.487: +5 -3 lines
Diff to previous 1.487 (colored)

Remove CFORK macros and use code directly in IFORK and DFORK macros.

Currently XFS_IFORK_* and XFS_DFORK* are implemented by means of
XFS_CFORK* macros.  But given that XFS_IFORK_* operates on an
xfs_inode that embedds and xfs_icdinode_core and XFS_DFORK_* operates
on an xfs_dinode that embedds a xfs_dinode_core one will have to do
endian swapping while the other doesn't.  Instead of having the current
mess with the CFORK macros that have byteswapping and non-byteswapping
version (which are inconsistantly named while we're at it) just define
each family of the macros to stand by itself and simplify the whole
matter.

A few direct references to the CFORK variants were cleaned up to
use IFORK or DFORK to make this possible.

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

  Remove CFORK macros and use code directly in IFORK and DFORK macros.

Revision 1.487 / (download) - annotate - [select for diffs], Tue Nov 20 15:03:52 2007 UTC (9 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.486: +4 -28 lines
Diff to previous 1.486 (colored)

Use kernel-supplied "roundup_pow_of_two" for simplicity

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Merge of xfs-linux-melb:xfs-kern:30098a by kenmcd.

  Use roundup_pow_of_two() instead of hand rolling it.

Revision 1.486 / (download) - annotate - [select for diffs], Mon Nov 5 15:04:07 2007 UTC (9 years, 11 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.485: +4 -1 lines
Diff to previous 1.485 (colored)

optimize XFS_IS_REALTIME_INODE w/o realtime config

Use XFS_IS_REALTIME_INODE in more places, and #define it to
0 if CONFIG_XFS_RT is off.  This should be safe because mount
checks in xfs_rtmount_init:

# define xfs_rtmount_init(m)    (((mp)->m_sb.sb_rblocks == 0)? 0 : (ENOSYS))

so if we get mounted w/o CONFIG_XFS_RT, no realtime inodes should
be encountered after that.

Defining XFS_IS_REALTIME_INODE to 0 saves a bit of stack space,
presumeably gcc can optimize around the various "if (0)" type
checks:

xfs_alloc_file_space    -8
xfs_bmap_adjacent       -16
xfs_bmapi               -8
xfs_bmap_rtalloc        -16
xfs_bunmapi             -28
xfs_free_file_space     -64
xfs_imap                +8  <-- ?  hmm.
xfs_iomap_write_direct  -12
xfs_qm_dqusage_adjust   -4
xfs_qm_vop_chown_reserve -4

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

  Use XFS_IS_REALTIME_INODE() rather than open coding the check.

Revision 1.485 / (download) - annotate - [select for diffs], Fri Nov 2 05:12:07 2007 UTC (9 years, 11 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.484: +1 -33 lines
Diff to previous 1.484 (colored)

Fix inode allocation latency

The log force added in xfs_iget_core() has been a performance
issue since it was introduced for tight loops that allocate
then unlink a single file. under heavy writeback, this can
introduce unnecessary latency due tothe log I/o getting
stuck behind bulk data writes.

Fix this latency problem by avoinding the need for the log
force by moving the place we mark linux inode dirty to the
transaction commit rather than on transaction completion.

This also closes a potential hole in the sync code where a
linux inode is not dirty between the time it is modified and
the time the log buffer has been written to disk.
Merge of xfs-linux-melb:xfs-kern:30007a by kenmcd.

  Remove the need to mark the linux inode dirty in xfs_iunpin by marking
  it dirty during transaction commit.

Revision 1.484 / (download) - annotate - [select for diffs], Fri Oct 19 04:06:50 2007 UTC (9 years, 11 months ago) by vapo.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.483: +25 -18 lines
Diff to previous 1.483 (colored)

Make xfs_bulkstat() to report unlinked but referenced inodes

We need xfs_bulkstat() to report inode stat for inodes with
link count zero but reference count non zero.

The fix here:

http://oss.sgi.com/archives/xfs/2007-09/msg00266.html

changed this behavior and made xfs_bulkstat() to filter all
unlinked inodes including those that are not destroyed yet but
held by reference.

The attached patch returns back to the original behavior by
marking the on-disk inode buffer "dirty" when di_mode is cleared
(at that time both inode link and reference counter are zero).
Merge of xfs-linux-melb:xfs-kern:29914a by kenmcd.

  pv 972004, rv dgc - Make xfs_bulkstat() to report unlinked but referenced inodes

Revision 1.483 / (download) - annotate - [select for diffs], Tue Sep 25 04:01:22 2007 UTC (10 years ago) by vapo.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.482: +20 -6 lines
Diff to previous 1.482 (colored)

get_bulkall() could return incorrect inode state

In the following scenario xfs_bulkstat() returns incorrect
stale inode state:

1. File_A is created and its inode synced to disk.
2. File_A is unlinked and doesn't exist anymore.
3. Filesystem sync is invoked.
4. File_B is created. File_B happens to reclaim File_A's inode.
5. xfs_bulkstat() is called and detects File_B but reports the
 incorrect File_A inode state.

Explanation for the incorrect inode state is that inodes are not immediately
synced on file create for performance reasons. This leaves the on-disk inode
buffer uninitialized (or with old state from a previous generation inode)
and this is what xfs_bulkstat() would report.

The patch marks the on-disk inode buffer "dirty" on unlink. When the inode
is reclaimed (by a new file create), xfs_bulkstat() would filter this inode
by the "dirty" mark. Once the inode is flushed to disk, the on-disk buffer
"dirty" mark is automatically removed and a following xfs_bulkstat() would
return the correct inode state.

Marking the on-disk inode buffer "dirty" on unlink is achieved by setting the
on-disk di_nlink field to 0. Note that the in-core di_nlink has already been
set to 0 and a corresponding transaction logged by xfs_droplink().
This is an exception from the rule that any on-disk inode buffer changes
has to be followed by a disk write (inode flush).
Synchronizing the in-core to on-disk di_nlink values in advance (before the
actual inode flush to disk) should be fine in this case because the inode
is already unlinked and it would never change its di_nlink again for this
inode generation.
Merge of xfs-linux-melb:xfs-kern:29757a by kenmcd.

  pv 970842 - get_bulkall() could return incorrect inode stat

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

kill xfs_iocore_t

xfs_iocore_t is a structure embedded in xfs_inode.  Except for one
field it just duplicates fields already in xfs_inode, and there is
nothing this abstraction buys us on XFS/Linux.  This patch removes
it and shrinks source and binary size of xfs aswell as shrinking
the size of xfs_inode by 60/44 bytes in debug/non-debug builds.


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

  kill xfs_iocore_t

Revision 1.481 / (download) - annotate - [select for diffs], Fri Sep 21 04:09:25 2007 UTC (10 years ago) by donaldd.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.480: +9 -13 lines
Diff to previous 1.480 (colored)

Unwrap AIL_LOCK
Merge of xfs-linux-melb:xfs-kern:29739a by kenmcd.

Revision 1.480 / (download) - annotate - [select for diffs], Fri Sep 21 04:08:28 2007 UTC (10 years ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.479: +2 -6 lines
Diff to previous 1.479 (colored)

kill unnessecary ioops indirection

Currently there is an indirection called ioops in the XFS data I/O
path.  Various functions are called by functions pointers, but there
is no coherence in what this is for, and of course for XFS itself
it's entirely unused.  This patch removes it instead and significantly
reduces source and binary size of XFS while making maintaince easier.
Merge of xfs-linux-melb:xfs-kern:29737a by kenmcd.

  kill unnessecary ioops indirection

Revision 1.479 / (download) - annotate - [select for diffs], Tue Sep 11 06:11:49 2007 UTC (10 years, 1 month ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.478: +3 -3 lines
Diff to previous 1.478 (colored)

clean up vnode/inode tracing

Simplify vnode tracing calls by embedding function name & return addr
in the calling macro.

Also do a lot of vnode->inode renaming for consistency, while
we're at it.

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

  clean up vnode/inode tracing

Revision 1.478 / (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.477: +1 -1 lines
Diff to previous 1.477 (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.477 / (download) - annotate - [select for diffs], Fri Aug 24 16:14:38 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.476: +1 -1 lines
Diff to previous 1.476 (colored)

call common xfs vfs-level helpers directly and remove vfs operations

Also remove the now dead behavior code.

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

  remove vfs operations.

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

move v_trace from bhv_vnode to xfs_inode

struct bhv_vnode is on it's way out, so move the trace buffer to the
XFS inode.  Note that this makes the tracing macros rather misnamed,
but this kind of fallout will be fixed up incrementally later on.


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

  move v_trace from bhv_vnode to xfs_inode

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

move v_iocount from bhv_vnode to xfs_inode

struct bhv_vnode is on it's way out, so move the I/O count to the XFS inode.


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

  move v_iocount from bhv_vnode to xfs_inode

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

kill v_vfsp member from struct bhv_vnode

We can easily get at the vfsp through the super_block but it will soon
be gone anyway.


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

  remove v_vfsp from bhv_vnode.

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

call common xfs vnode-level helpers directly and remove vnode operations

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

  remove vnode operations.

Revision 1.472 / (download) - annotate - [select for diffs], Thu Aug 23 16:00:34 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.471: +19 -23 lines
Diff to previous 1.471 (colored)

Radix tree based inode caching

One of the perpetual scaling problems XFS has is indexing
it's incore inodes. We currently uses hashes and the default
hash sizes chosen can only ever be a tradeoff between memory
consumption and the maximum realistic size of the cache.

As a result, anyone who has millions of inodes cached on a
filesystem needs to tunes the size of the cache via the ihashsize
mount option to allow decent scalability with inode cache
operations.

A further problem is the separate inode cluster hash, whose size is
based on the ihashsize but is smaller, and so under certain
conditions (sparse cluster cache population) this can become
a limitation long before the inode hash is causing issues.

The following patchset removes the inode hash and cluster hash
and replaces them with radix trees to avoid the scalability
limitations of the hashes. It also reduces the size of the
inodes by 3 pointers....
Merge of xfs-linux-melb:xfs-kern:29481a by kenmcd.

  Convert xfs inode caches from hashes to radix trees.

Revision 1.471 / (download) - annotate - [select for diffs], Thu Aug 23 15:56:14 2007 UTC (10 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.470: +107 -106 lines
Diff to previous 1.470 (colored)

dinode endianess annotations

Biggest bit is duplicating the dinode structure so we have one annoted
for native endianess and one for disk endianess.  The other significant
change is that xfs_xlate_dinode_core is split into one helper per
direction to allow for proper annotations, everything else is trivial.

As a sidenode splitting out the incore dinode means we can move it into
xfs_inode.h in a later patch and severly improving on the include hell
in xfs.

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

  add endian notations for the dinode.

Revision 1.470 / (download) - annotate - [select for diffs], Thu Aug 2 16:11:00 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.469: +0 -2 lines
Diff to previous 1.469 (colored)

move linux/log2.h header to xfs_linux.h

Generally we try not to directly include linux header files
in core xfs code; xfs_linux.h is the spot for that.

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

  move linux/log2.h header to xfs_linux.h

Revision 1.469 / (download) - annotate - [select for diffs], Thu Aug 2 16:07:02 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.468: +4 -8 lines
Diff to previous 1.468 (colored)

endianess annotations for xfs_bmbt_rec_t

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

  Add endian annotations for xfs_bmbt_rec_t operations.

Revision 1.468 / (download) - annotate - [select for diffs], Thu Aug 2 16:04:40 2007 UTC (10 years, 2 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.467: +28 -43 lines
Diff to previous 1.467 (colored)

split ondisk vs incore versions of xfs_bmbt_rec_t

currently xfs_bmbt_rec_t is used both for ondisk extents as well as
host-endian ones.  This patch adds a new xfs_bmbt_rec_host_t for the
native endian ones and cleans up the fallout. There have been various
endianess issues in the tracing / debug printf code that are fixed
by this patch.

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

  split ondisk vs incore versions of xfs_bmbt_rec_t

Revision 1.467 / (download) - annotate - [select for diffs], Mon Jul 9 15:43:09 2007 UTC (10 years, 3 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.466: +2 -6 lines
Diff to previous 1.466 (colored)

Clean up function name handling in tracing code

Remove the hardcoded "fnames" for tracing, and just embed
them in tracing macros via __FUNCTION__.  Kills a lot of #ifdefs
too.

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

  Use __FUNCTION__ rather than hardcoded fnames for tracing.

Revision 1.466 / (download) - annotate - [select for diffs], Mon Jul 9 06:12:55 2007 UTC (10 years, 3 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.465: +9 -4 lines
Diff to previous 1.465 (colored)

Quota inode has no parent.

Avoid using a special "zero inode" as the parent of the quota inode
as this can confuse the filestreams code into thinking the quota inode
has a parent. We do not want the quota inode to follow filestreams allocation
rules, so pass a NULL as the parent inode and detect this condition
when doing stream associations.
Merge of xfs-linux-melb:xfs-kern:29098a by kenmcd.

  Check for inodes without parents and don't try to associate them
  or inherit from a non-existent parent inode.

Revision 1.465 / (download) - annotate - [select for diffs], Mon Jul 9 06:12:03 2007 UTC (10 years, 3 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.464: +15 -2 lines
Diff to previous 1.464 (colored)

Concurrent Multi-File Data Streams

In media spaces, video is often stored in a frame-per-file format.
When dealing with uncompressed realtime HD video streams in this format,
it is crucial that files do not get fragmented and that multiple files
a placed contiguously on disk.

When multiple streams are being ingested and played out at the same
time, it is critical that the filesystem does not cross the streams
and interleave them together as this creates seek and readahead
cache miss latency and prevents both ingest and playout from meeting
frame rate targets.

This patch set creates a "stream of files" concept into the allocator
to place all the data from a single stream contiguously on disk so
that RAID array readahead can be used effectively. Each additional
stream gets placed in different allocation groups within the
filesystem, thereby ensuring that we don't cross any streams. When
an AG fills up, we select a new AG for the stream that is not in
use.

The core of the functionality is the stream tracking - each inode
that we create in a directory needs to be associated with the
directories' stream. Hence every time we create a file, we look up
the directories' stream object and associate the new file with that
object.

Once we have a stream object for a file, we use the AG that the
stream object point to for allocations. If we can't allocate in that
AG (e.g. it is full) we move the entire stream to another AG. Other
inodes in the same stream are moved to the new AG on their next
allocation (i.e. lazy update).

Stream objects are kept in a cache and hold a reference on the
inode. Hence the inode cannot be reclaimed while there is an
outstanding stream reference. This means that on unlink we need to
remove the stream association and we also need to flush all the
associations on certain events that want to reclaim all unreferenced
inodes (e.g.  filesystem freeze).
Merge of xfs-linux-melb:xfs-kern:29096a by kenmcd.

  Concurrent Multi-File Data Streams feature check in.

Revision 1.464 / (download) - annotate - [select for diffs], Wed Jun 20 06:10:53 2007 UTC (10 years, 3 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.463: +3 -2 lines
Diff to previous 1.463 (colored)

Use is_power_of_2 instead of open coding checks

Signed-off-by: vignesh babu <vignesh.babu@wipro.com>
Merge of xfs-linux-melb:xfs-kern:28950a by kenmcd.

  Use is_power_of_2 instead of open coding checks

Revision 1.463 / (download) - annotate - [select for diffs], Fri Mar 30 04:04:14 2007 UTC (10 years, 6 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.462: +38 -10 lines
Diff to previous 1.462 (colored)

Fix to prevent the notorious 'NULL files' problem after a crash.

The problem that has been addressed is that of synchronising updates of
the file size with writes that extend a file.  Without the fix the update
of a file's size, as a result of a write beyond eof, is independent of
when the cached data is flushed to disk.  Often the file size update would
be written to the filesystem log before the data is flushed to disk.  When
a system crashes between these two events and the filesystem log is
replayed on mount the file's size will be set but since the contents never
made it to disk the file is full of holes.  If some of the cached data was
flushed to disk then it may just be a section of the file at the end that
has holes.

There are existing fixes to help alleviate this problem, particularly in
the case where a file has been truncated, that force cached data to be
flushed to disk when the file is closed.  If the system crashes while the
file(s) are still open then this flushing will never occur.

The fix that we have implemented is to introduce a second file size, called
the in-memory file size, that represents the current file size as viewed by
the user.  The existing file size, called the on-disk file size, is the one
that get's written to the filesystem log and we only update it when it is
safe to do so.  When we write to a file beyond eof we only update the in-
memory file size in the write operation.  Later when the I/O operation, that
flushes the cached data to disk completes, an I/O completion routine will
update the on-disk file size.  The on-disk file size will be updated to the
maximum offset of the I/O or to the value of the in-memory file size if the
I/O includes eof.
Merge of xfs-linux-melb:xfs-kern:28322a by kenmcd.

  Fix to prevent the notorious 'NULL files' problem after a crash.

Revision 1.462 / (download) - annotate - [select for diffs], Sat Mar 10 02:56:10 2007 UTC (10 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.461: +5 -3 lines
Diff to previous 1.461 (colored)

propogate return codes from flush routines

This patch handles error return values in fs_flush_pages and fs_flushinval_pages.
It changes the prototype of fs_flushinval_pages so we can propogate the errors
and handle them at higher layers.  I also modified xfs_itruncate_start so that
it could propogate the error further.
Merge of xfs-linux-melb:xfs-kern:28231a by kenmcd.

  propogate return codes from flush routines

Revision 1.461 / (download) - annotate - [select for diffs], Fri Mar 2 02:59:33 2007 UTC (10 years, 7 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.460: +1 -1 lines
Diff to previous 1.460 (colored)

The last argument "lsn" of xfs_trans_commit() is always called with NULL.

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

  The last argument "lsn" of xfs_trans_commit() is always called with NULL.
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.460 / (download) - annotate - [select for diffs], Wed Feb 7 02:50:13 2007 UTC (10 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.459: +0 -1 lines
Diff to previous 1.459 (colored)

Remove unused header files for MAC and CAP checking functionality.

xfs_mac.h and xfs_cap.h provide definitions and macros that aren't
used anywhere in XFS at all. They are left-overs from "to be implement
at some point in the future" functionality that Irix XFS has. If this
functionality ever goes into Linux, it will be provided at a different
layer, most likely through the security hooks in the kernel so we will
never need this functionality in XFS.

Patch provided by Eric Sandeen (sandeen@sandeen.net).
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Merge of xfs-linux-melb:xfs-kern:28036a by kenmcd.

  Remove unused xfs_cap.h/xfs_mac.h header files.
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.459 / (download) - annotate - [select for diffs], Tue Feb 6 14:35:53 2007 UTC (10 years, 8 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.458: +1 -2 lines
Diff to previous 1.458 (colored)

Remove unused argument to xfs_bmap_finish

The firstblock argument to xfs_bmap_finish is not used by
that function. Remove it and cleanup the code a bit.

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

  Remove unused firstblock argument from xfs_bmap_finish.
  Signed-off-by: Eric Sandeen <sandeen@sandeen.net>

Revision 1.458 / (download) - annotate - [select for diffs], Sat Feb 3 02:54:36 2007 UTC (10 years, 8 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.457: +1 -1 lines
Diff to previous 1.457 (colored)

Fix callers of xfs_iozero() to zero the correct range.

The problem is the two callers of xfs_iozero() are rounding out the range
to be zeroed to the end of a fsb and in some cases this extends past the new
eof.  The call to commit_write() in xfs_iozero() will cause the Linux inode's
file size to be set too high.
Merge of xfs-linux-melb:xfs-kern:28013a by kenmcd.

  Fix callers of xfs_iozero() to zero the correct range.

Revision 1.457 / (download) - annotate - [select for diffs], Fri Dec 22 02:55:09 2006 UTC (10 years, 9 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.456: +18 -4 lines
Diff to previous 1.456 (colored)

Fix inode log item use-after-free on forced shutdown
Merge of xfs-linux-melb:xfs-kern:27805a by kenmcd.

  Remove the inode log item from the AIL list before freeing it
  on shutdown to prevent it from being used after it has been freed.

Revision 1.456 / (download) - annotate - [select for diffs], Thu Nov 30 14:40:05 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.455: +1 -1 lines
Diff to previous 1.455 (colored)

Keep stack usage down for 4k stacks by using noinline.

gcc-4.1 and more recent aggressively inline static functions which
increases XFS stack usage by ~15% in critical paths. Prevent
this from occurring by adding noinline to the STATIC definition.

Also uninline some functions that are too large to be inlined and
were causing problems with CONFIG_FORCED_INLINING=y.

Finally, clean up all the different users of inline, __inline and
__inline__ and put them under one STATIC_INLINE macro. For debug
kernels the STATIC_INLINE macro uninlines those functions.
Merge of xfs-linux-melb:xfs-kern:27585a by kenmcd.

  noinline static function declaration cleanup.

Revision 1.455 / (download) - annotate - [select for diffs], Tue Nov 21 02:50:23 2006 UTC (10 years, 10 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.454: +1 -1 lines
Diff to previous 1.454 (colored)

Stale the correct inode when freeing clusters.
Merge of xfs-linux-melb:xfs-kern:27503a by kenmcd.

  Fix xfs_ifree_cluster to stale the correct inode when
  walking the log items attached to the cluster buffer.

Revision 1.454 / (download) - annotate - [select for diffs], Tue Nov 7 14:40:26 2006 UTC (10 years, 11 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.453: +22 -25 lines
Diff to previous 1.453 (colored)

Prevent a deadlock when xfslogd unpins inodes.

The previous fixes for the use after free in xfs_iunpin left a nasty
log deadlock when xfslogd unpinned the inode and dropped the last
reference to the inode. the ->clear_inode() method can issue
transactions, and if the log was full, the transaction could push on
the log and get stuck trying to push the inode it was currently
unpinning.

To fix this, we provide xfs_iunpin a guarantee that it will always
have a valid xfs_inode <-> linux inode link or a particular flag
will be set on the inode. We then use log forces during lookup to
ensure transactions are completed before we recycle the inode.
This ensures that xfs_iunpin will never use the linux inode after it
is being freed, and any lookup on an inode on the reclaim list will
wait until it is safe to attach a new linux inode to the xfs inode.
Merge of xfs-linux-melb:xfs-kern:27359a by kenmcd.

  Remove the igrab/iput form xfs_iunpin and provide it with a guarantee
  that either the inode will be marked reclaimable or the xfs inode -
  linux inode link will be intact. This fixes a deadlock that calling
  iput() from the xfslogd can trigger while also providing us a
  reliable method for avoiding use-after-free of the linux inode.

Revision 1.453 / (download) - annotate - [select for diffs], Tue Nov 7 14:39:38 2006 UTC (10 years, 11 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.452: +5 -12 lines
Diff to previous 1.452 (colored)

Clean up i_flags and i_flags_lock handling.
Merge of xfs-linux-melb:xfs-kern:27358a by kenmcd.

  Use prepackaged i_flags handling functions.

Revision 1.452 / (download) - annotate - [select for diffs], Thu Sep 14 03:48:58 2006 UTC (11 years, 1 month ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.451: +20 -3 lines
Diff to previous 1.451 (colored)

Really fix use after free in xfs_iunpin.

The previous attempts to fix the linux inode use-after-free in
xfs_iunpin simply made the problem harder to hit. We actually need
complete exclusion between xfs_reclaim and xfs_iunpin, as well as
ensuring that the i_flags are consistent during both of these
functions. Introduce a new spinlock for exclusion and the i_flags,
and fix up xfs_iunpin to use igrab before marking the inode dirty.
Merge of xfs-linux-melb:xfs-kern:26964a by kenmcd.

  Fix xfs_iunpin to prevent use-after-free of the linux inode.

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

Ensure bulkstat from an invalid inode number gets caught always with EINVAL.
Merge of xfs-linux-melb:xfs-kern:26629a by kenmcd.

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

Remove last bulkstat false-positives with debug kernels.
Merge of xfs-linux-melb:xfs-kern:26628a by kenmcd.

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

Rework code snippets slightly to remove remaining recent-gcc warnings.
Merge of xfs-linux-melb:xfs-kern:26364a by kenmcd.

Revision 1.448 / (download) - annotate - [select for diffs], Sat Jun 17 06:08:37 2006 UTC (11 years, 3 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.447: +2 -2 lines
Diff to previous 1.447 (colored)

Kill direct access to ->count in valusema(); all we ever use it for is check
if semaphore is actually locked, which can be trivially done in portable way.
Code gets more reabable, while we are at it...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Merge of xfs-linux-melb:xfs-kern:26274a by kenmcd.

  Kill direct access to ->count in valusema(); all we ever use it for is check
  if semaphore is actually locked, which can be trivially done in portable way.

Revision 1.447 / (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.446: +0 -9 lines
Diff to previous 1.446 (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.446 / (download) - annotate - [select for diffs], Tue May 30 16:00:11 2006 UTC (11 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.445: +12 -10 lines
Diff to previous 1.445 (colored)

Fix up debug code so that bulkstat wont generate thousands of fsstress warnings.
Merge of xfs-linux-melb:xfs-kern:26111a by kenmcd.

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

Remove unused parameter from di2xflags routine.
Merge of xfs-linux-melb:xfs-kern:26110a by kenmcd.

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

Resolve a namespace collision on vnode/vnodeops for FreeBSD porters.
Merge of xfs-linux-melb:xfs-kern:26107a by kenmcd.

Revision 1.443 / (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.442: +2 -2 lines
Diff to previous 1.442 (colored)

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

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

Portability changes: remove prdev, stick to one diagnostic interface.
Merge of xfs-linux-melb:xfs-kern:26103a by kenmcd.

Revision 1.441 / (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.440: +2 -2 lines
Diff to previous 1.440 (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.440 / (download) - annotate - [select for diffs], Fri May 26 03:58:48 2006 UTC (11 years, 4 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.439: +2 -1 lines
Diff to previous 1.439 (colored)

Stop a BUG from occurring in generic_delete_inode by preventing
transaction completion from marking the inode dirty while it is being
cleaned up on it's way out of the system.
Merge of xfs-linux-melb:xfs-kern:26040a by kenmcd.

  Do not mark inode dirty in xfs_iunpin if it is currently being freed.

Revision 1.439 / (download) - annotate - [select for diffs], Fri May 19 06:06:01 2006 UTC (11 years, 4 months ago) by bnaujok.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.438: +5 -0 lines
Diff to previous 1.438 (colored)

Add degframentation exclusion support
Merge of xfs-linux-melb:xfs-kern:25986a by kenmcd.

  Add disk to sysctl conversion for no-defrag flag and do inherited copy
  when creating a new inode

Revision 1.438 / (download) - annotate - [select for diffs], Thu Apr 27 18:42:55 2006 UTC (11 years, 5 months ago) by alkirkco
Branch: MAIN
Changes since 1.437: +1 -1 lines
Diff to previous 1.437 (colored)

Fix size argument in kmem_free().
Fix size argument in kmem_free().

Revision 1.437 / (download) - annotate - [select for diffs], Thu Apr 13 10:13:05 2006 UTC (11 years, 6 months ago) by olaf
Branch: MAIN
Changes since 1.436: +6 -5 lines
Diff to previous 1.436 (colored)

Add parameters to xfs_bmapi() and xfs_bunmapi() to have them
report the range spanned by modifications to the in-core extent
map.  Add XFS_BUNMAPI() and XFS_SWAP_EXTENTS() macros that call
xfs_bunmapi() and xfs_swap_extents() via the ioops vector.
Change all calls that may modify the in-core extent map for the
data fork to go through the ioops vector.  This allows a cache
of extent map data to be kept in sync.
Provide extra parameter for xfs_bmapi().
Replace an invocation of xfs_bmapi() with XFS_BMAPI().

Revision 1.436 / (download) - annotate - [select for diffs], Wed Apr 5 06:07:43 2006 UTC (11 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.435: +20 -7 lines
Diff to previous 1.435 (colored)

Fix an inode use-after-free durin an unpin.
When reclaiming inodes that have been unlinked, we may
need to execute transactions during reclaim. By the time
the transaction has hit the disk, the linux inode and xfs
vnode may already have been freed so we can't reference
them safely. Use the known xfs inode state to determine
if it is safe to reference the vnode and linux inode
during the unpin operation.
Merge of xfs-linux-melb:xfs-kern:25687a by kenmcd.

  Don't try to mark an inode dirty during an unpin
  if it is being reclaimed. If it is being reclaimed,
  the inode may have already been freed.

Revision 1.435 / (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.434: +7 -7 lines
Diff to previous 1.434 (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.434 / (download) - annotate - [select for diffs], Tue Mar 21 14:21:53 2006 UTC (11 years, 6 months ago) by dgc.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.433: +10 -0 lines
Diff to previous 1.433 (colored)

Explain the race closed by the addition of vn_iowait() to the
start of xfs_itruncate_start().
Merge of xfs-linux-melb:xfs-kern:25527a by kenmcd.

  Explain the vn_iowait() call in xfs_itruncate_start().

Revision 1.433 / (download) - annotate - [select for diffs], Mon Mar 20 21:31:13 2006 UTC (11 years, 6 months ago) by yingping
Branch: MAIN
Changes since 1.432: +3 -0 lines
Diff to previous 1.432 (colored)

Fixing the error caused by the conflict between DIO Write's conversion and concurrent truncate operations. Use vn_iowait to wait for the completion of any pending DIOs. Since the truncate requires exclusive IOLOCK, so this blocks any further DIO operations since DIO write also needs exclusive IOBLOCK. This serves as a barrier and prevent any potential starvation.
Add vn_iowait to wait for the completion of any pending DIO write for truncate operation

Revision 1.432 / (download) - annotate - [select for diffs], Mon Mar 20 17:11:22 2006 UTC (11 years, 6 months ago) by yingping
Branch: MAIN
Changes since 1.431: +4 -4 lines
Diff to previous 1.431 (colored)

Fixing KDB's xrwtrc command, also added the current process id into the trace.
Added current process id to xfs_itrunc_trace

Revision 1.431 / (download) - annotate - [select for diffs], Fri Mar 17 14:45:34 2006 UTC (11 years, 6 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.430: +1 -1 lines
Diff to previous 1.430 (colored)

endianess annotations for xfs_attr_shortform_t

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

  endianess annotations for xfs_attr_shortform_t

Revision 1.430 / (download) - annotate - [select for diffs], Fri Mar 17 14:29:39 2006 UTC (11 years, 6 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.429: +14 -14 lines
Diff to previous 1.429 (colored)

Fix an infinite loop issue in bulkstat when a corrupt inode is detected.  Thanks to Roger Willcocks.
Merge of xfs-linux-melb:xfs-kern:25477a by kenmcd.

Revision 1.429 / (download) - annotate - [select for diffs], Fri Mar 17 14:28:04 2006 UTC (11 years, 6 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.428: +2 -2 lines
Diff to previous 1.428 (colored)

Complete transition away from linvfs naming convention, finally.
Merge of xfs-linux-melb:xfs-kern:25474a by kenmcd.

Revision 1.428 / (download) - annotate - [select for diffs], Tue Mar 14 21:49:17 2006 UTC (11 years, 7 months ago) by alkirkco
Branch: MAIN
Changes since 1.427: +71 -2 lines
Diff to previous 1.427 (colored)

There are a few problems with the new xfs_bmap_search_multi_extents()
wrapper function that I introduced in mod xfs-linux:xfs-kern:207393a.
The function was added as a wrapper around xfs_bmap_do_search_extents()
to avoid breaking the top-of-tree CXFS interface.  The idea of the
function was basically to extract the target extent buffer (if muli-
level extent allocation mode), then call xfs_bmap_do_search_extents()
with either a pointer to the first extent in the target buffer or a
pointer to the first extent in the file, depending on which extent
mode was being used.  However, in addition to locating the target
extent record for block bno, xfs_bmap_do_search_extents() also sets
four parameters needed by the caller: *lastx, *eofp, *gotp, *prevp.

Passing only the target extent buffer to xfs_bmap_do_search_extents()
causes *eofp to be set incorrectly if the extent is at the end of the
target list but there are actually more extents in the next er_extbuf.
Likewise, if the extent is the first one in the buffer but NOT the
first in the file, *prevp is incorrectly set to NULL.  Adding the
needed functionality to xfs_bmap_search_multi_extents() to re-set
any incorrectly set fields is redundant and makes the call to
xfs_bmap_do_search_extents() not make much sense when multi-level
extent allocation mode is being used.

This mod basically extracts the two functional components from
xfs_bmap_do_search_extents(), with the intent of obsoleting/removing
xfs_bmap_do_search_extents() after the CXFS mult-level in-core extent
changes are checked in.  The two components are:  1) The binary search
to locate the target extent record, and 2) Setting the four parameters
needed by the caller (*lastx, *eofp, *gotp, *prevp).

Component 1:
I created a new function in xfs_inode.c called xfs_iext_bno_to_ext(),
which executes the binary search to find the target extent record.
xfs_bmap_search_multi_extents() has been modified to call
xfs_iext_bno_to_ext() rather than xfs_bmap_do_search_extents().

Component 2:
The parameter setting functionality has been added to
xfs_bmap_search_multi_extents(), eliminating the need for
xfs_bmap_do_search_extents().

These changes make the removal of xfs_bmap_do_search_extents() trival
once the CXFS changes are in place.  They also allow us to maintain
the current XFS interface, using the new search function introduced
in mod xfs-linux:xfs-kern:207393a.
Add new binary search function, xfs_iext_bno_to_ext(), which finds
and returns a pointer to the target extent record for block bno. 
xfs_iext_bno_to_ext() takes a pointer to an xfs_ifork_t rather than
a pointer to the first xfs_bmbt_rec_t extent record so the target 
extent record can be found in both linear and indirect extent
allocation modes.

Revision 1.427 / (download) - annotate - [select for diffs], Fri Mar 3 00:40:32 2006 UTC (11 years, 7 months ago) by alkirkco
Branch: MAIN
Changes since 1.426: +710 -5 lines
Diff to previous 1.426 (colored)

This mod introduces multi-level in-core file extent functionality,
building upon the new layout introduced in mod xfs-linux:xfs-kern:207390a.

The new multi-level extent allocations are only required for heavily
fragmented files, so the old-style linear extent list is used on files
until the extents reach a pre-determined size of 4k. 4k buffers are
used because this is the system page size on Linux i386 and systems
with larger page sizes don't seem to gain much, if anything, by using
their native page size as the extent buffer size. Also, using 4k extent
buffers everywhere provides a consistent interface for CXFS across
different platforms.

The 4k extent buffers are managed by an indirection array (xfs_ext_irec_t)
which is basically just a pointer array with a bit of extra information
to keep track of the number of extents in each buffer as well as the
extent offset of each buffer.

Major changes include:

- Add multi-level in-core file extent functionality to the xfs_iext_
  subroutines introduced in mod:  xfs-linux:xfs-kern:207390a

- Introduce 13 new subroutines which add functionality for multi-level
  in-core file extents:
        xfs_iext_add_indirect_multi()
        xfs_iext_remove_indirect()
        xfs_iext_realloc_indirect()
        xfs_iext_indirect_to_direct()
        xfs_iext_bno_to_irec()
        xfs_iext_idx_to_irec()
        xfs_iext_irec_init()
        xfs_iext_irec_new()
        xfs_iext_irec_remove()
        xfs_iext_irec_compact()
        xfs_iext_irec_compact_pages()
        xfs_iext_irec_compact_full()
        xfs_iext_irec_update_extoffs()
- Add multi-level in-core extent functionality to xfs_iext_* subroutines
  introduced in mod xfs-linux:xfs-kern:207390a.
- Add 13 new subroutines which add functionality for multi-level in-core
  file extents:
        xfs_iext_add_indirect_multi()
        xfs_iext_remove_indirect()
        xfs_iext_realloc_indirect()
        xfs_iext_indirect_to_direct()
        xfs_iext_bno_to_irec()
        xfs_iext_idx_to_irec()
        xfs_iext_irec_init()
        xfs_iext_irec_new()
        xfs_iext_irec_remove()
        xfs_iext_irec_compact()
        xfs_iext_irec_compact_pages()
        xfs_iext_irec_compact_full()
        xfs_iext_irec_update_extoffs()

Revision 1.426 / (download) - annotate - [select for diffs], Thu Mar 2 23:08:14 2006 UTC (11 years, 7 months ago) by alkirkco
Branch: MAIN
Changes since 1.425: +351 -119 lines
Diff to previous 1.425 (colored)

This mod re-organizes some of the in-core file extent code to prepare
for an upcoming mod which will introduce multi-level in-core extent
allocations. Although the in-core extent management is using a new
code path in this mod, the functionality remains the same.

Major changes include:

- Introduce 10 new subroutines which re-orgainze the existing code but
  do NOT change functionality:
        xfs_iext_get_ext()
        xfs_iext_insert()
        xfs_iext_add()
        xfs_iext_remove()
        xfs_iext_remove_inline()
        xfs_iext_remove_direct()
        xfs_iext_realloc_direct()
        xfs_iext_direct_to_inline()
        xfs_iext_inline_to_direct()
        xfs_iext_destroy()
- Remove 2 subroutines (functionality moved to new subroutines above):
        xfs_iext_realloc() -replaced by xfs_iext_add() and xfs_iext_remove()
        xfs_bmap_insert_exlist() - replaced by xfs_iext_insert()
        xfs_bmap_delete_exlist() - replaced by xfs_iext_remove()
- Replace all hard-coded (indexed) extent assignments with a call to
  xfs_iext_get_ext()
- Replace all extent record pointer arithmetic (ep++, ep--, base + lastx,..)
  with calls to xfs_iext_get_ext()
- Update comments to remove the idea of a single "extent list" and
  introduce "extent record" terminology instead
- Add 10 new subroutines to re-organize the in-core extent management code:
        xfs_iext_get_ext()
        xfs_iext_insert()
        xfs_iext_add()
        xfs_iext_remove()
        xfs_iext_remove_inline()
        xfs_iext_remove_direct()
        xfs_iext_realloc_direct()
        xfs_iext_direct_to_inline()
        xfs_iext_inline_to_direct()
        xfs_iext_destroy()
- Replace indexed extent assignments with calls to xfs_iext_get_ext()
- Replace extent record pointer arithmetic (ep++, ep--, base + lastx,..)
  with calls to xfs_iext_get_ext()
- Modify xfs_validate_extents() parameters so that xfs_iext_get_ext()
  can be called from xfs_validate_extents()
- Update comments to remove the idea of a single "extent list" and
  replace with "extent record" terminology instead

Revision 1.425 / (download) - annotate - [select for diffs], Thu Jan 12 02:43:50 2006 UTC (11 years, 9 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.424: +17 -16 lines
Diff to previous 1.424 (colored)

Merge in trivial changes, sync up headers with userspace equivalents.
Merge of xfs-linux-melb:xfs-kern:24961a by kenmcd.

Revision 1.424 / (download) - annotate - [select for diffs], Wed Dec 7 19:02:48 2005 UTC (11 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.423: +5 -0 lines
Diff to previous 1.423 (colored)

fix, speedup and simplify atime handling

let the VFS handle atime updates and only sync back to the xfs inode when
nessecary

Revision 1.423 / (download) - annotate - [select for diffs], Wed Dec 7 05:08:24 2005 UTC (11 years, 10 months ago) by sandeen
Branch: MAIN
Changes since 1.422: +2 -5 lines
Diff to previous 1.422 (colored)

remove unused vars, args, & unneeded intermediate vars from zeroing code
remove unused vars, args, & unneeded intermediate vars from zeroing code

Revision 1.422 / (download) - annotate - [select for diffs], Fri Nov 11 14:16:20 2005 UTC (11 years, 11 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.421: +14 -2 lines
Diff to previous 1.421 (colored)

Implement the di_extsize allocator hint for non-realtime files as well.  Also provides a mechanism for inheriting this property from the parent directory for new files.
Merge of xfs-linux-melb:xfs-kern:24367a by kenmcd.

Revision 1.421 / (download) - annotate - [select for diffs], Fri Oct 21 18:08:47 2005 UTC (11 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.420: +11 -11 lines
Diff to previous 1.420 (colored)

Endianess annotations for various allocator data structures

Revision 1.420 / (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.419: +12 -26 lines
Diff to previous 1.419 (colored)

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

Revision 1.419 / (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.418: +11 -12 lines
Diff to previous 1.418 (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.418 / (download) - annotate - [select for diffs], Tue Sep 20 15:26:16 2005 UTC (12 years ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.417: +0 -67 lines
Diff to previous 1.417 (colored)

Improve buffered read throughput by removing unnecessary timer calls that showed in ´kernel profiles.
Merge of xfs-linux-melb:xfs-kern:23861a by kenmcd.

Revision 1.417 / (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.416: +3 -2 lines
Diff to previous 1.416 (colored)

Add format checking to cmn_err and icmn_err

Revision 1.416 / (download) - annotate - [select for diffs], Thu Jul 14 17:07:55 2005 UTC (12 years, 3 months ago) by hch
Branch: MAIN
Changes since 1.415: +1 -2 lines
Diff to previous 1.415 (colored)

remove struct vnode::v_type

Revision 1.415 / (download) - annotate - [select for diffs], Fri Jun 3 06:04:22 2005 UTC (12 years, 4 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.414: +15 -9 lines
Diff to previous 1.414 (colored)

Add support for project quota inheritance, a merge of Glens changes.
Merge of xfs-linux-melb:xfs-kern:22806a by kenmcd.

Revision 1.414 / (download) - annotate - [select for diffs], Fri May 27 08:46:04 2005 UTC (12 years, 4 months ago) by hch
Branch: MAIN
Changes since 1.413: +23 -87 lines
Diff to previous 1.413 (colored)

rewrite xfs_iflush_all

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

mark various symbols static

Patch from Adrian Bunk

Revision 1.412 / (download) - annotate - [select for diffs], Wed May 18 09:18:24 2005 UTC (12 years, 4 months ago) by hch
Branch: MAIN
Changes since 1.411: +0 -45 lines
Diff to previous 1.411 (colored)

Remove dead code.

Patch from Adrian Bunk

Revision 1.411 / (download) - annotate - [select for diffs], Fri Apr 1 05:58:23 2005 UTC (12 years, 6 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.410: +1 -1 lines
Diff to previous 1.410 (colored)

Fix up uses of nlink_t incorrectly restricting us to 2^16 links for some platforms.
Merge of xfs-linux-melb:xfs-kern:22032a by kenmcd.

Revision 1.410 / (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.409: +8 -8 lines
Diff to previous 1.409 (colored)

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

Revision 1.409 / (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.408: +41 -40 lines
Diff to previous 1.408 (colored)

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

Revision 1.408 / (download) - annotate - [select for diffs], Tue Dec 14 22:17:29 2004 UTC (12 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.407: +2 -18 lines
Diff to previous 1.407 (colored)

Undoes mod:     xfs-linux:xfs-kern:183616a
Backout the i_generation changes again

Revision 1.407 / (download) - annotate - [select for diffs], Wed Dec 1 16:03:30 2004 UTC (12 years, 10 months ago) by hch
Branch: MAIN
Changes since 1.406: +18 -2 lines
Diff to previous 1.406 (colored)

Avoid inode generation 0, it's used as wildcard by NFSD
make sure we skip inode generation 0 in both xfs_ifree (wraparound) and
xfs_iread (old inodes on disk)

Revision 1.406 / (download) - annotate - [select for diffs], Wed Oct 27 12:06:24 2004 UTC (12 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.405: +2 -1 lines
Diff to previous 1.405 (colored)

handle inode creating race
xfs_iget gained another parameter

Revision 1.405 / (download) - annotate - [select for diffs], Wed Oct 27 11:56:15 2004 UTC (12 years, 11 months ago) by hch
Branch: MAIN
Changes since 1.404: +0 -0 lines
Diff to previous 1.404 (colored)

Handle inode creating race
xfs_iget gained another parameter

Revision 1.404 / (download) - annotate - [select for diffs], Wed Sep 22 07:13:53 2004 UTC (13 years ago) by nathans
Branch: MAIN
Changes since 1.403: +7 -0 lines
Diff to previous 1.403 (colored)

Add nosymlinks inode flag for the security folks, reserve projinherit flag.

Revision 1.403 / (download) - annotate - [select for diffs], Mon Aug 16 06:43:29 2004 UTC (13 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.402: +30 -19 lines
Diff to previous 1.402 (colored)

Add a realtime inheritance bit for directory inodes so new files can be automatically created as realtime files.

Revision 1.402 / (download) - annotate - [select for diffs], Fri Jul 9 04:34:24 2004 UTC (13 years, 3 months ago) by felixb
Branch: MAIN
Changes since 1.401: +102 -0 lines
Diff to previous 1.401 (colored)

Restored xfs_iflush_all, which is still used to finish reclaims.
Restored xfs_iflush_all, which is still used to finish reclaims.

Revision 1.401 / (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.400: +1 -1 lines
Diff to previous 1.400 (colored)

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

Revision 1.400 / (download) - annotate - [select for diffs], Fri Jul 2 17:26:05 2004 UTC (13 years, 3 months ago) by felixb
Branch: MAIN
Changes since 1.399: +0 -102 lines
Diff to previous 1.399 (colored)

Removed xfs_iflush_all and all usages of vn_purge, except one
in clear_inode path.
Removed xfs_iflush_all and all usages of vn_purge, except one
in clear_inode path.

Revision 1.399 / (download) - annotate - [select for diffs], Tue Jun 15 02:10:09 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.398: +0 -6 lines
Diff to previous 1.398 (colored)

Remove unused MAC macros, never needed on Linux (implemented differently).

Revision 1.398 / (download) - annotate - [select for diffs], Fri Jun 4 06:37:31 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.397: +1 -2 lines
Diff to previous 1.397 (colored)

Remove a couple of redundant NULL parent inode pointer checks.

Revision 1.397 / (download) - annotate - [select for diffs], Fri May 21 03:30:22 2004 UTC (13 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.396: +0 -26 lines
Diff to previous 1.396 (colored)

Remove xfs_swappable code, its not useful on Linux.

Revision 1.396 / (download) - annotate - [select for diffs], Mon May 10 06:17:46 2004 UTC (13 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.395: +28 -0 lines
Diff to previous 1.395 (colored)

Make uses of extended inode flags consistent, remove duplicated code.

Revision 1.395 / (download) - annotate - [select for diffs], Tue Mar 30 03:11:23 2004 UTC (13 years, 6 months ago) by tes
Branch: MAIN
Changes since 1.394: +3 -3 lines
Diff to previous 1.394 (colored)

Modify xfs_iaccess() for CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH.
This makes the access checks like the other linux fs's for
CAP_DAC in this area.

Revision 1.394 / (download) - annotate - [select for diffs], Wed Dec 3 05:35:24 2003 UTC (13 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.393: +7 -4 lines
Diff to previous 1.393 (colored)

Use vnode timespec modifiers for atime/mtime/ctime, keeps last code hunk in sync.

Revision 1.393 / (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.392: +3 -2 lines
Diff to previous 1.392 (colored)

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

Revision 1.392 / (download) - annotate - [select for diffs], Mon Oct 27 06:14:00 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.391: +5 -5 lines
Diff to previous 1.391 (colored)

Fix warnings when tracing enabled on 64 bit platforms
Merge of 2.4.x-xfs-kern:slinx:160622a by nathans.

Revision 1.391 / (download) - annotate - [select for diffs], Mon Oct 20 04:21:43 2003 UTC (13 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.390: +20 -34 lines
Diff to previous 1.390 (colored)

Fix build with tracing enabled, couple of portability macros, move externs into headers.

Revision 1.390 / (download) - annotate - [select for diffs], Tue Oct 7 21:21:22 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.389: +35 -35 lines
Diff to previous 1.389 (colored)

switch xfs to use linux imode flags internally

Revision 1.389 / (download) - annotate - [select for diffs], Mon Oct 6 18:11:55 2003 UTC (14 years ago) by lord
Branch: MAIN
CVS Tags: DELETE-570
Changes since 1.388: +186 -4 lines
Diff to previous 1.388 (colored)

Implement deletion of inode clusters in XFS.
Add xfs_ifree_cluster to free up an inode cluster. This has to
synchronize with sync activity and make sure we have cleaned out
the sync path on all the inodes in the cluster before we free
the space.

Revision 1.388 / (download) - annotate - [select for diffs], Fri Sep 19 19:09:21 2003 UTC (14 years ago) by lord
Branch: MAIN
Changes since 1.387: +1 -1 lines
Diff to previous 1.387 (colored)

Make xfs_ichgtime call mark_inode_dirty_sync instead of mark_inode_dirty
makes the just the inode look dirty, and not the inode and the data.
move xfs_ichgtime from mark_inode_dirty to mark_inode_dirty_sync

Revision 1.387 / (download) - annotate - [select for diffs], Wed Sep 17 01:42:20 2003 UTC (14 years ago) by nathans
Branch: MAIN
Changes since 1.386: +12 -4 lines
Diff to previous 1.386 (colored)

Some tweaks to the additional inode flags, suggested by Ethan

Revision 1.386 / (download) - annotate - [select for diffs], Mon Sep 15 05:03:19 2003 UTC (14 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.385: +8 -1 lines
Diff to previous 1.385 (colored)

Undoes mod:     xfs-linux:slinx:158358a
Implement several additional inode flags - immutable, append-only, etc; contributed by Ethan Benson.

Revision 1.385 / (download) - annotate - [select for diffs], Mon Sep 15 03:40:38 2003 UTC (14 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.384: +1 -8 lines
Diff to previous 1.384 (colored)

Undoes mod:     xfs-linux:slinx:158357a
Undo last mod, checked in against wrong bug number with wrong change message.

Revision 1.384 / (download) - annotate - [select for diffs], Mon Sep 15 03:13:46 2003 UTC (14 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.383: +8 -1 lines
Diff to previous 1.383 (colored)

Separate the big filesystems macro out into separate big inums and blknos macros.  Also fix the check for too-large filesystems in the process.

Revision 1.383 / (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.382: +3 -3 lines
Diff to previous 1.382 (colored)

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

Revision 1.382 / (download) - annotate - [select for diffs], Wed Aug 6 21:17:05 2003 UTC (14 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.381: +14 -0 lines
Diff to previous 1.381 (colored)

Add versioning to the on disk inode which we increment on each
flush call. This is used during recovery to avoid replaying an
older copy of the inode from the log. We can do this without
versioning the filesystem as the pad space we borrowed was
always zero and will be ignored by old kernels.
when flushing an inode out to disk, bump di_flushiter, if it hits
the maximum value, reset it to zero. When pulling in an inode
from disk, always propogate di_flushiter to the in memory copy.

Revision 1.381 / (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.380: +1 -1 lines
Diff to previous 1.380 (colored)

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

Revision 1.380 / (download) - annotate - [select for diffs], Thu Jul 10 01:54:38 2003 UTC (14 years, 3 months ago) by nathans
Branch: MAIN
Changes since 1.379: +4 -4 lines
Diff to previous 1.379 (colored)

Correct the maxbytes sb value for non-pagesize filesystem block sizes, and all uses of max file size constant within XFS

Revision 1.379 / (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.378: +3660 -0 lines
Diff to previous 1.378 (colored)

The Big Move
linux/fs/xfs/xfs_inode.c 1.377 Renamed to xfs_inode.c

Revision 1.378 / (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.377: +0 -3660 lines
Diff to previous 1.377 (colored)

Nuke

Revision 1.377 / (download) - annotate - [select for diffs], Fri Jun 13 02:46:25 2003 UTC (14 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.376: +2 -1 lines
Diff to previous 1.376 (colored)

Fix deadlock caused by race between xfs_iunpin marking an inode
dirty, and the same inode being reallocated and reused by create.
The unlock_new_inode and mark_inode_dirty manage to corrupt the
i_state flags and end up leaving I_LOCK|I_NEW set.
do not call mark_inode_dirty in xfs_iunpin when I_NEW is set,
it is in the process of going into a transaction which will
also mark it dirty. 

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

make doing an iread from a bad location less chatty by default
as some code paths can actually do this and handle the result.
turn down the logging level on xfs_iread failures

Revision 1.375 / (download) - annotate - [select for diffs], Thu May 22 01:07:13 2003 UTC (14 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.374: +0 -2 lines
Diff to previous 1.374 (colored)

Undoes mod:     2.4.x-xfs:slinx:148598a
Undo warning-fix mod, this was a missing mod in 2.5, not something needed in 2.4.

Revision 1.374 / (download) - annotate - [select for diffs], Mon May 19 14:16:45 2003 UTC (14 years, 4 months ago) by overby
Branch: MAIN
CVS Tags: XFS-1_3_0pre1
Changes since 1.373: +1 -3 lines
Diff to previous 1.373 (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.

  remove #ifdef DEBUG around chl_buf assignment

Revision 1.373 / (download) - annotate - [select for diffs], Mon May 12 08:55:06 2003 UTC (14 years, 5 months ago) by hch
Branch: MAIN
Changes since 1.372: +2 -0 lines
Diff to previous 1.372 (colored)

Fix compile warning on my iBook

Revision 1.372 / (download) - annotate - [select for diffs], Thu May 1 21:05:53 2003 UTC (14 years, 5 months ago) by lord
Branch: MAIN
Changes since 1.371: +13 -0 lines
Diff to previous 1.371 (colored)

Rework of how xfs syncs metadata to disk. This has a number of
benefits: We no longer walk the list of all the inodes in the
filesystem everytime the write_super is called. If you type
sync and then reset the box then everything is definitely
recovered afterwards. We remove a lot of calls to
mark_inode_dirty which did not really do us any good, and
replace them with a single one which does. kupdated does
less work in xfs now, freeing it to do other things.
Finally, get the dummy log record code working, this
means that after a period of inactivity with everything
on disk, we clean the log so that recovery does not
have any work to do.
when an inode gets unpinned, mark it dirty so write_inode will
be called.

Revision 1.371 / (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.370: +35 -2 lines
Diff to previous 1.370 (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.370 / (download) - annotate - [select for diffs], Wed Apr 16 23:16:23 2003 UTC (14 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.369: +57 -56 lines
Diff to previous 1.369 (colored)

Fix build for big endian platforms; make xfs_xlate_dinode_core consistent.

Revision 1.369 / (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.368: +83 -83 lines
Diff to previous 1.368 (colored)

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

Revision 1.368 / (download) - annotate - [select for diffs], Fri Apr 4 02:33:55 2003 UTC (14 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.367: +6 -14 lines
Diff to previous 1.367 (colored)

Fix some remaining unaligned access issues on 64 bit platforms.

Revision 1.367 / (download) - annotate - [select for diffs], Thu Apr 3 21:58:28 2003 UTC (14 years, 6 months ago) by sandeen
Branch: MAIN
Changes since 1.366: +4 -4 lines
Diff to previous 1.366 (colored)

kernel / libxfs sync-up
Implement get_unaligned / put_unaligned in libxfs
Change typecasts to a type available in kernel & userspace
Change typecast to something we can use outside the kernel

Revision 1.366 / (download) - annotate - [select for diffs], Wed Mar 26 20:52:11 2003 UTC (14 years, 6 months ago) by hch
Branch: MAIN
Changes since 1.365: +0 -25 lines
Diff to previous 1.365 (colored)

remove busy inode check in the umount path - Linux checked it for us before calling into the filesystem.  We're beyond the point of no return for umount anyway

Revision 1.365 / (download) - annotate - [select for diffs], Wed Mar 12 03:33:01 2003 UTC (14 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.364: +1 -20 lines
Diff to previous 1.364 (colored)

Next step in bhv code cleanup - this is a start on moving quota and dmapi
into behavior layers, purging several points where these sit slap bang in
the middle of XFS code (esp. read_super).  Also removes numerous #ifdef's
and a bunch of unused #define's from all over the place.  More to come.

Revision 1.364 / (download) - annotate - [select for diffs], Wed Mar 12 01:05:21 2003 UTC (14 years, 7 months ago) by sandeen
Branch: MAIN
Changes since 1.363: +9 -4 lines
Diff to previous 1.363 (colored)

use get/put_unaligned() to avoid unaligned accesses in
the extents code on 64-bit machines

Revision 1.363 / (download) - annotate - [select for diffs], Wed Mar 5 14:26:06 2003 UTC (14 years, 7 months ago) by hch
Branch: MAIN
Changes since 1.362: +1 -1 lines
Diff to previous 1.362 (colored)

Spelling fixes from 2.5.64

Revision 1.362 / (download) - annotate - [select for diffs], Tue Mar 4 20:15:43 2003 UTC (14 years, 7 months ago) by overby
Branch: MAIN
Changes since 1.361: +66 -36 lines
Diff to previous 1.361 (colored)

Add error reporting calls in error paths that return EFSCORRUPTED
Merge of irix6.5f:irix:136445a by sandeen.

  Merge of grove2-6520stage:irix:136445a by roehrich.
  Merge of grove2:irix:136445a by roehrich.
  Add error reporting calls in error paths that return EFSCORRUPTED

Revision 1.361 / (download) - annotate - [select for diffs], Wed Dec 18 05:02:23 2002 UTC (14 years, 9 months ago) by sandeen
Branch: MAIN
Changes since 1.360: +1 -1 lines
Diff to previous 1.360 (colored)

Change some %x formats to %p for pointers

Revision 1.360 / (download) - annotate - [select for diffs], Mon Dec 2 05:53:26 2002 UTC (14 years, 10 months ago) by nathans
Branch: MAIN
Changes since 1.359: +5 -5 lines
Diff to previous 1.359 (colored)

Sector size updates - macros for calculating address/size of sector-sized
data structures (sb,agf,agi,agfl) are now sector size aware.  Cleaned up
the early mount code dealing with log devices and logsectsize.
Macros for calculating address/size of sector-sized data structures     
(sb,agf,agi,agfl) are now sector size aware.

Revision 1.359 / (download) - annotate - [select for diffs], Thu Oct 31 15:59:08 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.358: +0 -1 lines
Diff to previous 1.358 (colored)

remove VPURGE

Revision 1.358 / (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.357: +13 -13 lines
Diff to previous 1.357 (colored)

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

Revision 1.357 / (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.356: +13 -13 lines
Diff to previous 1.356 (colored)

Replace STATIC with static in xfs code

Revision 1.356 / (download) - annotate - [select for diffs], Wed Oct 16 14:52:30 2002 UTC (14 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.355: +4 -1 lines
Diff to previous 1.355 (colored)

fix xfs build on big endian architectures and cleanup
a couple of build warnings.
fix unused var warning on big endian arch

Revision 1.355 / (download) - annotate - [select for diffs], Mon Oct 14 16:58:53 2002 UTC (15 years ago) by hch
Branch: MAIN
Changes since 1.354: +1 -1 lines
Diff to previous 1.354 (colored)

Revert VMAP() to the old IRIX prototype.  Vnode and Linux inode are closely
tied together nowdays so that we don't have to pass in the Linux inode
separately.
Adjust for new old VMAP() calling convention.

Revision 1.354 / (download) - annotate - [select for diffs], Thu Oct 10 19:09:44 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.353: +34 -32 lines
Diff to previous 1.353 (colored)

Switch xfs from using a big endian internal representation for
the in memory copy of extents to a host byte order representation.
The internal extents are read in once, then modified seperately
from the on disk ones. Since we search and manipulate the extents
multiple times, it is cheaper to convert them to host byte order
once and then keep them in that format. Worth about 5 to 10%
reduction in cpu time for some loads. Complicated by the fact
that the in memory extents are written out to the log sometimes,
and when expanding extents are used to write out the initial
block of extents.
in xfs_iformat_extents and xfs_iextents_copy, do endian conversion

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

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

Revision 1.352 / (download) - annotate - [select for diffs], Tue Oct 8 00:08:03 2002 UTC (15 years ago) by nathans
Branch: MAIN
Changes since 1.351: +6 -7 lines
Diff to previous 1.351 (colored)

Symlinks are created by default with mode 777 now, old behavior is still
accessible through sysctl through.  irixsgid mount option deprecated and
it too is still accessible through sysctl.
Deprecate the irixsgid mount option.

Revision 1.351 / (download) - annotate - [select for diffs], Mon Oct 7 19:21:29 2002 UTC (15 years ago) by hch
Branch: MAIN
Changes since 1.350: +1 -1 lines
Diff to previous 1.350 (colored)

Remove struct pm entirely - it was never defined in the Linux port.
Remove struct pm argument from several functions.

Revision 1.350 / (download) - annotate - [select for diffs], Wed Oct 2 17:25:30 2002 UTC (15 years ago) by lord
Branch: MAIN
Changes since 1.349: +6 -5 lines
Diff to previous 1.349 (colored)

This is a two fold change, first it moves the translation
between linux dev_t and kdev_t up the call stack in xfs
and makes the bulk of xfs work in terms of its on disk
dev_t format. It also cleans up a few related chunks of
code.

The other part of the change reworks how we keep the linux
inode contents and the xfs inode fields in sync. A number
of places where we resynced the two have been removed, these
were basically replicating work elsewhere in the filesystem.
We now also ensure that the inode fields are filled in
before calling unlock_new_inode - there used to be a window.
Finally all the code which hooks together the linux inode
and the xfs inode is brought together as a more coherent
whole rather than being scattered around the inode create
path. Most calls to revalidate the linux inode from the
xfs inode are removed.
Change to an xfs format dev_t at this level, call the new
VFS_INIT_INODE() function rather than just the set inode
ops call.

Revision 1.349 / (download) - annotate - [select for diffs], Wed Sep 4 19:01:30 2002 UTC (15 years, 1 month ago) by sandeen
Branch: MAIN
Changes since 1.348: +1 -10 lines
Diff to previous 1.348 (colored)

use wait_event in xfs_iunpin_wait

Revision 1.348 / (download) - annotate - [select for diffs], Sun Sep 1 12:43:34 2002 UTC (15 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.347: +1 -1 lines
Diff to previous 1.347 (colored)

pass flush mode into xfs_finish_reclaim instead of a flag

Revision 1.347 / (download) - annotate - [select for diffs], Tue Aug 20 19:30:07 2002 UTC (15 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.346: +1 -1 lines
Diff to previous 1.346 (colored)

when reallocating extent memory, do not call back into the
filesystem, there is a deadlock down this path since we generally
hold the ilock at this point. Use the new KM_NOFS flag.

Revision 1.346 / (download) - annotate - [select for diffs], Fri Aug 9 14:23:41 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.345: +1 -5 lines
Diff to previous 1.345 (colored)

clean up vnode flags

Revision 1.345 / (download) - annotate - [select for diffs], Wed Jul 31 21:19:39 2002 UTC (15 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.344: +3 -3 lines
Diff to previous 1.344 (colored)

move from xfs_zone back to kmem_zone

Revision 1.344 / (download) - annotate - [select for diffs], Tue Jul 23 16:35:37 2002 UTC (15 years, 2 months ago) by sandeen
Branch: MAIN
Changes since 1.343: +1 -3 lines
Diff to previous 1.343 (colored)

remove unused xfs_bmapi vars

Revision 1.343 / (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.342: +175 -175 lines
Diff to previous 1.342 (colored)

whitespace cleanup

Revision 1.342 / (download) - annotate - [select for diffs], Fri Jun 28 17:44:54 2002 UTC (15 years, 3 months ago) by sandeen
Branch: MAIN
Changes since 1.341: +17 -6 lines
Diff to previous 1.341 (colored)

Don't let CAP_DAC_OVERRIDE override if no execute bits are set
other minor cleanup in xfs_iaccess()

Revision 1.341 / (download) - annotate - [select for diffs], Thu Jun 20 19:24:14 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.340: +8 -2 lines
Diff to previous 1.340 (colored)

use linux version of WRITEALLOWED check here

Revision 1.340 / (download) - annotate - [select for diffs], Tue Jun 18 14:45:50 2002 UTC (15 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.339: +1 -60 lines
Diff to previous 1.339 (colored)

remove xfs_get_inode - not called

Revision 1.339 / (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.338: +1 -1 lines
Diff to previous 1.338 (colored)

Update copyright dates

Revision 1.338 / (download) - annotate - [select for diffs], Tue May 28 22:30:45 2002 UTC (15 years, 4 months ago) by sandeen
Branch: MAIN
Changes since 1.337: +0 -10 lines
Diff to previous 1.337 (colored)

Don't set VENF_LOCKING, nobody ever checks it.

Revision 1.337 / (download) - annotate - [select for diffs], Fri May 17 00:18:15 2002 UTC (15 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.336: +2 -2 lines
Diff to previous 1.336 (colored)

fix some warnings generated during ia64/debug builds.

Revision 1.336 / (download) - annotate - [select for diffs], Thu May 2 17:13:43 2002 UTC (15 years, 5 months ago) by sandeen
Branch: MAIN
Changes since 1.335: +3 -0 lines
Diff to previous 1.335 (colored)

Set linux inode ops in xfs_ialloc for new inodes

Revision 1.335 / (download) - annotate - [select for diffs], Fri Apr 19 18:22:52 2002 UTC (15 years, 5 months ago) by sandeen
Branch: MAIN
Changes since 1.334: +3 -2 lines
Diff to previous 1.334 (colored)

Do not clear the SGID bit on subdirs created by processes
not in the parent dir's group, unless the irixsgid mount
option is used

Revision 1.334 / (download) - annotate - [select for diffs], Fri Apr 5 05:54:31 2002 UTC (15 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.333: +9 -10 lines
Diff to previous 1.333 (colored)

fix some compiler warnings with DEBUG enabled.

Revision 1.333 / (download) - annotate - [select for diffs], Wed Apr 3 20:18:24 2002 UTC (15 years, 6 months ago) by sandeen
Branch: MAIN
Changes since 1.332: +2 -2 lines
Diff to previous 1.332 (colored)

Remove double endian flipping

Revision 1.332 / (download) - annotate - [select for diffs], Mon Apr 1 22:46:06 2002 UTC (15 years, 6 months ago) by sandeen
Branch: MAIN
Changes since 1.331: +2 -2 lines
Diff to previous 1.331 (colored)

Optimize endian flipping code when setting to or testing for zero
Use INT_ZERO and INT_ISZERO instead of INT_SET and INT_GET

Revision 1.331 / (download) - annotate - [select for diffs], Fri Mar 29 16:44:05 2002 UTC (15 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.330: +1 -1 lines
Diff to previous 1.330 (colored)

comment cleanup

Revision 1.330 / (download) - annotate - [select for diffs], Wed Mar 27 13:11:14 2002 UTC (15 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.329: +0 -11 lines
Diff to previous 1.329 (colored)

move xfs_ipincount into header file as a #define

Revision 1.329 / (download) - annotate - [select for diffs], Tue Mar 26 16:19:25 2002 UTC (15 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.328: +17 -40 lines
Diff to previous 1.328 (colored)

i_dev replaced with i_mount->m_dev, remove assert references to
io_queued_bufs and use lighter weight implementation for inode
pinning.

Revision 1.328 / (download) - annotate - [select for diffs], Fri Mar 8 16:44:34 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.327: +1 -1 lines
Diff to previous 1.327 (colored)

Fix sgid bit inheritence for root

Revision 1.327 / (download) - annotate - [select for diffs], Tue Feb 26 00:33:20 2002 UTC (15 years, 7 months ago) by nathans
Branch: MAIN
Changes since 1.326: +1 -1 lines
Diff to previous 1.326 (colored)

Merge of 2.4.18-xfs:slinx:112528b by nathans.

  remove several no-longer-used fields (iosize) from the xfs_iocore_t.

Revision 1.326 / (download) - annotate - [select for diffs], Fri Feb 15 20:47:53 2002 UTC (15 years, 7 months ago) by lord
Branch: MAIN
Changes since 1.325: +0 -2 lines
Diff to previous 1.325 (colored)

Remove setting of synchronous transactions where they can be replaced
by using the busy list.


Revision 1.325 / (download) - annotate - [select for diffs], Tue Feb 5 21:52:14 2002 UTC (15 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.324: +26 -37 lines
Diff to previous 1.324 (colored)

remove KM_SLEEP_IO flag

Revision 1.324 / (download) - annotate - [select for diffs], Thu Jan 31 11:43:06 2002 UTC (15 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.323: +1 -1 lines
Diff to previous 1.323 (colored)

Merge of 2.5.x-xfs:slinx:110319a by lord.

  vnode/inode layout and allocation changed

Revision 1.323 / (download) - annotate - [select for diffs], Fri Jan 11 23:43:26 2002 UTC (15 years, 9 months ago) by sandeen
Branch: MAIN
Changes since 1.322: +27 -0 lines
Diff to previous 1.322 (colored)

Merge irix6.5f:irix:106406b
Add detailed messages to error cases that will likely result in the
shutdown of the filesystem.  Debug builds only.
Fix for bug 805830.

Revision 1.322 / (download) - annotate - [select for diffs], Wed Oct 17 00:01:56 2001 UTC (15 years, 11 months ago) by nathans
Branch: MAIN
Changes since 1.321: +31 -17 lines
Diff to previous 1.321 (colored)

fix benign warnings in print statements for 64 bit platforms.

Revision 1.321 / (download) - annotate - [select for diffs], Wed Jul 11 20:00:39 2001 UTC (16 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.320: +2 -1 lines
Diff to previous 1.320 (colored)

Add inode size to zero_eof call

Revision 1.320 / (download) - annotate - [select for diffs], Fri Jun 8 20:55:16 2001 UTC (16 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.319: +1 -1 lines
Diff to previous 1.319 (colored)

Make the mode used on flushing of freed inode controllable - on unmount
we do not want to be delayed write as we can end up waiting for a buffer
for several seconds. From xfs_iflush_all use the new parameter to indicate
we should do async writes not delayed ones.

Revision 1.319 / (download) - annotate - [select for diffs], Mon May 14 15:39:44 2001 UTC (16 years, 5 months ago) by sandeen
Branch: MAIN
CVS Tags: Linux-2_4_5-merge
Changes since 1.318: +28 -0 lines
Diff to previous 1.318 (colored)

Add instrumentation for error conditions.
(Irix6.5f:irix:93790c, PV818277)

Revision 1.318 / (download) - annotate - [select for diffs], Thu Apr 19 02:37:23 2001 UTC (16 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.317: +8 -8 lines
Diff to previous 1.317 (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.317 / (download) - annotate - [select for diffs], Tue Apr 17 01:11:30 2001 UTC (16 years, 5 months ago) by nathans
Branch: MAIN
Changes since 1.316: +1 -12 lines
Diff to previous 1.316 (colored)

abstract group inheritance test into a sharable macro.

Revision 1.316 / (download) - annotate - [select for diffs], Mon Apr 16 22:49:09 2001 UTC (16 years, 5 months ago) by lord
Branch: MAIN
CVS Tags: Release-1_0_0
Changes since 1.315: +37 -27 lines
Diff to previous 1.315 (colored)

Add new memory flag to indicate IO during allocation is OK

Revision 1.315 / (download) - annotate - [select for diffs], Wed Apr 11 16:27:03 2001 UTC (16 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.314: +24 -83 lines
Diff to previous 1.314 (colored)

Kill gratuitous prototypes

Revision 1.314 / (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.313: +3 -5 lines
Diff to previous 1.313 (colored)

Get rid of the last compiler warning OFF flags

Revision 1.313 / (download) - annotate - [select for diffs], Tue Apr 10 14:03:50 2001 UTC (16 years, 6 months ago) by lord
Branch: MAIN
Changes since 1.312: +6 -4 lines
Diff to previous 1.312 (colored)

Always update linux inode timestamps when updating xfs internal
timestamps, this is needed for nfs server support.

Revision 1.312 / (download) - annotate - [select for diffs], Tue Apr 3 02:52:38 2001 UTC (16 years, 6 months ago) by nathans
Branch: MAIN
Changes since 1.311: +2 -2 lines
Diff to previous 1.311 (colored)

support group quotas in Linux/XFS.

Revision 1.311 / (download) - annotate - [select for diffs], Tue Jan 23 07:11:51 2001 UTC (16 years, 8 months ago) by tes
Branch: MAIN
CVS Tags: PreRelease-0_10
Changes since 1.310: +1 -3 lines
Diff to previous 1.310 (colored)

ACL config cleanup

Revision 1.310 / (download) - annotate - [select for diffs], Fri Jan 19 06:50:04 2001 UTC (16 years, 8 months ago) by tes
Branch: MAIN
Changes since 1.309: +3 -1 lines
Diff to previous 1.309 (colored)

Make ACLs compile configurable

Revision 1.309 / (download) - annotate - [select for diffs], Mon Jan 15 10:28:46 2001 UTC (16 years, 9 months ago) by tes
Branch: MAIN
Changes since 1.308: +7 -6 lines
Diff to previous 1.308 (colored)

Add XFS/ACL support

Revision 1.308 / (download) - annotate - [select for diffs], Wed Dec 13 06:02:07 2000 UTC (16 years, 10 months ago) by ivanr
Branch: MAIN
Changes since 1.307: +2 -2 lines
Diff to previous 1.307 (colored)

add parameter to VOP_TOSS_PAGES VOP_FLUSH_PAGES and VOP_FLUSHINVAL_PAGES for irix compatibility

Revision 1.307 / (download) - annotate - [select for diffs], Thu Nov 16 00:17:05 2000 UTC (16 years, 10 months ago) by dxm
Branch: MAIN
Changes since 1.306: +12 -12 lines
Diff to previous 1.306 (colored)

drop XFS_kmem_realloc alias

Revision 1.306 / (download) - annotate - [select for diffs], Wed Oct 4 02:59:56 2000 UTC (17 years ago) by dxm
Branch: MAIN
Changes since 1.305: +0 -6 lines
Diff to previous 1.305 (colored)

pv 797165 remove inactive code

Revision 1.305 / (download) - annotate - [select for diffs], Thu Sep 28 04:14:43 2000 UTC (17 years ago) by nathans
Branch: MAIN
Changes since 1.304: +0 -1 lines
Diff to previous 1.304 (colored)

remove explicit externs - get these from headers.

Revision 1.304 / (download) - annotate - [select for diffs], Tue Sep 26 02:03:57 2000 UTC (17 years ago) by dxm
Branch: MAIN
Changes since 1.303: +26 -26 lines
Diff to previous 1.303 (colored)

pv 801066

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

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

Revision 1.302 / (download) - annotate - [select for diffs], Thu Sep 14 01:07:30 2000 UTC (17 years, 1 month ago) by nathans
Branch: MAIN
Changes since 1.301: +2 -3 lines
Diff to previous 1.301 (colored)

pass the right number of arguments into xfs_zero_eof().

Revision 1.301 / (download) - annotate - [select for diffs], Mon Aug 21 00:28:02 2000 UTC (17 years, 1 month ago) by dxm
Branch: MAIN
Changes since 1.300: +4 -3 lines
Diff to previous 1.300 (colored)

add diag

Revision 1.300 / (download) - annotate - [select for diffs], Fri Aug 18 19:27:11 2000 UTC (17 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.299: +2 -5 lines
Diff to previous 1.299 (colored)

Remove references to vp->v_rdev and VN_DIRTY, they are gone

Revision 1.299 / (download) - annotate - [select for diffs], Wed Aug 2 17:58:46 2000 UTC (17 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.298: +1 -41 lines
Diff to previous 1.298 (colored)

Do not ask for a mapped buffer when reading an inode buffer in. Also
remove some debug code which would not work with unmapped buffers.

Revision 1.298 / (download) - annotate - [select for diffs], Wed Jul 26 16:03:54 2000 UTC (17 years, 2 months ago) by jtk
Branch: MAIN
Changes since 1.297: +2 -2 lines
Diff to previous 1.297 (colored)

Endian fixes for the "attributes" fork.

Revision 1.297 / (download) - annotate - [select for diffs], Wed Jul 26 05:23:11 2000 UTC (17 years, 2 months ago) by dxm
Branch: MAIN
Changes since 1.296: +2 -2 lines
Diff to previous 1.296 (colored)

pv 797297 tidy handling of IRIX device numbers

Revision 1.296 / (download) - annotate - [select for diffs], Mon Jul 24 21:37:42 2000 UTC (17 years, 2 months ago) by lord
Branch: MAIN
Changes since 1.295: +3 -3 lines
Diff to previous 1.295 (colored)

formatting fixes

Revision 1.295 / (download) - annotate - [select for diffs], Sat Jul 22 04:20:01 2000 UTC (17 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.294: +1 -3 lines
Diff to previous 1.294 (colored)

merge cred, mac, & cap headers to facilitate sharing between user and
kernel tools cleanly.  remove some unused headers, definitions, typedefs,
etc where found also.

Revision 1.294 / (download) - annotate - [select for diffs], Tue Jul 18 01:41:36 2000 UTC (17 years, 2 months ago) by nathans
Branch: MAIN
Changes since 1.293: +4 -4 lines
Diff to previous 1.293 (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.293 / (download) - annotate - [select for diffs], Wed Jul 12 17:57:14 2000 UTC (17 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.292: +1 -10 lines
Diff to previous 1.292 (colored)

Remove a test for a swap file which was a) not going to work on linux
and b) was stopping is from doing clustering on inode flushing in some
cases.

Revision 1.292 / (download) - annotate - [select for diffs], Fri Jun 30 18:54:07 2000 UTC (17 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.291: +28 -29 lines
Diff to previous 1.291 (colored)

change how inode buffer offset is calculated to allow non-mapped inode
buffers.

Revision 1.291 / (download) - annotate - [select for diffs], Tue Jun 20 18:12:22 2000 UTC (17 years, 3 months ago) by jtk
Branch: MAIN
Changes since 1.290: +2 -1 lines
Diff to previous 1.290 (colored)

Silence another compiler warning.

Revision 1.290 / (download) - annotate - [select for diffs], Fri Jun 16 20:57:56 2000 UTC (17 years, 3 months ago) by lord
Branch: MAIN
Changes since 1.289: +9 -1 lines
Diff to previous 1.289 (colored)

if the inode has a non-zero project id, a version 2 inode
  is written to disk.  This is only the case for create.  The chproj call
  already writes version 2 inodes if necessary.  PV 785513

Revision 1.289 / (download) - annotate - [select for diffs], Tue Jun 13 20:06:43 2000 UTC (17 years, 4 months ago) by jtk
Branch: MAIN
Changes since 1.288: +3 -5 lines
Diff to previous 1.288 (colored)

Remove unneeded vnode fields v_mreg, v_mregb, v_pgcnt, v_buf & v_nodeid.
Fix & use the VN_CACHED() & VN_MAPPED() macros.

Revision 1.288 / (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.287: +50 -37 lines
Diff to previous 1.287 (colored)

Merge of 2.3.99pre2-xfs:slinx:62680a originally by jtk on 05/24/00
  Use 'vn_count()' to check the reference count.

Merge of 2.3.99pre2-xfs:slinx:62770a originally by lord on 05/25/00
  A couple of changes to make the reclaim path faster when it follows
  hard on the heels of an inactive on an unlinked file. The vnode in
  the linux inode code makes this happen all the time when we remove
  files, this speeds up removes a lot.

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:63085a originally by jtk on 05/31/00
  Additional XFSSTATS.

Merge of 2.3.99pre2-xfs:slinx:63160a originally by lord on 06/01/00
  Back out change to inode logging in xfs_ifree - it does no good.

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:63306a originally by dxm on 06/04/00
  RT/GRIO checkin

Merge of 2.3.99pre2-xfs:slinx:63404a originally by lord on 06/06/00
  When unmounting a filesystem finish up the reclaim for inodes which do not
  have a vnode attached.

Revision 1.287 / (download) - annotate - [select for diffs], Fri Jun 9 04:41:56 2000 UTC (17 years, 4 months ago) by jtk
Branch: MAIN
Changes since 1.286: +2 -2 lines
Diff to previous 1.286 (colored)

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

  Correct a bad call to xfs_inobp_check, wrong buffer.

Revision 1.286 / (download) - annotate - [select for diffs], Fri Jun 9 04:41:38 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.285: +1 -1 lines
Diff to previous 1.285 (colored)

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

  make inode core translation function public

Revision 1.285 / (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.284: +77 -90 lines
Diff to previous 1.284 (colored)

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

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

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

  %Ld for inode number

Revision 1.283 / (download) - annotate - [select for diffs], Fri Jun 9 04:20:43 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.282: +43 -46 lines
Diff to previous 1.282 (colored)

change INT_COPY definition
Merge of 2.3.99pre2-xfs:slinx:61084a by ananth.

Revision 1.282 / (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.281: +6 -6 lines
Diff to previous 1.281 (colored)

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

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

Revision 1.281 / (download) - annotate - [select for diffs], Fri Jun 9 04:16:09 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.280: +12 -11 lines
Diff to previous 1.280 (colored)

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

  fix wrapping of di_next_unlinked

Revision 1.280 / (download) - annotate - [select for diffs], Fri Jun 9 03:49:36 2000 UTC (17 years, 4 months ago) by cattelan
Branch: MAIN
Changes since 1.279: +13 -6 lines
Diff to previous 1.279 (colored)

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

  Changed kmem_realloc to include oldsize.

Revision 1.279 / (download) - annotate - [select for diffs], Fri Jun 9 03:26:27 2000 UTC (17 years, 4 months ago) by nathans
Branch: MAIN
Changes since 1.278: +23 -19 lines
Diff to previous 1.278 (colored)

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

  architecture independence for the agi structure.

Revision 1.278 / (download) - annotate - [select for diffs], Fri Jun 9 03:24:37 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.277: +2 -2 lines
Diff to previous 1.277 (colored)

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

  Change calls to VOP_FLUSH_PAGES VOP_FLUSHINVAL_PAGES and VOP_TOSS_PAGES to
  not take an end offset.

Revision 1.277 / (download) - annotate - [select for diffs], Fri Jun 9 03:15:59 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.276: +11 -11 lines
Diff to previous 1.276 (colored)

add ARCH_GET macro
Merge of 2.3.99pre2-xfs:slinx:56110a by ananth.

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

fix CONFIG_XFS_ARCH_MIPS case
Merge of 2.3.99pre2-xfs:slinx:56101a by ananth.

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

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

  Default to returning permission denied out of xfs_iaccess, the
  code was reordered and this was missed out.

Revision 1.274 / (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.273: +31 -0 lines
Diff to previous 1.273 (colored)

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

Revision 1.273 / (download) - annotate - [select for diffs], Fri Jun 9 02:29:42 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
CVS Tags: DELETE
Changes since 1.272: +4 -1 lines
Diff to previous 1.272 (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.272 / (download) - annotate - [select for diffs], Fri Jun 9 02:22:51 2000 UTC (17 years, 4 months ago) by dxm
Branch: MAIN
Changes since 1.271: +150 -53 lines
Diff to previous 1.271 (colored)

architecture changes: dinode_core, sf(1) dirs, dev files, dir(1) leaves
Merge of 2.3.99pre2-xfs:slinx:50068a by ananth.

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

Revision 1.271 / (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.270: +1 -1 lines
Diff to previous 1.270 (colored)

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

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

Revision 1.270 / (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.269: +5 -9 lines
Diff to previous 1.269 (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 & fix a compiler warning.

Revision 1.269 / (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.268: +17 -26 lines
Diff to previous 1.268 (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.268 / (download) - annotate - [select for diffs], Fri Jun 9 00:52:36 2000 UTC (17 years, 4 months ago) by lord
Branch: MAIN
Changes since 1.267: +0 -6 lines
Diff to previous 1.267 (colored)

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

  Merge of 2.3.42-xfs:slinx:44783a by ananth.
  we know our vfs name is xfs

Revision 1.267 / (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.266: +22 -26 lines
Diff to previous 1.266 (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.266 / (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.265: +1 -1 lines
Diff to previous 1.265 (colored)

Here is a real bug fix. change bcopy to ovbcopy when expanding
the root of an extent btree. This caused file system corruption.

Revision 1.265 / (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.264: +3 -3 lines
Diff to previous 1.264 (colored)

Fix compile error when DEBUG turned on.

Revision 1.264 / (download) - annotate - [select for diffs], Mon Jan 24 21:38:02 2000 UTC (17 years, 8 months ago) by lord
Branch: MAIN
Changes since 1.263: +1 -1 lines
Diff to previous 1.263 (colored)

Merge from irix/irix6.5f to pingu/slinx-xfs
Merge of irix6.5f:irix:32165a created by doucette on 11/02/99
  Fix a warning from the xfs utilities build.

Revision 1.263 / (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.262: +1 -1 lines
Diff to previous 1.262 (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.262 / (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.261: +1 -1 lines
Diff to previous 1.261 (colored)

abstract b_pincount

Revision 1.261 / (download) - annotate - [select for diffs], Thu Nov 25 06:29:10 1999 UTC (17 years, 10 months ago) by cattelan
Branch: MAIN
Changes since 1.260: +8 -7 lines
Diff to previous 1.260 (colored)

Last of the b_flags abstraction.

Revision 1.260 / (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.259: +10 -13 lines
Diff to previous 1.259 (colored)

make all xfs buffer access be buftarg_t based

Revision 1.259 / (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.258: +2 -2 lines
Diff to previous 1.258 (colored)

hide b_bcount and b_blkno

Revision 1.258 / (download) - annotate - [select for diffs], Mon Nov 22 22:58:48 1999 UTC (17 years, 10 months ago) by lord
Branch: MAIN
Changes since 1.257: +4 -4 lines
Diff to previous 1.257 (colored)

virtualize brelse() call

Revision 1.257 / (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.256: +22 -23 lines
Diff to previous 1.256 (colored)

virtualize interface to buffer data

Revision 1.256 / (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.255: +7 -6 lines
Diff to previous 1.255 (colored)

Start of b_flags virtualization 

Revision 1.255 / (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.254: +3 -3 lines
Diff to previous 1.254 (colored)

Add b_bdstrat and b_fsprivate3 to virtualization interface

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

Add macros to virtualize iodone and fsprivate fields.

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

replace struct buf and buf_t references with xfs_buf and xfs_buf_t

Revision 1.252 / (download) - annotate - [select for diffs], Mon Nov 15 23:07:16 1999 UTC (17 years, 11 months ago) by lord
Branch: MAIN
Changes since 1.251: +2 -1 lines
Diff to previous 1.251 (colored)

Merge from irix/irix6.5f to pingu/slinx-xfs
Merge of irix6.5f:irix:32165a created by doucette on 11/02/99
  Fix a warning from the xfs utilities build.

Revision 1.251 / (download) - annotate - [select for diffs], Wed Aug 18 17:43:46 1999 UTC (18 years, 1 month ago) by cattelan
Branch: MAIN
Changes since 1.250: +4 -1 lines
Diff to previous 1.250 (colored)

First compiling version of mkfs unsing XFS libsim.
Mostly just addtions of cut up irix header files.

Revision 1.250 / (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.249: +45 -18 lines
Diff to previous 1.249 (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.249 / (download) - annotate - [select for diffs], Tue Apr 27 18:11:47 1999 UTC (18 years, 5 months ago) by ethan
Branch: MAIN
Changes since 1.248: +2 -2 lines
Diff to previous 1.248 (colored)

bring stop offsets into sync between buffer and page caches
bring stop offsets into sync between buffer and page caches

Revision 1.248 / (download) - annotate - [select for diffs], Tue Mar 2 03:02:44 1999 UTC (18 years, 7 months ago) by overby
Branch: MAIN
Changes since 1.247: +97 -55 lines
Diff to previous 1.247 (colored)

Fixes to xfs_iflush:

Check VISSWAP on 'iq' (inode being clustered) not 'ip' (what iflush
was called with)

Don't drop flush locks before the 'goto corrupt_out' and 'goto
cluster_corrupt_out'.  xfs_iflush_abort needs the flush lock.

Split corrupt_out into one for clustering and one for the first inode.
The clustering corrupt_out calls xfs_iflush_abort on iq, not ip.  It
also must discard the buffer without pushing the buffer or iclogs to
disk (all of them could be corrupted).  Take code from incore_relse to
do this.

Relocate where the type of i/o (Sync, Async, Delayed) is determined.
It was checking ilf_fields soon after xfs_iflush_int was clearing
them.

Revision 1.247 / (download) - annotate - [select for diffs], Mon Feb 22 23:57:05 1999 UTC (18 years, 7 months ago) by overby
Branch: MAIN
Changes since 1.246: +218 -70 lines
Diff to previous 1.246 (colored)

Rewrite xfs_iflush so that it flushes the inode passed in,
then flush other dirty & lockable inodes in the cluster.
The old xfs_iflush is now split between xfs_iflush_int to do
the copying of data from the inode to the buffer and the
writing of the buffer remaining in the new xfs_iflush.

Revision 1.246 / (download) - annotate - [select for diffs], Fri Feb 12 18:45:57 1999 UTC (18 years, 8 months ago) by mduchene
Branch: MAIN
Changes since 1.245: +1 -1 lines
Diff to previous 1.245 (colored)

Added protection against corrupt inodes causing
panics in subsequent kmem_alloc() or bcopy() calls.

Revision 1.245 / (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.244: +27 -12 lines
Diff to previous 1.244 (colored)

Change includes for v2 directory support.
Vector out v1/v2 directory operations.
Compile some code out of simulations unless it's repair.
Add per-inode tracing for v2 directories.

Revision 1.244 / (download) - annotate - [select for diffs], Fri Dec 4 21:44:23 1998 UTC (18 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.243: +36 -32 lines
Diff to previous 1.243 (colored)

Add casts to make this compile cleanly -64.
pv: 617654

Revision 1.243 / (download) - annotate - [select for diffs], Fri Jun 12 18:16:46 1998 UTC (19 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.242: +22 -26 lines
Diff to previous 1.242 (colored)

Add calls to verification routines. Overhaul xfs_swappable().

Revision 1.242 / (download) - annotate - [select for diffs], Fri Apr 10 16:42:37 1998 UTC (19 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.241: +4 -4 lines
Diff to previous 1.241 (colored)

Use cap_able_cred instead of checking against uid 0, also instead of
macro _CAP_CRABLE.
pv: 586451 rv: bitbug@engr

Revision 1.241 / (download) - annotate - [select for diffs], Fri Feb 20 23:09:30 1998 UTC (19 years, 7 months ago) by rm
Branch: MAIN
Changes since 1.240: +5 -3 lines
Diff to previous 1.240 (colored)

Implement unwritten extent flagging.
rv: doucette@engr, rcc@engr, earsh@engr, kayuri@engr
pv: 705217

Revision 1.240 / (download) - annotate - [select for diffs], Tue Jan 27 23:55:03 1998 UTC (19 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.239: +2 -2 lines
Diff to previous 1.239 (colored)

Get file timestamps from nanotime_syscall instead of nanotime.  This
interface accounts for clock drift, so it matches the user view of
the system time.
pv: 565717
rv: rcc@engr

Revision 1.239 / (download) - annotate - [select for diffs], Sun Jan 18 08:53:29 1998 UTC (19 years, 8 months ago) by rcc
Branch: MAIN
Changes since 1.238: +2 -2 lines
Diff to previous 1.238 (colored)

added extra argument to xfs_trans_commit for IO_DSYNC speedup.
pv: 555963  rv: lord@cray

Revision 1.238 / (download) - annotate - [select for diffs], Fri Jan 16 22:16:47 1998 UTC (19 years, 8 months ago) by mad
Branch: MAIN
Changes since 1.237: +3 -3 lines
Diff to previous 1.237 (colored)

pv: 539225
rv: kayuri, yohn
Set buffer usage type (b_bvtype).

Revision 1.237 / (download) - annotate - [select for diffs], Thu Jan 15 20:46:28 1998 UTC (19 years, 9 months ago) by lord
Branch: MAIN
Changes since 1.236: +7 -1 lines
Diff to previous 1.236 (colored)

Added code to cope with marker records being present in the inode
list in the mount structure.
pv: 261537
rv: mostek@cray.com

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

In xfs_iread_extents, clear if_extents in error path if the
memory has been freed.  Add some asserts about AIL items
getting left around after shutdowns, not turned on yet.
Change the error code for xfs_iflush detected corruptions
from EIO to EFSCORRUPTED.  Add routine xfs_iflush_abort to
clean up inode state after xfs_iflush fails.
rv: rcc@engr
pv: 556403

Revision 1.235 / (download) - annotate - [select for diffs], Sun Dec 21 17:58:41 1997 UTC (19 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.234: +1 -1 lines
Diff to previous 1.234 (colored)

Fix bad printf format for xfs_iflush error message, caused scrambled
data in 32-bit kernels on error message.
pv: 556753
rv: ram@cray.com

Revision 1.234 / (download) - annotate - [select for diffs], Sat Dec 20 00:57:38 1997 UTC (19 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.233: +86 -74 lines
Diff to previous 1.233 (colored)

Add error injection points for places where we read
metadata blocks (and check magic numbers).
Don't B_ERROR metadata buffers that look corrupted, that can
screw up if the buffer is already B_DELWRI.
pv: 538827, 556405
rv: lord@cray.com

Revision 1.233 / (download) - annotate - [select for diffs], Thu Dec 18 16:16:50 1997 UTC (19 years, 9 months ago) by lord
Branch: MAIN
Changes since 1.232: +66 -71 lines
Diff to previous 1.232 (colored)

pv: 515588,276922 rv: rcc@engr
Use new xfs error reporting function which prints filesystem name
Make inode flushing code shutdown the filesystem on error rather
than panicing.

Revision 1.232 / (download) - annotate - [select for diffs], Wed Nov 19 00:53:17 1997 UTC (19 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.231: +3 -3 lines
Diff to previous 1.231 (colored)

Use VN_FLAGSET and VN_FLAGCLR when changing vnode v_flag without
holding the vnode lock.  This is required since vnodes have a bitblock
in the v_flag word.
rv: kayuri@engr
pv: 545359

Revision 1.231 / (download) - annotate - [select for diffs], Sun Oct 26 08:23:29 1997 UTC (19 years, 11 months ago) by rcc
Branch: MAIN
Changes since 1.230: +39 -21 lines
Diff to previous 1.230 (colored)

515588 - change xfs_iflush panics into forced unmounts

Revision 1.230 / (download) - annotate - [select for diffs], Tue Sep 9 14:28:24 1997 UTC (20 years, 1 month ago) by kcm
Branch: MAIN
Changes since 1.229: +8 -3 lines
Diff to previous 1.229 (colored)

Changes to reflect DMAPI upgrade to conform to the
X/Open XDSM document.

Revision 1.229 / (download) - annotate - [select for diffs], Wed Sep 3 22:43:29 1997 UTC (20 years, 1 month ago) by rcc
Branch: MAIN
Changes since 1.228: +3 -3 lines
Diff to previous 1.228 (colored)

521721 - merge b_flags and b_flags2 in buffer structure

Revision 1.228 / (download) - annotate - [select for diffs], Thu Aug 28 22:53:47 1997 UTC (20 years, 1 month ago) by kayuri
Branch: MAIN
Changes since 1.227: +2 -1 lines
Diff to previous 1.227 (colored)

Destroy the inode readahead lock in xfs_idestroy. (bug 516806).

Revision 1.227 / (download) - annotate - [select for diffs], Thu Aug 28 16:25:26 1997 UTC (20 years, 1 month ago) by lord
Branch: MAIN
Changes since 1.226: +1 -182 lines
Diff to previous 1.226 (colored)

Remove dead attribute invalidation code

Revision 1.226 / (download) - annotate - [select for diffs], Tue Aug 12 23:24:26 1997 UTC (20 years, 2 months ago) by rcc
Branch: MAIN
Changes since 1.225: +86 -37 lines
Diff to previous 1.225 (colored)

513540 - make sure we check for the same corruptions on the inode read path
that we do on the inode flush path.  Also turn deliberate panics into
force-unmounts and make printf's more useful.  And undo previous fix.
Turns out the real problem was in a simulation file.

Revision 1.225 / (download) - annotate - [select for diffs], Tue Aug 12 20:01:05 1997 UTC (20 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.224: +9 -1 lines
Diff to previous 1.224 (colored)

Add simulation-only code in xfs_iflush to make sure that the
xfs_iflush_done code is called.  Don't know why this ever worked.

Revision 1.224 / (download) - annotate - [select for diffs], Fri Jul 25 08:14:35 1997 UTC (20 years, 2 months ago) by rcc
Branch: MAIN
Changes since 1.223: +59 -30 lines
Diff to previous 1.223 (colored)

496552,492728 - add code to detect bogus extent field values
and make the pinlock a per-inode lock

Revision 1.223 / (download) - annotate - [select for diffs], Tue Jul 15 17:58:57 1997 UTC (20 years, 3 months ago) by doucette
Branch: MAIN
Changes since 1.222: +4 -3 lines
Diff to previous 1.222 (colored)

Add okalloc argument to xfs_dialloc.

Revision 1.222 / (download) - annotate - [select for diffs], Tue Jun 24 07:01:31 1997 UTC (20 years, 3 months ago) by sup
Branch: MAIN
Changes since 1.221: +17 -18 lines
Diff to previous 1.221 (colored)

500173 474195 Signatures of vfs_devsearch and vfs_devbusy changed. They take a filesystem type arg now.

Revision 1.221 / (download) - annotate - [select for diffs], Wed Jun 11 14:01:16 1997 UTC (20 years, 4 months ago) by steiner
Branch: MAIN
Changes since 1.220: +7 -20 lines
Diff to previous 1.220 (colored)

Add vnode pcache VOPs required for CELLs.

Revision 1.220 / (download) - annotate - [select for diffs], Tue Jun 3 23:10:35 1997 UTC (20 years, 4 months ago) by pjr
Branch: MAIN
Changes since 1.219: +2 -3 lines
Diff to previous 1.219 (colored)

nuke unneeded VNOMAP flag since VOP_MAP is responsible for determining if a file is mappable

Revision 1.219 / (download) - annotate - [select for diffs], Fri May 23 23:16:33 1997 UTC (20 years, 4 months ago) by rcc
Branch: MAIN
Changes since 1.218: +10 -35 lines
Diff to previous 1.218 (colored)

478405 - change xfs inode consistency checking to use fsprivate3 pointer
and mark all inode buffers at iread time

Revision 1.218 / (download) - annotate - [select for diffs], Thu May 15 23:57:47 1997 UTC (20 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.217: +3 -3 lines
Diff to previous 1.217 (colored)

Fix printf argument types, spotted by 7.2 compilers.

Revision 1.217 / (download) - annotate - [select for diffs], Sat May 10 00:46:20 1997 UTC (20 years, 5 months ago) by rcc
Branch: MAIN
Changes since 1.216: +9 -12 lines
Diff to previous 1.216 (colored)

478201,478290 - clean up i/o size state initialization and make
the last byte calculations use the inode i/o size data, not
the filesystem's

Revision 1.216 / (download) - annotate - [select for diffs], Wed Apr 30 21:55:53 1997 UTC (20 years, 5 months ago) by sup
Branch: MAIN
Changes since 1.215: +20 -11 lines
Diff to previous 1.215 (colored)

error handling changes, mainly in itruncate_finish.

Revision 1.215 / (download) - annotate - [select for diffs], Sun Apr 6 02:57:50 1997 UTC (20 years, 6 months ago) by sup
Branch: MAIN
Changes since 1.214: +26 -3 lines
Diff to previous 1.214 (colored)

Implement xfs_ilock_trace() to track down ilocks not getting released in
error handling paths. It's under #define XFS_ILOCK_TRACE

Revision 1.214 / (download) - annotate - [select for diffs], Fri Apr 4 07:58:19 1997 UTC (20 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.213: +57 -17 lines
Diff to previous 1.213 (colored)

finish cleaning up itruncate finish to allow us to optimize whether
it runs sync or async.  make the callers tell us.

Revision 1.213 / (download) - annotate - [select for diffs], Fri Mar 28 01:54:42 1997 UTC (20 years, 6 months ago) by sup
Branch: MAIN
Changes since 1.212: +8 -3 lines
Diff to previous 1.212 (colored)

disk error handling changes

Revision 1.212 / (download) - annotate - [select for diffs], Thu Mar 27 19:09:15 1997 UTC (20 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.211: +6 -0 lines
Diff to previous 1.211 (colored)

make sure the incore inode readio/writeio fields are
reinitialized in the case where the inode is being
recycled (freed then reallocated).

Revision 1.211 / (download) - annotate - [select for diffs], Thu Mar 27 01:31:30 1997 UTC (20 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.210: +7 -0 lines
Diff to previous 1.210 (colored)

474299 - default the per-inode i/o sizes to the filesystem i/o sizes

Revision 1.210 / (download) - annotate - [select for diffs], Sat Mar 22 01:03:33 1997 UTC (20 years, 6 months ago) by rcc
Branch: MAIN
Changes since 1.209: +22 -1 lines
Diff to previous 1.209 (colored)

341879 - add routine to accurately read the inode pin count

Revision 1.209 / (download) - annotate - [select for diffs], Mon Mar 17 05:06:36 1997 UTC (20 years, 7 months ago) by singal
Branch: MAIN
Changes since 1.208: +1 -9 lines
Diff to previous 1.208 (colored)

Removed some PRIO_DEBUG code.

Revision 1.208 / (download) - annotate - [select for diffs], Fri Feb 21 23:11:18 1997 UTC (20 years, 7 months ago) by rcc
Branch: MAIN
Changes since 1.207: +18 -4 lines
Diff to previous 1.207 (colored)

341879,464898 - pass async flag to xfs_bunmapi to signal async
transactions if running inactive on a wsync-mounted filesystem.

Revision 1.207 / (download) - annotate - [select for diffs], Sun Feb 9 03:04:55 1997 UTC (20 years, 8 months ago) by pjr
Branch: MAIN
Changes since 1.206: +23 -1 lines
Diff to previous 1.206 (colored)

set/reset vnode's VENF_LOCKING flag in xfs_ialloc.  Also, assert that vnode flags are already cleared - to catch bugs where a vnode has a flag set due to the previous use of the vnode.

Revision 1.206 / (download) - annotate - [select for diffs], Sat Feb 8 00:09:44 1997 UTC (20 years, 8 months ago) by rcc
Branch: MAIN
Changes since 1.205: +3 -2 lines
Diff to previous 1.205 (colored)

274388 - correct a silly mistake

Revision 1.205 / (download) - annotate - [select for diffs], Fri Feb 7 21:48:35 1997 UTC (20 years, 8 months ago) by rcc
Branch: MAIN
Changes since 1.204: +15 -1 lines
Diff to previous 1.204 (colored)

274388 - change xfs_ichgtime() to not modify inode access timestamps
if we're mounted noatime and ichgtime is being called to update only
the access timestamp

Revision 1.204 / (download) - annotate - [select for diffs], Sat Jan 25 02:55:13 1997 UTC (20 years, 8 months ago) by sup
Branch: MAIN
Changes since 1.203: +36 -15 lines
Diff to previous 1.203 (colored)

First cut of XFS I/O error handling changes.

Revision 1.203 / (download) - annotate - [select for diffs], Mon Jan 13 23:34:46 1997 UTC (20 years, 9 months ago) by rcc
Branch: MAIN
Changes since 1.202: +21 -10 lines
Diff to previous 1.202 (colored)

456100 - change panics to warning in xfs_inobp_bwcheck()

Revision 1.196.1.7 / (download) - annotate - [select for diffs], Mon Jan 13 23:03:53 1997 UTC (20 years, 9 months ago) by rcc
CVS Tags: DELETE-1
Changes since 1.196.1.6: +20 -10 lines
Diff to previous 1.196.1.6 (colored) next main 1.197 (colored)

456100 - change panics to warning in xfs_inobp_bwcheck()

Revision 1.202 / (download) - annotate - [select for diffs], Thu Dec 12 02:29:50 1996 UTC (20 years, 10 months ago) by sup
Branch: MAIN
Changes since 1.201: +1 -13 lines
Diff to previous 1.201 (colored)

441748 : Took out some extra debug code I had put in to track this down.

Revision 1.201 / (download) - annotate - [select for diffs], Thu Dec 12 01:46:50 1996 UTC (20 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.200: +8 -7 lines
Diff to previous 1.200 (colored)

Fix some warnings: remove unused variables, add ARGSUSED and REFERENCED,
add casts.

Revision 1.200 / (download) - annotate - [select for diffs], Fri Dec 6 23:02:21 1996 UTC (20 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.199: +5 -3 lines
Diff to previous 1.199 (colored)

Merge change from ficus - clean up debug message output.

Revision 1.199 / (download) - annotate - [select for diffs], Fri Dec 6 22:21:48 1996 UTC (20 years, 10 months ago) by casey
Branch: MAIN
Changes since 1.198: +33 -9 lines
Diff to previous 1.198 (colored)

Trix footprint from ficus

Revision 1.196.1.6 / (download) - annotate - [select for diffs], Thu Nov 21 23:31:11 1996 UTC (20 years, 10 months ago) by doucette
Changes since 1.196.1.5: +4 -3 lines
Diff to previous 1.196.1.5 (colored)

Fix message about bad magic #s in inodes, the offset printed was trash.

Revision 1.196.1.5 / (download) - annotate - [select for diffs], Thu Nov 21 18:43:54 1996 UTC (20 years, 10 months ago) by casey
Changes since 1.196.1.4: +4 -4 lines
Diff to previous 1.196.1.4 (colored)

Moved includes to accomodate the simulator.

Revision 1.196.1.4 / (download) - annotate - [select for diffs], Wed Nov 20 17:51:37 1996 UTC (20 years, 10 months ago) by casey
Changes since 1.196.1.3: +33 -9 lines
Diff to previous 1.196.1.3 (colored)

Repair access control list and mandatory access control support.

Revision 1.198 / (download) - annotate - [select for diffs], Tue Nov 19 15:26:33 1996 UTC (20 years, 10 months ago) by montep
Branch: MAIN
Changes since 1.197: +99 -11 lines
Diff to previous 1.197 (colored)

merge ficus into kudzu (1.196 ... 1.196.1.3)
> ----------------------------
> revision 1.196.1.3
> date: 1996/11/04 01:05:00;  author: doucette;  state: Exp;  lines: +27 -9
> For DEBUG kernels, check all the inodes in the buffer when we read
> them in for magic & version, not just the first one.
> Needed to debug 440477.
> ----------------------------
> revision 1.196.1.2
> date: 1996/10/25 20:56:59;  author: rcc;  state: Exp;  lines: +14 -26
> add inode buffer checking -- cover all three paths in iflush
> ----------------------------
> revision 1.196.1.1
> date: 1996/10/25 02:10:22;  author: rcc;  state: Exp;  lines: +84 -2
> add inode buffer checking - set B_XFS_INO in inode buffers when
> flushing an inode buffer and add a routine that validates the magic
> number and agi unlinked field of every inode in an inode buffer
> =============================================================================

Revision 1.197 / (download) - annotate - [select for diffs], Sat Nov 16 05:53:07 1996 UTC (20 years, 11 months ago) by sup
Branch: MAIN
Changes since 1.196: +22 -7 lines
Diff to previous 1.196 (colored)

Breakup the ASSERT at the end of itruncate_start() so that
we can find out _which_ condition was hit. Also add more DEBUG
code to figure out a prob which appears to be a race somewhere.

Revision 1.196.1.3 / (download) - annotate - [select for diffs], Mon Nov 4 01:05:00 1996 UTC (20 years, 11 months ago) by doucette
Changes since 1.196.1.2: +27 -9 lines
Diff to previous 1.196.1.2 (colored)

For DEBUG kernels, check all the inodes in the buffer when we read
them in for magic & version, not just the first one.
Needed to debug 440477.

Revision 1.196.1.2 / (download) - annotate - [select for diffs], Fri Oct 25 20:56:59 1996 UTC (20 years, 11 months ago) by rcc
Changes since 1.196.1.1: +14 -26 lines
Diff to previous 1.196.1.1 (colored)

add inode buffer checking -- cover all three paths in iflush

Revision 1.196.1.1 / (download) - annotate - [select for diffs], Fri Oct 25 02:10:22 1996 UTC (20 years, 11 months ago) by rcc
Changes since 1.196: +84 -2 lines
Diff to previous 1.196 (colored)

add inode buffer checking - set B_XFS_INO in inode buffers when
flushing an inode buffer and add a routine that validates the magic
number and agi unlinked field of every inode in an inode buffer

Revision 1.196 / (download) - annotate - [select for diffs], Thu Oct 3 01:51:47 1996 UTC (21 years ago) by dwong
Branch: MAIN
Changes since 1.195: +3 -3 lines
Diff to previous 1.195 (colored)

fixed cpp directives

Revision 1.195 / (download) - annotate - [select for diffs], Sun Sep 8 02:49:13 1996 UTC (21 years, 1 month ago) by singal
Branch: MAIN
Changes since 1.194: +62 -62 lines
Diff to previous 1.194 (colored)

Fix indentation, misc cleanup.

Revision 1.194 / (download) - annotate - [select for diffs], Wed Sep 4 02:36:13 1996 UTC (21 years, 1 month ago) by rcc
Branch: MAIN
Changes since 1.193: +5 -1 lines
Diff to previous 1.193 (colored)

put priority I/O additions under #ifndef SIM

Revision 1.193 / (download) - annotate - [select for diffs], Fri Aug 30 19:16:04 1996 UTC (21 years, 1 month ago) by singal
Branch: MAIN
Changes since 1.192: +83 -1 lines
Diff to previous 1.192 (colored)

Add xfs_get_inode() (moved over from xfs_grio.c)

Revision 1.192 / (download) - annotate - [select for diffs], Thu Aug 29 18:13:34 1996 UTC (21 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.191: +7 -9 lines
Diff to previous 1.191 (colored)

In xfs_igrow_start, call xfs_zero_eof even if the current file size
is 0, since there may be preallocated blocks present.

Revision 1.191 / (download) - annotate - [select for diffs], Wed Aug 21 00:52:45 1996 UTC (21 years, 1 month ago) by rcc
Branch: MAIN
Changes since 1.190: +3 -3 lines
Diff to previous 1.190 (colored)

turn off debug sanity check only for xfs_repair in sim mode

Revision 1.190 / (download) - annotate - [select for diffs], Fri Jul 26 21:19:46 1996 UTC (21 years, 2 months ago) by alexp
Branch: MAIN
Changes since 1.189: +3 -3 lines
Diff to previous 1.189 (colored)

Convert AIL_LOCK from mutex_spinlock to mutex under "ifdef INTR_KTHREADS"

Revision 1.189 / (download) - annotate - [select for diffs], Sat Jul 20 06:54:04 1996 UTC (21 years, 2 months ago) by ajs
Branch: MAIN
Changes since 1.188: +15 -1 lines
Diff to previous 1.188 (colored)

Use the SYNCHRONIZE() macro to ensure proper ordering in
the accesses of the inode timestamps and i_update_core.

Revision 1.188 / (download) - annotate - [select for diffs], Tue Jul 16 22:08:20 1996 UTC (21 years, 3 months ago) by ajs
Branch: MAIN
Changes since 1.187: +37 -11 lines
Diff to previous 1.187 (colored)

386036 Make the inode format routines resilient to bad extent counts
and file sizes.

Revision 1.187 / (download) - annotate - [select for diffs], Tue Jul 2 22:09:31 1996 UTC (21 years, 3 months ago) by ajs
Branch: MAIN
Changes since 1.186: +7 -0 lines
Diff to previous 1.186 (colored)

Use new VREMAPPING flag around calls to remapf/pflushinvalvp.

Revision 1.186 / (download) - annotate - [select for diffs], Tue Jun 25 17:53:49 1996 UTC (21 years, 3 months ago) by ajs
Branch: MAIN
Changes since 1.185: +6 -1 lines
Diff to previous 1.185 (colored)

Add shortform directory validation code.

Revision 1.185 / (download) - annotate - [select for diffs], Tue Jun 4 21:20:44 1996 UTC (21 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.184: +6 -6 lines
Diff to previous 1.184 (colored)

Use superblock versioning (bug 385316)

Revision 1.184 / (download) - annotate - [select for diffs], Wed May 15 21:57:00 1996 UTC (21 years, 5 months ago) by sup
Branch: MAIN
Changes since 1.183: +16 -6 lines
Diff to previous 1.183 (colored)

disk quota stuff.
proper initialzation of di_projid, and iflush_all change to skip
quota inodes.

Revision 1.183 / (download) - annotate - [select for diffs], Tue May 14 23:48:44 1996 UTC (21 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.182: +1 -1 lines
Diff to previous 1.182 (colored)

380202 Pass null pmp pointer through on call to xfs_zero_eof()
in xfs_igrow_start().

Revision 1.182 / (download) - annotate - [select for diffs], Thu May 9 18:04:34 1996 UTC (21 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.181: +1 -4 lines
Diff to previous 1.181 (colored)

Remove one last reference to i_mapcnt in some SIM code.

Revision 1.181 / (download) - annotate - [select for diffs], Wed Apr 24 23:12:37 1996 UTC (21 years, 5 months ago) by jeffreyh
Branch: MAIN
Changes since 1.180: +2 -2 lines
Diff to previous 1.180 (colored)

change all uses of timestruc to timespec

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

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

Revision 1.179 / (download) - annotate - [select for diffs], Mon Apr 1 22:49:34 1996 UTC (21 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.178: +8 -3 lines
Diff to previous 1.178 (colored)

Changes for vnodes with behaviors.

Revision 1.178 / (download) - annotate - [select for diffs], Thu Mar 28 01:18:39 1996 UTC (21 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.177: +4 -1 lines
Diff to previous 1.177 (colored)

Add asserts to catch bug 362841.

Set if_ext_max for the data fork when clearing forkoff, otherwise
it won't be set right & we'll be confused (bug 362841).

Revision 1.177 / (download) - annotate - [select for diffs], Tue Mar 5 07:48:16 1996 UTC (21 years, 7 months ago) by limes
Branch: MAIN
Changes since 1.176: +2 -1 lines
Diff to previous 1.176 (colored)

fix some compiler messages

Revision 1.176 / (download) - annotate - [select for diffs], Fri Feb 16 21:37:32 1996 UTC (21 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.175: +8 -8 lines
Diff to previous 1.175 (colored)

Use XFS_ERROR macro where it was missing in several places.

Revision 1.175 / (download) - annotate - [select for diffs], Wed Feb 14 05:51:30 1996 UTC (21 years, 8 months ago) by ack
Branch: MAIN
Changes since 1.174: +35 -1 lines
Diff to previous 1.174 (colored)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.176
> date: 1996/02/09 02:25:59;  author: ajs;  state: Exp;  lines: +35 -1
> 344625 Add non-debug checks to find file system
> corruption bug.
> =============================================================================

Revision 1.174 / (download) - annotate - [select for diffs], Fri Feb 9 01:14:21 1996 UTC (21 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.173: +2 -2 lines
Diff to previous 1.173 (colored)

Move the include of sys/debug.h under #define _KERNEL for compile errors.

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

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.175
> date: 1996/01/28 08:51:39;  author: rcc;  state: Exp;  lines: +21 -12
> 341679 - add more consistency checking to the inode read-in
> path.  if the format field for either data or attribute fork
> is invalid or the data fork format field conflicts with the
> mode field, we stop the read-in and return EINVAL.
> =============================================================================

Revision 1.172 / (download) - annotate - [select for diffs], Tue Oct 31 06:13:28 1995 UTC (21 years, 11 months ago) by ack
Branch: MAIN
Changes since 1.171: +4 -4 lines
Diff to previous 1.171 (colored)

auto-merge of changes from /proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.174
> date: 1995/10/28 02:12:20;  author: curtis;  state: Exp;  lines: +5 -5
> Changed attribute logging support slightly (changed the names, really).
> =============================================================================

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

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.173
> date: 1995/10/13 16:11:28;  author: ajs;  state: Exp;  lines: +11 -7
> Put XFS tracing under ifdefs separate from DEBUG
> ----------------------------
> revision 1.172
> date: 1995/10/13 00:28:29;  author: doucette;  state: Exp;  lines: +2 -2
> Include sys/uuid.h earlier since the uuid_t definition has been moved out
> of sys/types.h for DCE.
> =============================================================================

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

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.173
> date: 1995/10/13 16:11:28;  author: ajs;  state: Exp;  lines: +11 -7
> Put XFS tracing under ifdefs separate from DEBUG
> ----------------------------
> revision 1.172
> date: 1995/10/13 00:28:29;  author: doucette;  state: Exp;  lines: +2 -2
> Include sys/uuid.h earlier since the uuid_t definition has been moved out
> of sys/types.h for DCE.
> =============================================================================

Revision 1.169 / (download) - annotate - [select for diffs], Tue Oct 10 10:45:44 1995 UTC (22 years ago) by ack
Branch: MAIN
Changes since 1.168: +67 -1 lines
Diff to previous 1.168 (colored)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.171
> date: 1995/10/05 01:04:48;  author: ajs;  state: Exp;  lines: +68 -2
> 310776 Convert inodes to the new version as they are read in from
> disk.  Flush them out in the new format if the superblock version
> number is high enough to indicate we should.  Otherwise flush
> them out in the old format.  Also delete references to the now
> obsolete uuid field in the inode.
> ----------------------------
> revision 1.170
> date: 1995/10/04 00:47:29;  author: ajs;  state: Exp;  lines: +1 -24
> 310776 Back out last change.
> ----------------------------
> revision 1.169
> date: 1995/10/03 23:06:22;  author: ajs;  state: Exp;  lines: +25 -2
> 310776 Convert inodes to the new version as they are read in
> from disk.  They will be flushed out in the new format.  Also
> get rid of references to the old uuid field in the inode.
> =============================================================================

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

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.168
> date: 1995/09/30 03:16:36;  author: curtis;  state: Exp;  lines: +2 -3
> An ASSERT assumed that if there was no data fork then there could be no
> blocks allocated to the file.  Not true with an attribute fork.
> =============================================================================

Revision 1.167 / (download) - annotate - [select for diffs], Thu Sep 14 07:08:58 1995 UTC (22 years, 1 month ago) by ack
Branch: MAIN
Changes since 1.166: +8 -1 lines
Diff to previous 1.166 (colored)

auto-merge of changes from /hosts/clyde/proj/banyan/isms/irix/kern/fs/xfs/RCS/xfs_inode.c,v
> ----------------------------
> revision 1.167
> date: 1995/09/09 03:40:23;  author: ajs;  state: Exp;  lines: +7 -0
> 253058 Add ASSERTs to catch a bug where the di_nblocks
> is not getting to 0 when the inode is freed.
> =============================================================================

Revision 1.166 / (download) - annotate - [select for diffs], Thu Aug 31 20:57:24 1995 UTC (22 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.165: +58 -7 lines
Diff to previous 1.165 (colored)

Fix up the XFS_TRANS_DEBUG code.

Revision 1.165 / (download) - annotate - [select for diffs], Thu Aug 31 18:03:38 1995 UTC (22 years, 1 month ago) by doucette
Branch: MAIN
Changes since 1.164: +4 -5 lines
Diff to previous 1.164 (colored)

Use nlink_t type for nlink variables.  Add assert that we're not
truncating it.

Revision 1.164 / (download) - annotate - [select for diffs], Wed Aug 16 23:49:17 1995 UTC (22 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.163: +3 -3 lines
Diff to previous 1.163 (colored)

Change a few constant tables from int to short, to save some space.

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

Add includes of xfs_macros.h, xfs_bit.h.

Revision 1.162 / (download) - annotate - [select for diffs], Fri Aug 11 18:15:35 1995 UTC (22 years, 2 months ago) by ajs
Branch: MAIN
Changes since 1.161: +4 -1 lines
Diff to previous 1.161 (colored)

Adding more ASSERTs to try and catch a bug in the
unlink list managment.

Revision 1.161 / (download) - annotate - [select for diffs], Mon Aug 7 18:29:09 1995 UTC (22 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.160: +15 -9 lines
Diff to previous 1.160 (colored)

Inode space reduction: move inode items out of line; remove i_dmevents.

Revision 1.160 / (download) - annotate - [select for diffs], Thu Jun 22 23:23:40 1995 UTC (22 years, 3 months ago) by rcc
Branch: MAIN
Changes since 1.159: +5 -5 lines
Diff to previous 1.159 (colored)

changed to use new agi header good version macros

Revision 1.159 / (download) - annotate - [select for diffs], Fri Jun 9 20:49:21 1995 UTC (22 years, 4 months ago) by wmesard
Branch: MAIN
Changes since 1.158: +3 -3 lines
Diff to previous 1.158 (colored)

Allow large-uids to pass through.  Don't cast them to uint16s

Revision 1.158 / (download) - annotate - [select for diffs], Thu Jun 8 18:35:49 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.157: +21 -13 lines
Diff to previous 1.157 (colored)

Add btree block and inode readahead for bulkstat.

Revision 1.157 / (download) - annotate - [select for diffs], Thu Jun 1 02:02:30 1995 UTC (22 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.156: +12 -15 lines
Diff to previous 1.156 (colored)

Log the invalidation transactions synchronously in
xfs_atruncate_invalidate().  This keeps us from locking
up too many buffers when removing attribute forks
in xfs_inactive().

Revision 1.156 / (download) - annotate - [select for diffs], Fri May 26 18:35:12 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.155: +5 -1 lines
Diff to previous 1.155 (colored)

Ifdef out xfs_itrunc_trace in simulation.

Revision 1.155 / (download) - annotate - [select for diffs], Fri May 26 00:57:09 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.154: +11 -7 lines
Diff to previous 1.154 (colored)

Put the attribute fork info (i_af) into a zone-allocated structure
pointed to by i_afp, to save memory for inodes that don't use attributes.

Revision 1.154 / (download) - annotate - [select for diffs], Thu May 25 23:22:53 1995 UTC (22 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.153: +247 -17 lines
Diff to previous 1.153 (colored)

Add code for truncating the attribute fork of a file.

Revision 1.153 / (download) - annotate - [select for diffs], Thu May 25 18:07:47 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.152: +2 -2 lines
Diff to previous 1.152 (colored)

Add macros XFS_DFORK_DPTR, XFS_DFORK_APTR for when whichfork is constant,
and use them in a few places.  This makes the compiler happier.

Revision 1.152 / (download) - annotate - [select for diffs], Tue May 23 03:05:16 1995 UTC (22 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.151: +6 -3 lines
Diff to previous 1.151 (colored)

Make inode trace pointers and i_mapcnt #ifdef DEBUG.
Get rid of i_vcode.

Revision 1.151 / (download) - annotate - [select for diffs], Sat May 20 00:19:56 1995 UTC (22 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.150: +4 -3 lines
Diff to previous 1.150 (colored)

Fix tracing of bmap extents and bmap btree entries to use correct
fork (data or attribute).

Revision 1.150 / (download) - annotate - [select for diffs], Thu May 18 00:08:55 1995 UTC (22 years, 5 months ago) by curtis
Branch: MAIN
Changes since 1.149: +2 -2 lines
Diff to previous 1.149 (colored)

Changed the interface to first_unused to look for a hole of a given size.

Revision 1.149 / (download) - annotate - [select for diffs], Wed May 10 23:45:28 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.148: +111 -77 lines
Diff to previous 1.148 (colored)

Implement xfs_iflush for data/attr forks.

Revision 1.148 / (download) - annotate - [select for diffs], Tue May 9 21:21:41 1995 UTC (22 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.147: +435 -306 lines
Diff to previous 1.147 (colored)

Add support for in-core and on-disk inodes with both data and
attribute forks, or just a data fork.  Change all the data structures
and macros used to manipulate the variable portion of the inode, to
support this feature.

Revision 1.147 / (download) - annotate - [select for diffs], Mon May 8 19:58:35 1995 UTC (22 years, 5 months ago) by curtis
Branch: MAIN
Changes since 1.146: +3 -2 lines
Diff to previous 1.146 (colored)

Change include sequence as a result of directory/attribute code restructuring.

Revision 1.146 / (download) - annotate - [select for diffs], Thu May 4 04:29:46 1995 UTC (22 years, 5 months ago) by orosz
Branch: MAIN
Changes since 1.145: +3 -1 lines
Diff to previous 1.145 (colored)

Clear DMI state in on-disk inode when freed and
in in-core inode when reused.

Revision 1.145 / (download) - annotate - [select for diffs], Tue May 2 00:33:54 1995 UTC (22 years, 5 months ago) by yohn
Branch: MAIN
Changes since 1.144: +2 -2 lines
Diff to previous 1.144 (colored)

changed various lock_t and sema_t locks to mutex_t; changed bli_refcount
management to use atomicAddInt so xfs_bli_reflock spinlock could be
removed entirely

Revision 1.144 / (download) - annotate - [select for diffs], Sat Apr 29 17:27:01 1995 UTC (22 years, 5 months ago) by tap
Branch: MAIN
Changes since 1.143: +1 -8 lines
Diff to previous 1.143 (colored)

removed references to i_ticketlock field. It is nolonger necessary.

Revision 1.143 / (download) - annotate - [select for diffs], Fri Apr 28 21:07:55 1995 UTC (22 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.142: +42 -8 lines
Diff to previous 1.142 (colored)

261533 - Check for magic numbers when reading in meta-data blocks.

Revision 1.142 / (download) - annotate - [select for diffs], Thu Apr 27 21:06:22 1995 UTC (22 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.141: +5 -1 lines
Diff to previous 1.141 (colored)

274912 - For the simulation sync all inodes synchronously.
This keeps us from ever having to wait for the flush lock.

Revision 1.141 / (download) - annotate - [select for diffs], Wed Apr 26 22:49:47 1995 UTC (22 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.140: +1 -1 lines
Diff to previous 1.140 (colored)

Fixing up recovery from disk errors.

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

First cut at disk error handling

Revision 1.139 / (download) - annotate - [select for diffs], Sat Apr 1 06:04:02 1995 UTC (22 years, 6 months ago) by yohn
Branch: MAIN
Changes since 1.138: +10 -12 lines
Diff to previous 1.138 (colored)

i_pinsema changed to sync-variable m_ipinlock changed to a (spinning) mutex;

Revision 1.138 / (download) - annotate - [select for diffs], Fri Mar 31 20:05:35 1995 UTC (22 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.137: +3 -0 lines
Diff to previous 1.137 (colored)

Add an #ident line.
Include xfs_dir.h before xfs_dinode.h since it now has a dependency.

Revision 1.137 / (download) - annotate - [select for diffs], Tue Mar 28 16:43:39 1995 UTC (22 years, 6 months ago) by tap
Branch: MAIN
Changes since 1.136: +2 -0 lines
Diff to previous 1.136 (colored)

clear the inode flags field in the xfs_ifree() routine.

Revision 1.136 / (download) - annotate - [select for diffs], Thu Mar 9 03:57:20 1995 UTC (22 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.135: +1 -1 lines
Diff to previous 1.135 (colored)

Use b_ref.

Revision 1.135 / (download) - annotate - [select for diffs], Tue Mar 7 20:03:58 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.134: +15 -16 lines
Diff to previous 1.134 (colored)

Fix bug 265630.  Change xfs_iextents_copy to take a 32-bit
extents pointer so the compiler gets the types right.

Revision 1.134 / (download) - annotate - [select for diffs], Tue Mar 7 18:52:05 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.133: +10 -8 lines
Diff to previous 1.133 (colored)

Fix bug 251693 for xfs filesystems.  Implement the nanosecond portion
of file timestamps, instead of always leaving it 0.

Revision 1.133 / (download) - annotate - [select for diffs], Thu Mar 2 02:02:05 1995 UTC (22 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.132: +51 -10 lines
Diff to previous 1.132 (colored)

Use new xfs_file_last_byte() to calculate the byte up to
which to flush a file.  Also fix a few other places where
values could overflow with 64 bit files.

Revision 1.132 / (download) - annotate - [select for diffs], Tue Feb 28 01:09:11 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.131: +13 -10 lines
Diff to previous 1.131 (colored)

Implement 32 and 64 bit versions of the xfs_bmbt_rec type, for speed
on 64-bit kernels.

Revision 1.131 / (download) - annotate - [select for diffs], Wed Feb 22 20:47:26 1995 UTC (22 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.130: +5 -6 lines
Diff to previous 1.130 (colored)

Fix bugs 263156, 263632 - enable 64-bit file sizes in 64-bit kernels.

Revision 1.130 / (download) - annotate - [select for diffs], Thu Feb 9 03:19:55 1995 UTC (22 years, 8 months ago) by ajs
Branch: MAIN
Changes since 1.129: +112 -14 lines
Diff to previous 1.129 (colored)

259540 - Make changes so that inodes are read in from disk
in buffers of at least size XFS_INODE_CLUSTER_SIZE.

Revision 1.129 / (download) - annotate - [select for diffs], Wed Feb 8 03:36:16 1995 UTC (22 years, 8 months ago) by ajs
Branch: MAIN
Changes since 1.128: +1 -8 lines
Diff to previous 1.128 (colored)

261228 - export xfs_inotobp() for xfs_sync().

Revision 1.128 / (download) - annotate - [select for diffs], Tue Jan 31 18:59:07 1995 UTC (22 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.127: +0 -10 lines
Diff to previous 1.127 (colored)

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

Revision 1.127 / (download) - annotate - [select for diffs], Tue Jan 31 00:08:34 1995 UTC (22 years, 8 months ago) by tap
Branch: MAIN
Changes since 1.126: +1 -1 lines
Diff to previous 1.126 (colored)

in the XFS simulator, define _KERNEL before including params.h. This
causes the off_t type to be defined as a long long rather than a long.

Revision 1.126 / (download) - annotate - [select for diffs], Thu Dec 22 00:37:39 1994 UTC (22 years, 9 months ago) by tap
Branch: MAIN
Changes since 1.125: +1 -0 lines
Diff to previous 1.125 (colored)

add return(0) to so the xfs_iroundup() will compile without warnings.

Revision 1.125 / (download) - annotate - [select for diffs], Thu Dec 15 16:54:40 1994 UTC (22 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.124: +18 -0 lines
Diff to previous 1.124 (colored)

253563 Prevent disk error panics when we are given bogus inode
numbers from layered file systems via xfs_vget().  We now check
that the inode buffer to be read is within the bounds of the
file system before trying to read it.

Revision 1.124 / (download) - annotate - [select for diffs], Wed Dec 7 23:20:18 1994 UTC (22 years, 10 months ago) by tap
Branch: MAIN
Changes since 1.123: +4 -0 lines
Diff to previous 1.123 (colored)

modify xfs_isize_check() to skip realtime files. This is for debugging
purposes only.

Revision 1.123 / (download) - annotate - [select for diffs], Wed Dec 7 01:24:37 1994 UTC (22 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.122: +29 -4 lines
Diff to previous 1.122 (colored)

Fix bug 252460 - don't update timestamps in readonly xfs filesystems.

Revision 1.122 / (download) - annotate - [select for diffs], Mon Dec 5 18:25:01 1994 UTC (22 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.121: +5 -5 lines
Diff to previous 1.121 (colored)

In xfs_iread, don't panic if we read something that isn't an inode,
just return null.  This can happen legitimately if we get an nfs handle
for an inode number that has gone away across a dump/mkfs/restore.

Revision 1.121 / (download) - annotate - [select for diffs], Fri Dec 2 01:23:36 1994 UTC (22 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.120: +15 -0 lines
Diff to previous 1.120 (colored)

Add panics to xfs_iread() and xfs_ialloc() in an attempt to
catch a bug a few of our beta sites have seen.

Revision 1.120 / (download) - annotate - [select for diffs], Thu Dec 1 02:14:50 1994 UTC (22 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.119: +4 -0 lines
Diff to previous 1.119 (colored)

ifdef out the range lock for now.  It is unused.

Revision 1.119 / (download) - annotate - [select for diffs], Wed Nov 30 19:51:11 1994 UTC (22 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.118: +1 -1 lines
Diff to previous 1.118 (colored)

Reduce the number of extents we free at once from 4 to 2.

Revision 1.118 / (download) - annotate - [select for diffs], Tue Nov 22 17:47:56 1994 UTC (22 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.117: +2 -2 lines
Diff to previous 1.117 (colored)

Use a value large enough to hold the largest inode offset
in xfs_iunlink() and xfs_iunlink_remove().  The signed short
being used didn't work for 64k block sizes.

Revision 1.117 / (download) - annotate - [select for diffs], Fri Nov 18 17:19:06 1994 UTC (22 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.116: +0 -3 lines
Diff to previous 1.116 (colored)

250425 - Don't set the inode timestamps from xfs_itruncate_finish().
We'll handle that in the caller.

Revision 1.116 / (download) - annotate - [select for diffs], Fri Nov 18 00:31:57 1994 UTC (22 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.115: +10 -5 lines
Diff to previous 1.115 (colored)

Eliminate the synchronous transaction in xfs_itruncate_finish
when it is unnecessary due to the mount being synchronous.

Revision 1.115 / (download) - annotate - [select for diffs], Tue Nov 15 17:58:45 1994 UTC (22 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.114: +14 -15 lines
Diff to previous 1.114 (colored)

Modify the xfs_iflush() routine to allow the delayed write
flushing of inodes even when they are still in the AIL.
Also extend some of the data flushing done to account for
overallocated blocks.

Revision 1.114 / (download) - annotate - [select for diffs], Thu Oct 27 21:09:55 1994 UTC (22 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.113: +34 -0 lines
Diff to previous 1.113 (colored)

Add the routine xfs_swappable() to be called to
determine whether it is OK to use a given file
as a swap file.

Revision 1.113 / (download) - annotate - [select for diffs], Wed Oct 26 17:57:22 1994 UTC (22 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.112: +3 -1 lines
Diff to previous 1.112 (colored)

Make mkfs work again, as a side effect of the bug fix for 246121
I broke the case in xfs_ialloc where the parent inode is null.

Revision 1.112 / (download) - annotate - [select for diffs], Tue Oct 25 20:50:50 1994 UTC (22 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.111: +27 -0 lines
Diff to previous 1.111 (colored)

Fix bug 246121 - honor setgid bit on directories, and set group id
of new files to the parent directory owner.  Copied from EFS.

Revision 1.111 / (download) - annotate - [select for diffs], Tue Oct 11 22:06:26 1994 UTC (23 years ago) by doucette
Branch: MAIN
Changes since 1.110: +4 -0 lines
Diff to previous 1.110 (colored)

#ifndef SIM code not needed for programs linking with libsim.a, to
make them smaller.

Revision 1.110 / (download) - annotate - [select for diffs], Mon Oct 3 18:39:19 1994 UTC (23 years ago) by ajs
Branch: MAIN
Changes since 1.109: +2 -2 lines
Diff to previous 1.109 (colored)

Modify the ASSERTs in the file truncation code to deal with
truncating a 0 length file to 0.

Revision 1.109 / (download) - annotate - [select for diffs], Sun Oct 2 00:48:44 1994 UTC (23 years ago) by ajs
Branch: MAIN
Changes since 1.108: +64 -9 lines
Diff to previous 1.108 (colored)

Improve the inode flushing scheme to allow delwri flushs
for inodes which are not in the AIL.

Revision 1.108 / (download) - annotate - [select for diffs], Wed Sep 28 23:28:42 1994 UTC (23 years ago) by ajs
Branch: MAIN
Changes since 1.107: +19 -5 lines
Diff to previous 1.107 (colored)

Add calls to remapf() in xfs_itruncate_start() so
that we get all mapped pages flushed as well.

Revision 1.107 / (download) - annotate - [select for diffs], Wed Sep 28 15:11:07 1994 UTC (23 years ago) by ajs
Branch: MAIN
Changes since 1.106: +11 -6 lines
Diff to previous 1.106 (colored)

Use the new xfs_trans_inode_buf() call on inode buffers
logged in xfs_iunlink() and xfs_iunlink_remove() so that
they'll be handled properly during recovery.  Also fix the
logging of the di_next_unlinked fields to log exactly the
bytes in the field rather than the 1 extra we were doing.

Revision 1.106 / (download) - annotate - [select for diffs], Fri Sep 23 16:45:34 1994 UTC (23 years ago) by ajs
Branch: MAIN
Changes since 1.105: +8 -0 lines
Diff to previous 1.105 (colored)

Fix xfs_iread() to initialize di_mode if it is 0 in the on
disk inode.  This makes it possible for the code involved
in the release of the inode to see that the rest of the inode
is unitialized.

Revision 1.105 / (download) - annotate - [select for diffs], Tue Sep 20 17:36:44 1994 UTC (23 years ago) by tap
Branch: MAIN
Changes since 1.104: +4 -0 lines
Diff to previous 1.104 (colored)

add ifndef SIM around references to xfs_remove_remaining_tickets().

Revision 1.104 / (download) - annotate - [select for diffs], Tue Sep 20 15:56:30 1994 UTC (23 years ago) by tap
Branch: MAIN
Changes since 1.103: +3 -0 lines
Diff to previous 1.103 (colored)

add the call to xfs_free_remaining_tickets() in xfs_idestroy().

Revision 1.103 / (download) - annotate - [select for diffs], Thu Sep 15 21:55:28 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.102: +36 -7 lines
Diff to previous 1.102 (colored)

Fix xfs_iflush_all() to handle new inode list scheme.
Also add ASSERTs near file flushing calls.

Revision 1.102 / (download) - annotate - [select for diffs], Sat Sep 10 15:50:33 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.101: +6 -0 lines
Diff to previous 1.101 (colored)

Add more ASSERTs in the file truncation and flushing paths.

Revision 1.101 / (download) - annotate - [select for diffs], Fri Sep 9 22:04:42 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.100: +3 -2 lines
Diff to previous 1.100 (colored)

Make flushing calls more accurate.

Revision 1.100 / (download) - annotate - [select for diffs], Thu Sep 8 03:24:04 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.99: +25 -1 lines
Diff to previous 1.99 (colored)

Change truncate to synchronously set the file size to the
new size in the first transaction of the truncation.  This
keeps us from having to make all of the transactions
synchronous.

Revision 1.99 / (download) - annotate - [select for diffs], Sat Sep 3 21:55:48 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.98: +4 -0 lines
Diff to previous 1.98 (colored)

Initialize and destroy trace buffers for rw and strat traces.

Revision 1.98 / (download) - annotate - [select for diffs], Wed Aug 31 22:34:47 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.97: +9 -19 lines
Diff to previous 1.97 (colored)

Change the truncate code to handle having blocks beyond
the end of the file.

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

Don't run size checks on non-REG files.

Revision 1.96 / (download) - annotate - [select for diffs], Thu Aug 25 03:27:09 1994 UTC (23 years, 1 month ago) by ajs
Branch: MAIN
Changes since 1.95: +38 -0 lines
Diff to previous 1.95 (colored)

Add code to free the new range lock stuff and more code
for checking the di_next_unlinked values of on disk inodes.

Revision 1.95 / (download) - annotate - [select for diffs], Sat Aug 6 03:59:42 1994 UTC (23 years, 2 months ago) by orosz
Branch: MAIN
Changes since 1.94: +2 -0 lines
Diff to previous 1.94 (colored)

Added dmi support.

Revision 1.94 / (download) - annotate - [select for diffs], Sat Aug 6 01:16:39 1994 UTC (23 years, 2 months ago) by ajs
Branch: MAIN
Changes since 1.93: +42 -0 lines
Diff to previous 1.93 (colored)

Add ASSERTs and debugging code to catch iunlink
and itruncate bugs.

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

change i_ticketlock to a spin lock.

Revision 1.92 / (download) - annotate - [select for diffs], Fri Jul 22 01:14:10 1994 UTC (23 years, 2 months ago) by doucette
Branch: MAIN
Changes since 1.91: +1 -0 lines
Diff to previous 1.91 (colored)

Reorder include files with xfs_alloc.h before xfs_bmap.h since
xfs_bmap.h now mentions xfs_alloctype_t.

Revision 1.91 / (download) - annotate - [select for diffs], Wed Jul 6 20:18:54 1994 UTC (23 years, 3 months ago) by ajs
Branch: MAIN
Changes since 1.90: +3 -2 lines
Diff to previous 1.90 (colored)

Reduce the maximum number of extents that we will free from
a file in a single transaction significantly.  Freeing an
extent can touch a large number of allocation btree blocks,
so we need to limit the number we'll need to lock at once.

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

Eliminate xfs_itobp().  It is being replace with xfs_inotobp().
Change references to XFS_BTOD to XFS_FSB_TO_BB.

Revision 1.89 / (download) - annotate - [select for diffs], Sat Jun 25 21:42:46 1994 UTC (23 years, 3 months ago) by ajs
Branch: MAIN
Changes since 1.88: +3 -4 lines
Diff to previous 1.88 (colored)

Remove include of obsolete xfs_bio.h.

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

Add second parameter to ktrace_alloc() calls.

Revision 1.87 / (download) - annotate - [select for diffs], Fri Jun 10 10:48:40 1994 UTC (23 years, 4 months ago) by orosz
Branch: MAIN
Changes since 1.86: +1 -1 lines
Diff to previous 1.86 (colored)

Remove old typedef "error_status_t".

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

Eliminate include of <sys/uuid.h>.

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

Use new log reservation scheme

Revision 1.84 / (download) - annotate - [select for diffs], Thu Jun 2 23:20:51 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.83: +31 -9 lines
Diff to previous 1.83 (colored)

Split xfs_igrow() into xfs_igrow_start() and xfs_igrow_finish().
This allows us to do the zeroing of any blocks at the end of
the file before the inode is locked within a transaction.

Revision 1.83 / (download) - annotate - [select for diffs], Wed Jun 1 23:02:03 1994 UTC (23 years, 4 months ago) by doucette
Branch: MAIN
Changes since 1.82: +3 -1 lines
Diff to previous 1.82 (colored)

When setting up a new inode, don't or in flags, just set them.  Otherwise,
we can end up with both inline and extents flags set.

Revision 1.82 / (download) - annotate - [select for diffs], Wed May 25 21:27:07 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.81: +254 -12 lines
Diff to previous 1.81 (colored)

Add the routines xfs_iunlink() and xfs_iunlink_remove()
to deal with adding and removing inodes from the AGI list
of unlinked but not yet freed inodes.

Revision 1.81 / (download) - annotate - [select for diffs], Mon May 23 21:50:24 1994 UTC (23 years, 4 months ago) by ajs
Branch: MAIN
Changes since 1.80: +1 -2 lines
Diff to previous 1.80 (colored)

Move zone allocator initialization to xfs_init().

Revision 1.80 / (download) - annotate - [select for diffs], Mon May 16 21:02:20 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.79: +27 -7 lines
Diff to previous 1.79 (colored)

Change the inode flushing/logging coordination so that
the proper things always get logged.

Revision 1.79 / (download) - annotate - [select for diffs], Sun May 15 06:03:29 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.78: +20 -1 lines
Diff to previous 1.78 (colored)

Add per-inode tracing of bmap btree activity.

Add some more asserts, in inode initialization/freeing path.

Revision 1.78 / (download) - annotate - [select for diffs], Fri May 13 18:56:18 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.77: +2 -2 lines
Diff to previous 1.77 (colored)

Remove the sameag flags, don't need them any more.

Revision 1.77 / (download) - annotate - [select for diffs], Wed May 11 18:12:42 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.76: +38 -2 lines
Diff to previous 1.76 (colored)

Add more checking code for extents coming in and going out.
Also change xfs_itruncate_finish() to use new chained
transaction scheme.

Revision 1.76 / (download) - annotate - [select for diffs], Wed May 11 00:43:45 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.75: +3 -1 lines
Diff to previous 1.75 (colored)

Add extent list tracing support: idbg xbxatrace, xbxstrace commands.

Revision 1.75 / (download) - annotate - [select for diffs], Fri May 6 17:30:53 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.74: +77 -3 lines
Diff to previous 1.74 (colored)

Add the function xfs_iextents_copy() to copy the
real extents (as opposed to the delayed allocation
extents) into a given buffer.  Use this from xfs_iflush()
to flush out only the real extents to disk.

Revision 1.74 / (download) - annotate - [select for diffs], Wed May 4 00:21:06 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.73: +16 -50 lines
Diff to previous 1.73 (colored)

Add new include file xfs_ialloc_btree.h.  Caused some include reordering.
Remove old inode freelist support.  Replace xfs_dialloc_ino and
xfs_dialloc_finish with xfs_dialloc.

Revision 1.73 / (download) - annotate - [select for diffs], Sun May 1 18:32:28 1994 UTC (23 years, 5 months ago) by doucette
Branch: MAIN
Changes since 1.72: +3 -3 lines
Diff to previous 1.72 (colored)

Add XFS_LITINO_BROOT macro giving the size the i_broot is allowed to be.

This is different from XFS_LITINO because the btree root is compressed
before being put in the on-disk inode.

Revision 1.72 / (download) - annotate - [select for diffs], Thu Apr 28 20:46:48 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.71: +22 -7 lines
Diff to previous 1.71 (colored)

Add calls to xfs_log_force() before going to sleep waiting for
an inode or inode buffer to be unpinned.  This makes sure that
we won't be sleeping for too long.

Revision 1.71 / (download) - annotate - [select for diffs], Thu Apr 28 18:41:44 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.70: +8 -1 lines
Diff to previous 1.70 (colored)

Bump the di_gen field in xfs_ifree().

Revision 1.70 / (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.69: +4 -3 lines
Diff to previous 1.69 (colored)

Use XFS_ERROR to return error values.

Revision 1.69 / (download) - annotate - [select for diffs], Fri Apr 22 00:21:33 1994 UTC (23 years, 5 months ago) by ajs
Branch: MAIN
Changes since 1.68: +145 -70 lines
Diff to previous 1.68 (colored)

Split xfs_itruncate() into xfs_itruncate_start() and
xfs_itruncate_finish().  This is used to avoid deadlock
when calling ptossvp() on the file being truncated.

Revision 1.68 / (download) - annotate - [select for diffs], Mon Apr 18 21:23:50 1994 UTC (23 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.67: +6 -0 lines
Diff to previous 1.67 (colored)

Add more ASSERTs in the realloc and flush paths.

Revision 1.67 / (download) - annotate - [select for diffs], Sun Apr 17 23:34:27 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.66: +7 -7 lines
Diff to previous 1.66 (colored)

Change "functional" macros' names from lower to uppercase, for consistency
with everything else.

Revision 1.66 / (download) - annotate - [select for diffs], Sat Apr 16 20:51:49 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.65: +23 -10 lines
Diff to previous 1.65 (colored)

Always set i_real_bytes when iu_extents/iu_data is set to allocated
memory, and then we can use that size to free the memory.
Problem appeared in creating new symlinks.

Revision 1.65 / (download) - annotate - [select for diffs], Fri Apr 15 15:02:05 1994 UTC (23 years, 6 months ago) by tap
Branch: MAIN
Changes since 1.64: +1 -0 lines
Diff to previous 1.64 (colored)

add "sys/uuid.h" include file.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Apr 14 22:50:48 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)

Fix some types of bmap block pointers from xfs_bmbt_ptr_t to xfs_fsblock_t.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Apr 14 00:19:29 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.62: +55 -16 lines
Diff to previous 1.62 (colored)

Add xfs_iroundup routine to compute powers of two for changes
to xfs_iext_realloc (don't really realloc so often).
In xfs_iroot_realloc, when converting from btree to extents, blow away
the btree root.
Ifdef out the inode print routine except in SIM.

Revision 1.62 / (download) - annotate - [select for diffs], Wed Apr 13 18:12:14 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.61: +3 -4 lines
Diff to previous 1.61 (colored)

Don't call xfs_print_... routines any more, they are only present in
the sim directory.

Revision 1.61 / (download) - annotate - [select for diffs], Wed Apr 13 02:02:41 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.60: +5 -5 lines
Diff to previous 1.60 (colored)

Use xfs_bmbt_block_t instead of generic xfs_btree_lblock_t.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Apr 12 01:16:45 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.59: +12 -16 lines
Diff to previous 1.59 (colored)

Split xfs_fsblock_t into multiple types.
Use mp instead of sbp in all the address macros.

Revision 1.59 / (download) - annotate - [select for diffs], Sat Apr 9 19:01:16 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.58: +9 -60 lines
Diff to previous 1.58 (colored)

Rip out code to copy bmap btree roots in and out of incore inodes,
instead use the new conversion routines.  Part of change to make the roots
smaller on-disk.
Use XFS_BMAP_INIT instead of looking inside flist structure.

Revision 1.58 / (download) - annotate - [select for diffs], Wed Apr 6 21:28:43 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.57: +48 -8 lines
Diff to previous 1.57 (colored)

Rewrite xfs_iflush_all to be like efs, and flush out the vnodes.

Revision 1.57 / (download) - annotate - [select for diffs], Wed Apr 6 20:59:45 1994 UTC (23 years, 6 months ago) by ajs
Branch: MAIN
Changes since 1.56: +22 -13 lines
Diff to previous 1.56 (colored)

Re-work xfs_ialloc() to use the new xfs_dialloc_ino()
and xfs_dialloc_finish() routines.

Revision 1.56 / (download) - annotate - [select for diffs], Mon Apr 4 18:14:11 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.55: +9 -0 lines
Diff to previous 1.55 (colored)

Add more support for XFS_DINODE_FMT_UUID files.

Revision 1.55 / (download) - annotate - [select for diffs], Thu Mar 24 22:20:36 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.54: +2 -0 lines
Diff to previous 1.54 (colored)

Implement incore inode field i_delayed_blks so getattr can return
the delayed blocks in the block count for a file.

Revision 1.54 / (download) - annotate - [select for diffs], Thu Mar 24 02:39:18 1994 UTC (23 years, 6 months ago) by doucette
Branch: MAIN
Changes since 1.53: +1 -1 lines
Diff to previous 1.53 (colored)

Fix initialization too late of sbp in xfs_itruncate.

Revision 1.53 / (download) - annotate - [select for diffs], Thu Mar 24 01:22:17 1994 UTC (23 years, 6 months ago) by tap
Branch: MAIN
Changes since 1.52: +1 -0 lines
Diff to previous 1.52 (colored)

free inode ticket lock in xfs_idestroy().

Revision 1.52 / (download) - annotate - [select for diffs], Fri Mar 18 00:30:13 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.51: +1 -0 lines
Diff to previous 1.51 (colored)

Fix handling of di_nexti field, which chains all the allocated inodes
together; it was getting lost.

Revision 1.51 / (download) - annotate - [select for diffs], Tue Mar 15 23:47:19 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.50: +3 -2 lines
Diff to previous 1.50 (colored)

Add inode field di_nblocks (number of direct and indirect fs blocks)
and keep track of it in the bmap code.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Mar 14 01:09:16 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.49: +13 -5 lines
Diff to previous 1.49 (colored)

Adjusting the call to ptossvp() from xfs_itruncate() to match
the fs block size.
Adding the cred pointer to xfs_igrow() and its call to xfs_zero_eof().

Revision 1.49 / (download) - annotate - [select for diffs], Tue Mar 8 23:49:32 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.48: +2 -1 lines
Diff to previous 1.48 (colored)

Fix a bogus assertion in xfs_ifree().

Revision 1.48 / (download) - annotate - [select for diffs], Mon Mar 7 21:40:00 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.47: +45 -1 lines
Diff to previous 1.47 (colored)

Add xfs_igrow(), update timestamps in xfs_itrunc(),
and use new xfs_bmap_finish().

Revision 1.47 / (download) - annotate - [select for diffs], Mon Mar 7 00:52:28 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.46: +8 -4 lines
Diff to previous 1.46 (colored)

Fixes for xfs_itruncate().

Revision 1.46 / (download) - annotate - [select for diffs], Fri Mar 4 18:14:48 1994 UTC (23 years, 7 months ago) by tap
Branch: MAIN
Changes since 1.45: +1 -1 lines
Diff to previous 1.45 (colored)

rearranged order of include files: grio.h needs to be before xfs_inode.h

Revision 1.45 / (download) - annotate - [select for diffs], Fri Mar 4 01:49:10 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.44: +117 -2 lines
Diff to previous 1.44 (colored)

Add the first version of xfs_itruncate().

Revision 1.44 / (download) - annotate - [select for diffs], Thu Mar 3 22:58:35 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.43: +29 -11 lines
Diff to previous 1.43 (colored)

Add routine xfs_iaccess to check access rights to a file, it's just like
efs_iaccess.

Revision 1.43 / (download) - annotate - [select for diffs], Tue Mar 1 02:30:52 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.42: +13 -1 lines
Diff to previous 1.42 (colored)

Add xfs_iflush_all routine to flush all incore inodes to disk.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Feb 25 21:09:01 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.41: +1 -0 lines
Diff to previous 1.41 (colored)

Fix minor compile problem

Revision 1.41 / (download) - annotate - [select for diffs], Fri Feb 25 20:49:28 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.40: +35 -9 lines
Diff to previous 1.40 (colored)

Change the management of the inline data buffer
to ensure that its size is always a multiple of 4.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Feb 24 23:43:02 1994 UTC (23 years, 7 months ago) by doucette
Branch: MAIN
Changes since 1.39: +14 -11 lines
Diff to previous 1.39 (colored)

For LOCAL files, make i_bytes be 0 and iu_data be null for empty files.
Account for this in xfs_iformat and xfs_idata_realloc.

Revision 1.39 / (download) - annotate - [select for diffs], Wed Feb 23 21:23:51 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.38: +42 -1 lines
Diff to previous 1.38 (colored)

Implement xfs_ifree().

Revision 1.38 / (download) - annotate - [select for diffs], Tue Feb 22 19:52:07 1994 UTC (23 years, 7 months ago) by ajs
Branch: MAIN
Changes since 1.37: +6 -8 lines
Diff to previous 1.37 (colored)

Modify use of ili_logged in xfs_iflush() a bit,
since we're no longer taking the extra vnode reference
in xfs_trans_log_inode().

Revision 1.37 / (download) - annotate - [select for diffs], Tue Feb 22 16:29:47 1994 UTC (23 years, 7 months ago) by tap
Branch: MAIN
Changes since 1.36: +1 -0 lines
Diff to previous 1.36 (colored)

add include file sys/grio.h.

Revision 1.36 / (download) - annotate - [select for diffs], Fri Feb 18 01:06:58 1994 UTC (23 years, 7 months ago) by wei_hu
Branch: MAIN
Changes since 1.35: +26 -4 lines
Diff to previous 1.35 (colored)

new i/f to xfs_ialloc and xfs_dialloc to signal caller when current
transaction needs to be committed and call retried.

Revision 1.35 / (download) - annotate - [select for diffs], Wed Feb 16 23:22:10 1994 UTC (23 years, 8 months ago) by ajs
Branch: MAIN
Changes since 1.34: +10 -5 lines
Diff to previous 1.34 (colored)

Fix up the handling of i_bytes.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Feb 10 00:38:41 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.33: +1 -1 lines
Diff to previous 1.33 (colored)

Change xfs_ialloc's call to xfs_dialloc, to allow for null parent inode.
This is for mfks's benefit.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Feb 1 02:31:33 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.32: +1 -1 lines
Diff to previous 1.32 (colored)

Fix includes after splitting xfs_alloc_btree.h off from xfs_alloc.h.

Revision 1.32 / (download) - annotate - [select for diffs], Tue Feb 1 00:18:55 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 (colored)

Fix includes after splitting xfs_bmap_btree.h off from xfs_bmap.h.

Revision 1.31 / (download) - annotate - [select for diffs], Sat Jan 29 00:45:54 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.30: +18 -0 lines
Diff to previous 1.30 (colored)

Improve xfs_iprint so it prints the incore extent list.

Revision 1.30 / (download) - annotate - [select for diffs], Fri Jan 28 19:58:13 1994 UTC (23 years, 8 months ago) by ajs
Branch: MAIN
Changes since 1.29: +13 -3 lines
Diff to previous 1.29 (colored)

Fixing xfs_iflush() to handle do nothing with clean inodes
and handle dirty but not logged inodes properly.

Revision 1.29 / (download) - annotate - [select for diffs], Wed Jan 19 00:30:18 1994 UTC (23 years, 8 months ago) by doucette
Branch: MAIN
Changes since 1.28: +6 -11 lines
Diff to previous 1.28 (colored)

Move definitions for kmem_... functions out of sim.h, use sys/kmem.h instead.
Add zone allocation support to the simulation.

Revision 1.28 / (download) - annotate - [select for diffs], Tue Jan 11 19:33:45 1994 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.27: +5 -0 lines
Diff to previous 1.27 (colored)

Print new fields di_extsize and di_flags in the inode printer.

Revision 1.27 / (download) - annotate - [select for diffs], Fri Jan 7 22:15:51 1994 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.26: +2 -3 lines
Diff to previous 1.26 (colored)

Remove redundant mp parameter from xfs_iread_extents and from
xfs_bmap_read_extents.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Jan 5 01:51:30 1994 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.25: +1 -7 lines
Diff to previous 1.25 (colored)

Remove i_bno and i_index from the incore inode, they're not
needed since i_ino contains the address of the inode trivially.

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jan 5 01:34:16 1994 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.24: +4 -4 lines
Diff to previous 1.24 (colored)

Use new buffer cache interfaces.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Dec 31 01:55:17 1993 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.23: +9 -6 lines
Diff to previous 1.23 (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.23 / (download) - annotate - [select for diffs], Thu Dec 30 22:34:31 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.22: +1 -2 lines
Diff to previous 1.22 (colored)

Change type returned by xfs_dilocate from int to void, since it never fails.

Revision 1.22 / (download) - annotate - [select for diffs], Wed Dec 29 03:04:56 1993 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.21: +40 -7 lines
Diff to previous 1.21 (colored)

Clean up and comment some of the code.
Also change xfs_idestroy() to free the new locks.

Revision 1.21 / (download) - annotate - [select for diffs], Tue Dec 28 06:44:06 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.20: +13 -13 lines
Diff to previous 1.20 (colored)

Convert to using two separate btree header block structures, with long
block pointers for BMAP btrees.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Dec 22 19:15:09 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.19: +1 -1 lines
Diff to previous 1.19 (colored)

Fix bcopy size in xfs_irealloc_broot, causing memory corruption.

Revision 1.19 / (download) - annotate - [select for diffs], Tue Dec 21 02:53:34 1993 UTC (23 years, 9 months ago) by doucette
Branch: MAIN
Changes since 1.18: +26 -1 lines
Diff to previous 1.18 (colored)

Fix xfs_iflush on btree roots, it wasn't copying the pointer values in
the btree block to the right spot.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Dec 20 19:27:49 1993 UTC (23 years, 9 months ago) by ajs
Branch: MAIN
Changes since 1.17: +1 -4 lines
Diff to previous 1.17 (colored)

Enable the vnode calls.

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

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

Revision 1.16 / (download) - annotate - [select for diffs], Tue Dec 14 00:36:47 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.15: +10 -3 lines
Diff to previous 1.15 (colored)

Set new inodes to XFS_IEXTENTS for now.  Only copy extents
for non-zero length files (this is a result of the first change).

Revision 1.15 / (download) - annotate - [select for diffs], Fri Dec 10 03:07:23 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.14: +12 -1 lines
Diff to previous 1.14 (colored)

Add body of xfs_iread_extents.  Change default format for real files
to XFS_DINODE_FMT_EXTENTS for now, since there's no code to deal with
LOCAL files.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Dec 9 06:06:07 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.13: +12 -5 lines
Diff to previous 1.13 (colored)

Various cleanups to get kernel-mode make to work.  Fix includes and
other problems for #ifndef SIM code.

Revision 1.13 / (download) - annotate - [select for diffs], Thu Dec 9 01:41:20 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.12: +16 -12 lines
Diff to previous 1.12 (colored)

Add stub for xfs_iread_extents.  Fix minor problems in xfs_iformat.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Dec 3 19:46:14 1993 UTC (23 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11 (colored)

Simple comment fix.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Nov 25 01:24:20 1993 UTC (23 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.10: +221 -11 lines
Diff to previous 1.10 (colored)

Added inode pinning and flushing support.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Nov 23 17:23:17 1993 UTC (23 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (colored)

Fixing inode number print in xfs_iprint().

Revision 1.9 / (download) - annotate - [select for diffs], Fri Nov 19 21:42:39 1993 UTC (23 years, 10 months ago) by doucette
Branch: MAIN
Changes since 1.8: +6 -11 lines
Diff to previous 1.8 (colored)

Include sys/uuid.h everywhere.

Fix call to xfs_dialloc.  Use real uuid interfaces and time variable.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Nov 18 17:13:43 1993 UTC (23 years, 10 months ago) by ajs
Branch: MAIN
Changes since 1.7: +67 -1 lines
Diff to previous 1.7 (colored)

Add xfs_iprint() and use xfs_trans_iget() in xfs_ialloc().

Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 17 02:15:07 1993 UTC (23 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.6: +66 -24 lines
Diff to previous 1.6 (colored)

Cleaning up inode state management.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Nov 17 01:42:13 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.5: +23 -20 lines
Diff to previous 1.5 (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.5 / (download) - annotate - [select for diffs], Sat Nov 13 02:00:49 1993 UTC (23 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.4: +55 -5 lines
Diff to previous 1.4 (colored)

More complete version of xfs_ialloc().

Revision 1.4 / (download) - annotate - [select for diffs], Sat Nov 13 00:43:09 1993 UTC (23 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.3: +280 -14 lines
Diff to previous 1.3 (colored)

Added realloc routines and an incomplete xfs_ialloc() routine.

Revision 1.3 / (download) - annotate - [select for diffs], Fri Nov 12 18:50:24 1993 UTC (23 years, 11 months ago) by doucette
Branch: MAIN
Changes since 1.2: +24 -18 lines
Diff to previous 1.2 (colored)

Make mount struct contain sb, not a pointer to it.  Add mp argument to
some routines, replace tp with mp in others.  Put the mp in the cursor,
as well as blocklog.

Add xfs_imap routine.

Revision 1.2 / (download) - annotate - [select for diffs], Thu Nov 11 22:32:05 1993 UTC (23 years, 11 months ago) by ajs
Branch: MAIN
Changes since 1.1: +37 -0 lines
Diff to previous 1.1 (colored)

Added xfs_idestroy() for freeing inodes.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Nov 11 19:48:00 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>