GitHub/moto-9609/android_kernel_motorola_exynos9610.git
19 years ago[XFS] fix XFS quota for modular XFS builds
Nathan Scott [Thu, 3 Nov 2005 02:55:06 +0000 (13:55 +1100)]
[XFS] fix XFS quota for modular XFS builds

Cannot build XFS filesystem support as module with quota support.  It
works only when the XFS filesystem support is compiled into the kernel.
Menuconfig prevents from setting CONFIG_XFS_FS=m and CONFIG_XFS_QUOTA=y.

How to reproduce: configure the XFS filesystem with quota support as
module.  The resulting kernel won't have quota support compiled into
xfs.ko.

Fix: Changing the fs/xfs/Kconfig file from tristate to bool lets you
configure the quota support to be compiled into the XFS module.  The
Makefile-linux-2.6 checks only for CONFIG_XFS_QUOTA=y.

Signed-off-by: Dimitri Puzin <tristan-777@ddkom-online.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Add a mechanism for XFS to use the generic quota sync method.
Nathan Scott [Thu, 3 Nov 2005 02:53:34 +0000 (13:53 +1100)]
[XFS] Add a mechanism for XFS to use the generic quota sync method.
This is now used to issue a delayed allocation flush before reporting
quota, which allows the used space quota report to match reality.

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Add the project quota type into the XFS quota header.
Nathan Scott [Thu, 3 Nov 2005 02:51:23 +0000 (13:51 +1100)]
[XFS] Add the project quota type into the XFS quota header.

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Update XFS quota header license to match the SGI boilerplate.
Nathan Scott [Thu, 3 Nov 2005 02:50:05 +0000 (13:50 +1100)]
[XFS] Update XFS quota header license to match the SGI boilerplate.

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Update XFS documentation.
Nathan Scott [Thu, 3 Nov 2005 02:46:43 +0000 (13:46 +1100)]
[XFS] Update XFS documentation.

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fixed the inconsistency between attribute b-tree intermidiate node
Yingping Lu [Wed, 2 Nov 2005 23:31:47 +0000 (10:31 +1100)]
[XFS] Fixed the inconsistency between attribute b-tree intermidiate node
and leaf blocks. The problem cam from xfsqa test 117.

SGI-PV: 940655
SGI-Modid: xfs-linux:xfs-kern:201527a

Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Ensure fsync does not incorrectly return EIO for pages beyond EOF.
Nathan Scott [Wed, 2 Nov 2005 04:14:09 +0000 (15:14 +1100)]
[XFS] Ensure fsync does not incorrectly return EIO for pages beyond EOF.

SGI-PV: 944819
SGI-Modid: xfs-linux:xfs-kern:24236a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fix calculation of reserved AGs for inodes in 32-bit inode mode
Eric Sandeen [Wed, 2 Nov 2005 04:13:42 +0000 (15:13 +1100)]
[XFS] Fix calculation of reserved AGs for inodes in 32-bit inode mode
Spotted by Roger Willcocks <willcor @at@ gmail.com>

SGI-PV: 944858
SGI-Modid: xfs-linux:xfs-kern:201213a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fix boundary conditions when issuing direct IOs from large userspace
Nathan Scott [Wed, 2 Nov 2005 04:13:13 +0000 (15:13 +1100)]
[XFS] Fix boundary conditions when issuing direct IOs from large userspace
buffers.

SGI-PV: 944820
SGI-Modid: xfs-linux:xfs-kern:24223a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Remove an unhelpful ifdef, the comment above the routine explains
Nathan Scott [Wed, 2 Nov 2005 04:12:28 +0000 (15:12 +1100)]
[XFS] Remove an unhelpful ifdef, the comment above the routine explains
the purpose well enough here.

SGI-PV: 944821
SGI-Modid: xfs-linux:xfs-kern:24214a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Remove old, broken nolog-mode code - noone plans to ever fix it.
Nathan Scott [Wed, 2 Nov 2005 04:12:04 +0000 (15:12 +1100)]
[XFS] Remove old, broken nolog-mode code - noone plans to ever fix it.

SGI-PV: 944821
SGI-Modid: xfs-linux:xfs-kern:24213a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Rework fid encode/decode wrt 64 bit inums interacting with NFS.
Nathan Scott [Wed, 2 Nov 2005 04:11:45 +0000 (15:11 +1100)]
[XFS] Rework fid encode/decode wrt 64 bit inums interacting with NFS.

SGI-PV: 937127
SGI-Modid: xfs-linux:xfs-kern:24201a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Endianess annotations for various allocator data structures
Christoph Hellwig [Wed, 2 Nov 2005 04:11:25 +0000 (15:11 +1100)]
[XFS] Endianess annotations for various allocator data structures

SGI-PV: 943272
SGI-Modid: xfs-linux:xfs-kern:201006a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] remove unused code from xfs_iomap_write_direct
Eric Sandeen [Wed, 2 Nov 2005 04:10:55 +0000 (15:10 +1100)]
[XFS] remove unused code from xfs_iomap_write_direct

SGI-PV: 943266
SGI-Modid: xfs-linux:xfs-kern:200996a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] fix old xfs_setattr mis-merge from irix; mostly harmless esp if not
Eric Sandeen [Wed, 2 Nov 2005 04:10:41 +0000 (15:10 +1100)]
[XFS] fix old xfs_setattr mis-merge from irix; mostly harmless esp if not
using xfs rt

SGI-PV: 944632
SGI-Modid: xfs-linux:xfs-kern:200983a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fixing size report discrepancy between ls and du caused by xfs_fsr
Yingping Lu [Wed, 2 Nov 2005 04:10:24 +0000 (15:10 +1100)]
[XFS] Fixing size report discrepancy between ls and du caused by xfs_fsr

SGI-PV: 943908
SGI-Modid: xfs-linux:xfs-kern:200874a

Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fixed a bug in reporting extent list for attribute fork running
Yingping Lu [Wed, 2 Nov 2005 04:09:54 +0000 (15:09 +1100)]
[XFS] Fixed a bug in reporting extent list for attribute fork running
xfs_bmap -a.

SGI-PV: 944075
SGI-Modid: xfs-linux:xfs-kern:200860a

Signed-off-by: Yingping Lu <yingping@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Simplify pagebuf_rele Remove a conditional that can not be true
Christoph Hellwig [Wed, 2 Nov 2005 04:09:35 +0000 (15:09 +1100)]
[XFS] Simplify pagebuf_rele  Remove a conditional that can not be true
anymore and simplify the final put path a little

SGI-PV: 908809
SGI-Modid: xfs-linux:xfs-kern:200790a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Rework the final mount options flag bit to make room for more.
Nathan Scott [Wed, 2 Nov 2005 04:09:22 +0000 (15:09 +1100)]
[XFS] Rework the final mount options flag bit to make room for more.

SGI-PV: 943866
SGI-Modid: xfs-linux:xfs-kern:24030a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Rework the dquot hash sizing heuristics.
Nathan Scott [Wed, 2 Nov 2005 04:08:25 +0000 (15:08 +1100)]
[XFS] Rework the dquot hash sizing heuristics.

SGI-PV: 943123
SGI-Modid: xfs-linux:xfs-kern:24012a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Add ATTR_NOSIZETOK definition for xfs_vnodeops.c change
Eric Sandeen [Wed, 2 Nov 2005 04:08:10 +0000 (15:08 +1100)]
[XFS] Add ATTR_NOSIZETOK definition for xfs_vnodeops.c change

SGI-PV: 942439
SGI-Modid: xfs-linux:xfs-kern:200185a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Disable attr2 by default, until a more appropriate time to enable
Nathan Scott [Wed, 2 Nov 2005 04:07:51 +0000 (15:07 +1100)]
[XFS] Disable attr2 by default, until a more appropriate time to enable
it.

SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:24002a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Prevent data corruption on extending truncate case from cxfs client
Eric Sandeen [Wed, 2 Nov 2005 04:07:34 +0000 (15:07 +1100)]
[XFS] Prevent data corruption on extending truncate case from cxfs client

SGI-PV: 942439
SGI-Modid: xfs-linux:xfs-kern:200152a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fix sparse warnings in ktrace.[ch]
Christoph Hellwig [Wed, 2 Nov 2005 04:07:23 +0000 (15:07 +1100)]
[XFS] Fix sparse warnings in ktrace.[ch]

SGI-PV: 943556
SGI-Modid: xfs-linux:xfs-kern:200113a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] silence gcc4 warnings. the directory ones are wrong because of
Christoph Hellwig [Wed, 2 Nov 2005 04:06:18 +0000 (15:06 +1100)]
[XFS] silence gcc4 warnings.  the directory ones are wrong because of
information gcc could not find out (that a directory always has a ..
entry), the others are outright gcc bugs.

SGI-PV: 943511
SGI-Modid: xfs-linux:xfs-kern:200055a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Remove unused type, xfs_gap_t.
Nathan Scott [Wed, 2 Nov 2005 04:05:34 +0000 (15:05 +1100)]
[XFS] Remove unused type, xfs_gap_t.

SGI-PV: 907752
SGI-Modid: xfs-linux:xfs-kern:23932a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] endianess annotations and cleanup for the quota code
Christoph Hellwig [Wed, 2 Nov 2005 04:01:12 +0000 (15:01 +1100)]
[XFS] endianess annotations and cleanup for the quota code

SGI-PV: 943272
SGI-Modid: xfs-linux:xfs-kern:199767a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Show additional mount options in /proc/mounts, fix up some debug
Nathan Scott [Wed, 2 Nov 2005 04:00:48 +0000 (15:00 +1100)]
[XFS] Show additional mount options in /proc/mounts, fix up some debug
code.

SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:23926a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fix up a 32/64 local flags variable issue when enabling attr2 mode.
Nathan Scott [Wed, 2 Nov 2005 04:00:20 +0000 (15:00 +1100)]
[XFS] Fix up a 32/64 local flags variable issue when enabling attr2 mode.

SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:23925a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Remove dead code in xfs_iomap_write_direct; save some stack
Eric Sandeen [Wed, 2 Nov 2005 04:00:01 +0000 (15:00 +1100)]
[XFS] Remove dead code in xfs_iomap_write_direct; save some stack

SGI-PV: 943266
SGI-Modid: xfs-linux:xfs-kern:199750a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Update license/copyright notices to match the prefered SGI
Nathan Scott [Wed, 2 Nov 2005 03:59:41 +0000 (14:59 +1100)]
[XFS] Update license/copyright notices to match the prefered SGI
boilerplate.

SGI-PV: 913862
SGI-Modid: xfs-linux:xfs-kern:23917a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Update license/copyright notices to match the prefered SGI
Nathan Scott [Wed, 2 Nov 2005 03:58:39 +0000 (14:58 +1100)]
[XFS] Update license/copyright notices to match the prefered SGI
boilerplate.

SGI-PV: 913862
SGI-Modid: xfs-linux:xfs-kern:23903a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Remove xfs_macros.c, xfs_macros.h, rework headers a whole lot.
Nathan Scott [Wed, 2 Nov 2005 03:38:42 +0000 (14:38 +1100)]
[XFS] Remove xfs_macros.c, xfs_macros.h, rework headers a whole lot.

SGI-PV: 943122
SGI-Modid: xfs-linux:xfs-kern:23901a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] remove unused struct xfs_ail_ticket
Christoph Hellwig [Wed, 2 Nov 2005 00:44:57 +0000 (11:44 +1100)]
[XFS] remove unused struct xfs_ail_ticket

SGI-PV: 919278
SGI-Modid: xfs-linux:xfs-kern:199498a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Track external log/realtime device names for correct reporting in
Nathan Scott [Wed, 2 Nov 2005 00:44:33 +0000 (11:44 +1100)]
[XFS] Track external log/realtime device names for correct reporting in
/proc/mounts.

SGI-PV: 942984
SGI-Modid: xfs-linux:xfs-kern:23862a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Improve buffered read throughput by removing unnecessary timer calls
Nathan Scott [Wed, 2 Nov 2005 00:43:58 +0000 (11:43 +1100)]
[XFS] Improve buffered read throughput by removing unnecessary timer calls
that showed in ´kernel profiles.

SGI-PV: 925163
SGI-Modid: xfs-linux:xfs-kern:23861a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Remove a null CELL macro and its one caller, not useful to anyone.
Nathan Scott [Wed, 2 Nov 2005 00:43:42 +0000 (11:43 +1100)]
[XFS] Remove a null CELL macro and its one caller, not useful to anyone.

SGI-PV: 942986
SGI-Modid: xfs-linux:xfs-kern:23860a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fix up an internal sort function name collision issue.
Nathan Scott [Wed, 2 Nov 2005 00:43:18 +0000 (11:43 +1100)]
[XFS] Fix up an internal sort function name collision issue.

SGI-PV: 942986
SGI-Modid: xfs-linux:xfs-kern:23859a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Make some extended attributes routines take const parameters, for
Nathan Scott [Wed, 2 Nov 2005 00:43:04 +0000 (11:43 +1100)]
[XFS] Make some extended attributes routines take const parameters, for
the FreeBSD porters.

SGI-PV: 942906
SGI-Modid: xfs-linux:xfs-kern:23845a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Ondisk format extension for extended attributes (attr2). Basically,
Nathan Scott [Tue, 1 Nov 2005 23:35:56 +0000 (10:35 +1100)]
[XFS] Ondisk format extension for extended attributes (attr2). Basically,
the data/attr forks now grow up/down from either end of the literal area,
rather than dividing the literal area into two chunks and growing both
upward.  Means we can now make much more efficient use of the attribute
space, incl. fitting DMF attributes inline in 256 byte inodes, and large
jumps in dbench3 performance numbers.  It is self enabling, but can be
forced on/off via the attr2/noattr2 mount options.

SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:23837a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Ondisk format extension for extended attributes (attr2). Basically,
Nathan Scott [Tue, 1 Nov 2005 23:35:46 +0000 (10:35 +1100)]
[XFS] Ondisk format extension for extended attributes (attr2). Basically,
the data/attr forks now grow up/down from either end of the literal area,
rather than dividing the literal area into two chunks and growing both
upward.  Means we can now make much more efficient use of the attribute
space, incl. fitting DMF attributes inline in 256 byte inodes, and large
jumps in dbench3 performance numbers.  It is self enabling, but can be
forced on/off via the attr2/noattr2 mount options.

SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:23836a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Ondisk format extension for extended attributes (attr2). Basically,
Nathan Scott [Tue, 1 Nov 2005 23:34:53 +0000 (10:34 +1100)]
[XFS] Ondisk format extension for extended attributes (attr2). Basically,
the data/attr forks now grow up/down from either end of the literal area,
rather than dividing the literal area into two chunks and growing both
upward.  Means we can now make much more efficient use of the attribute
space, incl. fitting DMF attributes inline in 256 byte inodes, and large
jumps in dbench3 performance numbers.  It is self enabling, but can be
forced on/off via the attr2/noattr2 mount options.

SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:23835a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Move some code around to prepare for the upcoming extended
Nathan Scott [Tue, 1 Nov 2005 23:33:33 +0000 (10:33 +1100)]
[XFS] Move some code around to prepare for the upcoming extended
attributes format change (attr2).

SGI-PV: 941645
SGI-Modid: xfs-linux:xfs-kern:23833a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Introduce two new mount options (nolargeio/largeio) to allow
David Chinner [Tue, 1 Nov 2005 23:33:05 +0000 (10:33 +1100)]
[XFS] Introduce two new mount options (nolargeio/largeio) to allow
filesystems to expose the filesystem stripe width in stat(2) rather than
the page cache size. This allows applications requiring high bandwidth to
easily determine the optimum I/O size for the underlying filesystem. The
default is to report the page cache size (i.e. "nolargeio").

SGI-PV: 942818
SGI-Modid: xfs-linux:xfs-kern:23830a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Provide a mechiansm for flushing delalloc before quota reporting.
Nathan Scott [Tue, 1 Nov 2005 23:32:38 +0000 (10:32 +1100)]
[XFS] Provide a mechiansm for flushing delalloc before quota reporting.

SGI-PV: 942815
SGI-Modid: xfs-linux:xfs-kern:23829a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Fix signedness issues in dquot ID handling, allowing uids/gids above
Nathan Scott [Tue, 1 Nov 2005 23:31:41 +0000 (10:31 +1100)]
[XFS] Fix signedness issues in dquot ID handling, allowing uids/gids above
MAXINT

SGI-PV: 942528
SGI-Modid: xfs-linux:xfs-kern:23828a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Add a comment about the use of XFS_SIZE_TOKEN_WANT.
Nathan Scott [Tue, 1 Nov 2005 23:31:13 +0000 (10:31 +1100)]
[XFS] Add a comment about the use of XFS_SIZE_TOKEN_WANT.

SGI-PV: 936331
SGI-Modid: xfs-linux:xfs-kern:23827a

Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] only mark buffers done when all pages are uptodate in addition
Christoph Hellwig [Tue, 1 Nov 2005 23:29:39 +0000 (10:29 +1100)]
[XFS] only mark buffers done when all pages are uptodate  in addition
replace PBF_NONE with an inverted PBF_DONE, so it's like all the other
flags.

SGI-PV: 942609
SGI-Modid: xfs-linux:xfs-kern:199136a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Stack footprint reduction for xfs_swapext (used from xfs_fsr)
Eric Sandeen [Tue, 1 Nov 2005 23:29:04 +0000 (10:29 +1100)]
[XFS] Stack footprint reduction for xfs_swapext (used from xfs_fsr)

SGI-PV: 913332
SGI-Modid: xfs-linux:xfs-kern:198926a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] write barrier support Issue all log sync operations as ordered
Christoph Hellwig [Tue, 1 Nov 2005 23:26:59 +0000 (10:26 +1100)]
[XFS] write barrier support  Issue all log sync operations as ordered
writes.  In addition flush the disk cache on fsync if the sync cached
operation didn't sync the log to disk (this requires some additional
bookeping in the transaction and log code). If the device doesn't claim to
support barriers, the filesystem has an extern log volume or the trial
superblock write with barriers enabled failed we disable barriers and
print a warning.  We should probably fail the mount completely, but that
could lead to nasty boot failures for the root filesystem.  Not enabled by
default yet, needs more destructive testing first.

SGI-PV: 912426
SGI-Modid: xfs-linux:xfs-kern:198723a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] fix PBF_NONE handling
Christoph Hellwig [Tue, 1 Nov 2005 23:25:51 +0000 (10:25 +1100)]
[XFS] fix PBF_NONE handling

SGI-PV: 908809
SGI-Modid: xfs-linux:xfs-kern:198669a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Add format checking to cmn_err and icmn_err
Christoph Hellwig [Tue, 1 Nov 2005 23:21:35 +0000 (10:21 +1100)]
[XFS] Add format checking to cmn_err and icmn_err

SGI-PV: 942243
SGI-Modid: xfs-linux:xfs-kern:198658a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] remove unused pagebuf flags
Christoph Hellwig [Tue, 1 Nov 2005 23:21:14 +0000 (10:21 +1100)]
[XFS] remove unused pagebuf flags

SGI-PV: 908809
SGI-Modid: xfs-linux:xfs-kern:198656a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years ago[XFS] Make sure the threads and shaker in xfs_buf are de-initialized in
Christoph Hellwig [Tue, 1 Nov 2005 23:15:05 +0000 (10:15 +1100)]
[XFS] Make sure the threads and shaker in xfs_buf are de-initialized in
reverse startup order

SGI-PV: 942063
SGI-Modid: xfs-linux:xfs-kern:198651a

Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
19 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6
Linus Torvalds [Tue, 1 Nov 2005 16:30:05 +0000 (08:30 -0800)]
Merge git://git./linux/kernel/git/aia21/ntfs-2.6

19 years agoMerge branch 'master' of /home/src/linux-2.6/
Anton Altaparmakov [Tue, 1 Nov 2005 15:51:32 +0000 (15:51 +0000)]
Merge branch 'master' of /home/src/linux-2.6/

19 years agoNTFS: Fix a stupid bug causing writes to non-initialized pages to segfault.
Anton Altaparmakov [Tue, 1 Nov 2005 15:49:31 +0000 (15:49 +0000)]
NTFS: Fix a stupid bug causing writes to non-initialized pages to segfault.

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
19 years agoDon't touch USB controller IO registers when they are disabled
Linus Torvalds [Tue, 1 Nov 2005 05:12:40 +0000 (21:12 -0800)]
Don't touch USB controller IO registers when they are disabled

The USB "handoff" code is an early PCI quirk to make sure we own the USB
controller (as opposed to the BIOS/SMM).  But if the controller isn't
even enabled yet, don't try to access it.

Acked-by: Paul Mackerras <paulus@samba.org> (who had an alternate patch)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoRevert "i386: move apic init in init_IRQs"
Linus Torvalds [Tue, 1 Nov 2005 03:16:17 +0000 (19:16 -0800)]
Revert "i386: move apic init in init_IRQs"

Commit f2b36db692b7ff6972320ad9839ae656a3b0ee3e causes a bootup hang on
at least one machine.  Revert for now until we understand why.  The old
code may be ugly, but it works.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Creative Audigy 2 cardbus: Add IO window wakeup magic
James Courtier-Dutton [Mon, 31 Oct 2005 10:27:41 +0000 (10:27 +0000)]
[PATCH] Creative Audigy 2 cardbus: Add IO window wakeup magic

This adds the magic IO wakeup code for the CardBus version of the
Creative Labs Audigy 2 to the snd-emu10k1 driver.

Without the magic IO enable sequence, reading from the IO region of the
card will fail spectacularly, and the machine will hang.

My next task will be getting the driver to actually play sound without
distortion.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
[ This is a work-in-progress, but since it avoids a total lockup
  if the emu10k module is loaded on a machine with the cardbus
  card inserted, we're better off with it than without it, even
  if sound quality is bad right now ]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix __writeback_single_inode WARN_ON
Andrea Arcangeli [Mon, 31 Oct 2005 22:08:54 +0000 (14:08 -0800)]
[PATCH] fix __writeback_single_inode WARN_ON

When the inode count is zero in inode writeback, the

WARN_ON(!(inode->i_state & I_WILL_FREE));

is broken, and needs to test for either I_WILL_FREE|I_FREEING.

When the inode is in I_FREEING state, it's already out of the visibility
of the vm so it can't be freed so it doesn't require the __iget and the
generic_delete_inode path can call the sync internally to the lowlevel
fs callback during the last iput. So the inode being in I_FREEING is
also a valid condition for calling the sync with i_count == 0.

The specific stack trace is this:

  0xc00000007b8fb6e0  0xc00000000010118c  .__writeback_single_inode +0x5c
  0xc00000007b8fb6e0  0xc0000000001014dc (lr) .sync_inode +0x3c
  0xc00000007b8fb790  0xc0000000001014dc  .sync_inode +0x3c
  0xc00000007b8fb820  0xc0000000001a5020  .ext2_sync_inode +0x64
  0xc00000007b8fb8f0  0xc0000000001a65b4  .ext2_truncate +0x3f8
  0xc00000007b8fba40  0xc0000000001a6940  .ext2_delete_inode +0xdc
  0xc00000007b8fbac0  0xc0000000000f7a5c  .generic_delete_inode +0x124
  0xc00000007b8fbb50  0xc0000000000f5fe0  .iput +0xb8
  0xc00000007b8fbbe0  0xc0000000000e9fd4  .sys_unlink +0x2a8
  0xc00000007b8fbd10  0xc00000000001048c  .ret_from_syscall_1 +0x0

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] revert ide-scsi highmem cleanup
Andrew Morton [Mon, 31 Oct 2005 22:08:53 +0000 (14:08 -0800)]
[PATCH] revert ide-scsi highmem cleanup

Jeff Garzik <jgarzik@pobox.com> points out that this was wrong: we need to
disable local interrupts while holding KM_IRQ0 due to IRQ sharing.

And holding interrupts off during a big PIO opration is expensive, so we only
want to do that if we know the page was highmem.

So revert commit 17fd47ab4d33e764216b87006d8118fa050b4c92

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i386: CONFIG_PC removal
Arthur Othieno [Mon, 31 Oct 2005 04:04:05 +0000 (23:04 -0500)]
[PATCH] i386: CONFIG_PC removal

CONFIG_PC is left-over cruft after the introduction of CONFIG_X86_PC with
the subarch split.  Remove it, and fixup the remaining users to depend on
CONFIG_X86_PC instead.

Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] noop-iosched: avoid corrupted request merging
Jens Axboe [Mon, 31 Oct 2005 08:23:54 +0000 (09:23 +0100)]
[PATCH] noop-iosched: avoid corrupted request merging

Tejun Heo notes:

   "I'm currently debugging this.  The problem is that we are using the
    generic dispatch queue directly in the noop sched and merging is NOT
    allowed on dispatch queues but generic handling of last_merge tries
    to merge requests.  I'm still trying to verify this, so I'll be back
    with results soon."

In the meantime, disable merging for noop by setting REQ_NOMERGE in
elevator_noop_add_request().

Eventually, we should add a noop_list and do the dispatching like in the
other io schedulers.  Merging is still beneficial for noop (and it has
always done it).

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix on-the-fly switch from cfq i/o scheduler
Jens Axboe [Mon, 31 Oct 2005 12:51:33 +0000 (13:51 +0100)]
[PATCH] Fix on-the-fly switch from cfq i/o scheduler

Don't clear ->elevator_data on exit, if we are switching queues we are
overwriting the data of the new io scheduler.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6
Linus Torvalds [Mon, 31 Oct 2005 15:36:08 +0000 (07:36 -0800)]
Merge git://git./linux/kernel/git/aia21/ntfs-2.6

19 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Mon, 31 Oct 2005 15:34:07 +0000 (07:34 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-drvmodel
Linus Torvalds [Mon, 31 Oct 2005 15:32:56 +0000 (07:32 -0800)]
Merge kernel.org:/home/rmk/linux-2.6-drvmodel

Manual #include fixups for clashes - there may be some unnecessary

19 years agoMerge branch 'master' of /usr/src/ntfs-2.6/
Anton Altaparmakov [Mon, 31 Oct 2005 10:06:46 +0000 (10:06 +0000)]
Merge branch 'master' of /usr/src/ntfs-2.6/

19 years agoInput: adbhid - fix OOPS introduced by dynalloc conversion
Paul Mackerras [Mon, 31 Oct 2005 06:30:32 +0000 (01:30 -0500)]
Input: adbhid - fix OOPS introduced by dynalloc conversion

The problem is that adbhid[]->input is NULL, so the kernel oopses with
a null pointer dereference as soon as a key is pressed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: lkkbd - fix debug message in lkkbd_interrupt()
Dmitry Torokhov [Mon, 31 Oct 2005 06:30:19 +0000 (01:30 -0500)]
Input: lkkbd - fix debug message in lkkbd_interrupt()

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: pcspkr - fix setting name and phys for the device
Dmitry Torokhov [Mon, 31 Oct 2005 06:30:05 +0000 (01:30 -0500)]
Input: pcspkr - fix setting name and phys for the device

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: fix input_dev registration message
Dmitry Torokhov [Mon, 31 Oct 2005 06:29:51 +0000 (01:29 -0500)]
Input: fix input_dev registration message

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: evdev - allow querying SW state from compat ioctl
Dmitry Torokhov [Mon, 31 Oct 2005 06:29:37 +0000 (01:29 -0500)]
Input: evdev - allow querying SW state from compat ioctl

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: evdev - allow querying EV_SW bits from compat_ioctl
Dmitry Torokhov [Mon, 31 Oct 2005 06:29:23 +0000 (01:29 -0500)]
Input: evdev - allow querying EV_SW bits from compat_ioctl

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years ago[libata] locking rewrite (== fix)
Jeff Garzik [Mon, 31 Oct 2005 04:31:48 +0000 (23:31 -0500)]
[libata] locking rewrite (== fix)

A lot of power packed into a little patch.

This change eliminates the sharing between our controller-wide spinlock
and the SCSI core's Scsi_Host lock.  As the locking in libata was
already highly compartmentalized, always referencing our own lock, and
never scsi_host::host_lock.

As a side effect, this change eliminates a deadlock from calling
scsi_finish_command() while inside our spinlock.

19 years agopowerpc: import a fix from arch/ppc/mm/pgtable.c
Paul Mackerras [Mon, 31 Oct 2005 03:40:03 +0000 (14:40 +1100)]
powerpc: import a fix from arch/ppc/mm/pgtable.c

... namely, the change to the 2-argument pte_alloc_kernel.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: apply recent changes to merged code
Paul Mackerras [Mon, 31 Oct 2005 02:57:01 +0000 (13:57 +1100)]
powerpc: apply recent changes to merged code

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[libata] ata_tf_to_host cleanups
Jeff Garzik [Mon, 31 Oct 2005 02:37:17 +0000 (21:37 -0500)]
[libata] ata_tf_to_host cleanups

Integrate ata_exec() and ata_tf_to_host() into their only caller,
ata_bus_edd().

Rename ata_tf_to_host_nolock() to ata_tf_to_host().

This makes locking a bit easier to review, and may help pave the way for
future changes.

19 years agoMerge ../linux-2.6 by hand
Paul Mackerras [Mon, 31 Oct 2005 02:37:12 +0000 (13:37 +1100)]
Merge ../linux-2.6 by hand

19 years agoppc: remove duplicate export of cur_cpu_spec
Paul Mackerras [Mon, 31 Oct 2005 02:08:54 +0000 (13:08 +1100)]
ppc: remove duplicate export of cur_cpu_spec

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix bug arising from having multiple memory_limit variables
Paul Mackerras [Mon, 31 Oct 2005 02:07:02 +0000 (13:07 +1100)]
powerpc: Fix bug arising from having multiple memory_limit variables

We had a static memory_limit in prom.c, and then another one defined
in setup_64.c and used in numa.c, which resulted in the kernel crashing
when mem=xxx was given on the command line.  This puts the declaration
in system.h and the definition in mem.c.  This also moves the
definition of tce_alloc_start/end out of setup_64.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Mon, 31 Oct 2005 01:48:37 +0000 (17:48 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 31 Oct 2005 01:48:00 +0000 (17:48 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-mmc
Linus Torvalds [Mon, 31 Oct 2005 01:47:00 +0000 (17:47 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-mmc

19 years ago[PATCH] fat: Remove duplicate directory scanning code
Pekka Enberg [Sun, 30 Oct 2005 23:03:50 +0000 (15:03 -0800)]
[PATCH] fat: Remove duplicate directory scanning code

This patch removes duplicate directory scanning code from fs/fat/dir.c.  The
two functions that share identical code are fat_readdirx() and
fat_search_long().  This patch also renames fat_readdirx to __fat_readdir().

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fat: remove the unneeded vfat_find() in vfat_rename()
OGAWA Hirofumi [Sun, 30 Oct 2005 23:03:50 +0000 (15:03 -0800)]
[PATCH] fat: remove the unneeded vfat_find() in vfat_rename()

Now, vfat_rename() is using vfat_find() for sanity check.  This removes that
sanity check, the cost of sanity check is too high.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fat: cleanup and optimization of checksum
OGAWA Hirofumi [Sun, 30 Oct 2005 23:03:49 +0000 (15:03 -0800)]
[PATCH] fat: cleanup and optimization of checksum

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix missing includes
Tim Schmielau [Sun, 30 Oct 2005 23:03:48 +0000 (15:03 -0800)]
[PATCH] fix missing includes

I recently picked up my older work to remove unnecessary #includes of
sched.h, starting from a patch by Dave Jones to not include sched.h
from module.h. This reduces the number of indirect includes of sched.h
by ~300. Another ~400 pointless direct includes can be removed after
this disentangling (patch to follow later).
However, quite a few indirect includes need to be fixed up for this.

In order to feed the patches through -mm with as little disturbance as
possible, I've split out the fixes I accumulated up to now (complete for
i386 and x86_64, more archs to follow later) and post them before the real
patch.  This way this large part of the patch is kept simple with only
adding #includes, and all hunks are independent of each other.  So if any
hunk rejects or gets in the way of other patches, just drop it.  My scripts
will pick it up again in the next round.

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Remove duplicate code in signal.c
Paul E. McKenney [Sun, 30 Oct 2005 23:03:46 +0000 (15:03 -0800)]
[PATCH] Remove duplicate code in signal.c

Combine a bit of redundant code between force_sig_info() and
force_sig_specific().

Signed-off-by: paulmck@us.ibm.com
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove unneeded SI_TIMER checks
Oleg Nesterov [Sun, 30 Oct 2005 23:03:46 +0000 (15:03 -0800)]
[PATCH] remove unneeded SI_TIMER checks

This patch removes checks for ->si_code == SI_TIMER from send_signal,
specific_send_sig_info, __group_send_sig_info.

I think posix-timers.c used these functions some time ago, now it sends
signals via send_{,group_}sigqueue, so these hooks are unneeded.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cleanup the usage of SEND_SIG_xxx constants
Oleg Nesterov [Sun, 30 Oct 2005 23:03:45 +0000 (15:03 -0800)]
[PATCH] cleanup the usage of SEND_SIG_xxx constants

This patch simplifies some checks for magic siginfo values.  It should not
change the behaviour in any way.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove hardcoded SEND_SIG_xxx constants
Oleg Nesterov [Sun, 30 Oct 2005 23:03:44 +0000 (15:03 -0800)]
[PATCH] remove hardcoded SEND_SIG_xxx constants

This patch replaces hardcoded SEND_SIG_xxx constants with
their symbolic names.

No changes in affected .o files.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: hpet driver cleanups
Randy Dunlap [Sun, 30 Oct 2005 23:03:44 +0000 (15:03 -0800)]
[PATCH] hpet: hpet driver cleanups

- Use kzalloc() instead of kmalloc + memset.
- Clean/fix some printk's.
- Use NULL for pointers instead of 0.
- Combine hpet busy searching locations into a function call.

Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: use HPET physical addresses for dup. detection
Randy Dunlap [Sun, 30 Oct 2005 23:03:43 +0000 (15:03 -0800)]
[PATCH] hpet: use HPET physical addresses for dup. detection

- Use HPET physical address to detect duplicates, not logical addresses.
  Using logical (mapped) addresses fails to detect duplicates
  because ioremap() returns a new mapped address each time.

- iounmap() regions when duplicate/busy areas are found.

Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: allow HPET FIXED_MEM32 resource type
Randy Dunlap [Sun, 30 Oct 2005 23:03:42 +0000 (15:03 -0800)]
[PATCH] hpet: allow HPET FIXED_MEM32 resource type

Allow the ACPI HPET description table to use a resource type of FIXED_MEM32
for the HPET reource.  Use the fixed resoure size of 1 KB for the HPET
resource as per the HPET spec.

Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Acked-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: simplify initialization message
Clemens Ladisch [Sun, 30 Oct 2005 23:03:41 +0000 (15:03 -0800)]
[PATCH] hpet: simplify initialization message

When booting, display the timer frequency in Hertz instead of as tick length
in nanoseconds.  Apart from saving a local variable, this makes the message
more easily comprehensible.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: remove superfluous indirections
Clemens Ladisch [Sun, 30 Oct 2005 23:03:40 +0000 (15:03 -0800)]
[PATCH] hpet: remove superfluous indirections

In the hpet_ioctl_common() function, devp->hd_hpets is already cached in the
hpetp variable, so we can use just that.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: fix access to multiple HPET devices
Clemens Ladisch [Sun, 30 Oct 2005 23:03:39 +0000 (15:03 -0800)]
[PATCH] hpet: fix access to multiple HPET devices

Fix two instances where a function would access the first HPET device instead
of the current one.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: fix uninitialized variable in hpet_register()
Clemens Ladisch [Sun, 30 Oct 2005 23:03:39 +0000 (15:03 -0800)]
[PATCH] hpet: fix uninitialized variable in hpet_register()

Clear the ht_opaque field in the hpet_register() function before searching for
a free timer to prevent the function from incorrectly assuming that the search
succeeded afterwards.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>