Linus Torvalds [Fri, 12 Oct 2007 22:04:00 +0000 (15:04 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/mfasheh/ocfs2
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (23 commits)
ocfs2: Optionally return filldir errors
ocfs2: Write support for directories with inline data
ocfs2: Read support for directories with inline data
ocfs2: Write support for inline data
ocfs2: Read support for inline data
ocfs2: Structure updates for inline data
ocfs2: Cleanup dirent size check
ocfs2: Rename cleanups
ocfs2: Provide convenience function for ino lookup
ocfs2: Implement ocfs2_empty_dir() as a caller of ocfs2_dir_foreach()
ocfs2: Remove open coded readdir()
ocfs2: Pass raw u64 to filldir
ocfs2: Abstract out core dir listing functionality
ocfs2: Move directory manipulation code into dir.c
ocfs2: Small refactor of truncate zeroing code
ocfs2: move nonsparse hole-filling into ocfs2_write_begin()
ocfs2: Sync ocfs2_fs.h with ocfs2-tools
[PATCH] fs/ocfs2/: removed unneeded initial value and function's return value
ocfs2: Implement show_options()
ocfs2: Clear slot map when umounting a local volume
...
Linus Torvalds [Fri, 12 Oct 2007 22:03:35 +0000 (15:03 -0700)]
Merge branch 'isdn-cleanups' of /linux/kernel/git/jgarzik/misc-2.6
* 'isdn-cleanups' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
[ISDN] HiSax diva: split setup into three smaller functions
[ISDN] HiSax sedlbauer: move ISAPNP and PCI code into functions of their own
[ISDN] HiSax elsa: split huge setup function into four smaller functions
[ISDN] HiSax avm_pci: split setup into three smaller functions
[ISDN] Remove CONFIG_PCI ifdefs from 100% PCI source code
Linus Torvalds [Fri, 12 Oct 2007 22:02:45 +0000 (15:02 -0700)]
Merge branch 'hysdn' of /linux/kernel/git/jgarzik/misc-2.6
* 'hysdn' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
[ISDN] hysdn: convert to PCI hotplug API
Linus Torvalds [Fri, 12 Oct 2007 22:01:16 +0000 (15:01 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/drzeus/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
mmc: use correct unregister function for led trigger
Pierre Ossman [Fri, 12 Oct 2007 20:48:46 +0000 (22:48 +0200)]
mmc: use correct unregister function for led trigger
We register a simple trigger so make sure we use the corresponding
unregister function.
(Also means we get a dummy function when triggers aren't compiled in)
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Mark Fasheh [Mon, 24 Sep 2007 21:25:27 +0000 (14:25 -0700)]
ocfs2: Optionally return filldir errors
Modify ocfs2_dir_foreach_blk() to optionally return any error from the
filldir callback. This way ocfs2_dirforeach() can terminate early, as
opposed to always passing through the entire directory. This fixes a bug
introduced during a previous code refactor where ocfs2_empty_dir() would
loop infinitely.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Mark Fasheh [Thu, 13 Sep 2007 23:33:54 +0000 (16:33 -0700)]
ocfs2: Write support for directories with inline data
Create all new directories with OCFS2_INLINE_DATA_FL and the inline data
bytes formatted as an empty directory. Inode size field reflects the actual
amount of inline data available, which makes searching for dirent space
very similar to the regular directory search.
Inline-data directories are automatically pushed out to extents on any
insert request which is too large for the available space.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Wed, 12 Sep 2007 20:01:18 +0000 (13:01 -0700)]
ocfs2: Read support for directories with inline data
This splits out extent based directory read support and implements
inline-data versions of those functions. All knowledge of inline-data versus
extent based directories is internalized. For lookups the code uses
ocfs2_find_entry_id(), full dir iterations make use of
ocfs2_dir_foreach_blk_id().
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Fri, 7 Sep 2007 21:46:51 +0000 (14:46 -0700)]
ocfs2: Write support for inline data
This fixes up write, truncate, mmap, and RESVSP/UNRESVP to understand inline
inode data.
For the most part, the changes to the core write code can be relied on to do
the heavy lifting. Any code calling ocfs2_write_begin (including shared
writeable mmap) can count on it doing the right thing with respect to
growing inline data to an extent tree.
Size reducing truncates, including UNRESVP can simply zero that portion of
the inode block being removed. Size increasing truncatesm, including RESVP
have to be a little bit smarter and grow the inode to an extent tree if
necessary.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Fri, 7 Sep 2007 21:05:51 +0000 (14:05 -0700)]
ocfs2: Read support for inline data
This hooks up ocfs2_readpage() to populate a page with data from an inode
block. Direct IO reads from inline data are modified to fall back to
buffered I/O. Appropriate checks are also placed in the extent map code to
avoid reading an extent list when inline data might be stored.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Fri, 7 Sep 2007 20:58:15 +0000 (13:58 -0700)]
ocfs2: Structure updates for inline data
Add the disk, network and memory structures needed to support data in inode.
Struct ocfs2_inline_data is defined and embedded in ocfs2_dinode for storing
inline data.
A new inode field, i_dyn_features, is added to facilitate tracking of
dynamic inode state. Since it will be used often, we want to mirror it on
ocfs2_inode_info, and transfer it via the meta data lvb.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Thu, 13 Sep 2007 23:29:01 +0000 (16:29 -0700)]
ocfs2: Cleanup dirent size check
The check to see if a new dirent would fit in an old one is pretty ugly, and
it's done at least twice. Clean things up by putting this in it's own
easier-to-read function.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Wed, 12 Sep 2007 00:21:56 +0000 (17:21 -0700)]
ocfs2: Rename cleanups
ocfs2_rename() does direct manipulation of the dirent it's gotten back from
a directory search. Wrap this manipulation inside of a function so that we
can transparently change directory update behavior in the future. As an
added bonus, this gets rid of an ugly macro.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Tue, 11 Sep 2007 22:22:06 +0000 (15:22 -0700)]
ocfs2: Provide convenience function for ino lookup
A couple paths which needed to just match a parent dir + name pair to an
inode number were a bit messy because they had to deal with
ocfs2_find_files_on_disk() which returns a larger number of values. Provide
a convenience function, ocfs2_lookup_ino_from_name() which internalizes all
the extra accounting.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Wed, 12 Sep 2007 18:19:00 +0000 (11:19 -0700)]
ocfs2: Implement ocfs2_empty_dir() as a caller of ocfs2_dir_foreach()
We can preserve the behavior of ocfs2_empty_dir(), while getting rid of the
open coded directory walk by just providing a smart filldir callback. This
also automatically gets to use the dir readahead code, though in this case
any advantage is minor at best.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Tue, 11 Sep 2007 00:50:51 +0000 (17:50 -0700)]
ocfs2: Remove open coded readdir()
ocfs2_queue_orphans() has an open coded readdir loop which can easily just
use a directory accessor function.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Tue, 11 Sep 2007 00:30:26 +0000 (17:30 -0700)]
ocfs2: Pass raw u64 to filldir
filldir_t can take this, so don't turn de->inode into a 32 bit value. Right
now this doesn't make a difference since no ocfs2 inodes overflow that, but
it could be a nasty surprise later on if some kernel code is calling
ocfs2_dir_foreach_blk() and expecting real inode numbers back...
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Tue, 11 Sep 2007 00:17:52 +0000 (17:17 -0700)]
ocfs2: Abstract out core dir listing functionality
Put this in it's own function so that the functionality can be overridden.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Sat, 8 Sep 2007 01:21:26 +0000 (18:21 -0700)]
ocfs2: Move directory manipulation code into dir.c
The code for adding, removing, deleting directory entries was splattered all
over namei.c. I'd rather have this all centralized, so that it's easier to
make changes for inline dir data, and eventually indexed directories.
None of the code in any of the functions was changed. I only removed the
static keyword from some prototypes so that they could be exported.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Fri, 7 Sep 2007 21:20:45 +0000 (14:20 -0700)]
ocfs2: Small refactor of truncate zeroing code
We'll want to reuse most of this when pushing inline data back out to an
extent. Keeping this part as a seperate patch helps to keep the upcoming
changes for write support uncluttered.
The core portion of ocfs2_zero_cluster_pages() responsible for making sure a
page is mapped and properly dirtied is abstracted out into it's own
function, ocfs2_map_and_dirty_page(). Actual functionality doesn't change,
though zeroing becomes optional.
We also turn part of ocfs2_free_write_ctxt() into a common function for
unlocking and freeing a page array. This operation is very common (and
uniform) for Ocfs2 cluster sizes greater than page size, so it makes sense
to keep the code in one place.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Wed, 29 Aug 2007 00:13:23 +0000 (17:13 -0700)]
ocfs2: move nonsparse hole-filling into ocfs2_write_begin()
By doing this, we can remove any higher level logic which has to have
knowledge of btree functionality - any callers of ocfs2_write_begin() can
now expect it to do anything necessary to prepare the inode for new data.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Joel Becker <joel.becker@oracle.com>
Mark Fasheh [Thu, 20 Sep 2007 18:19:20 +0000 (11:19 -0700)]
ocfs2: Sync ocfs2_fs.h with ocfs2-tools
ocfs2-tools added some on-disk fields and flags which are used by
tunefs.ocfs2.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Denis Cheng [Wed, 26 Sep 2007 18:10:04 +0000 (02:10 +0800)]
[PATCH] fs/ocfs2/: removed unneeded initial value and function's return value
Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Sunil Mushran [Thu, 6 Sep 2007 20:34:16 +0000 (13:34 -0700)]
ocfs2: Implement show_options()
Implement sops->show_options() so as to allow /proc/mounts to show the mount
options.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Mark Fasheh [Thu, 4 Oct 2007 21:47:09 +0000 (14:47 -0700)]
ocfs2: Clear slot map when umounting a local volume
This is technically harmless (recovery will clean it out later), but leaves
a bogus entry in the slot_map which really shouldn't be there.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Mark Fasheh [Wed, 12 Sep 2007 17:21:22 +0000 (10:21 -0700)]
ocfs2: Remove unused structure field
c_used_tail_recs in struct ocfs2_merge_ctxt is only ever set, so we can
remove it.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Tao Mao [Wed, 29 Aug 2007 00:25:35 +0000 (17:25 -0700)]
ocfs2: remove unused variable
delete_tail_recs in ocfs2_try_to_merge_extent() was only ever set, remove
it.
Signed-off-by: Tao Mao <tao.ma@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Tao Mao [Wed, 29 Aug 2007 00:22:33 +0000 (17:22 -0700)]
ocfs2: remove mostly unused field from insert structure
ocfs2_insert_type->ins_free_records was only used in one place, and was set
incorrectly in most places. We can free up some memory and lose some code by
removing this.
* Small warning fixup contributed by Andrew Mortom <akpm@linux-foundation.org>
Signed-off-by: Tao Mao <tao.ma@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Linus Torvalds [Fri, 12 Oct 2007 16:25:42 +0000 (09:25 -0700)]
Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
[BLOCK] s390 xpram typo
[BLOCK] Only include the compat ioctl code if CONFIG_BLOCK is set
[BLOCK] Better fix for do_blk_trace_setup() for !CONFIG_BLOCK
[BLOCK] Move sector_div() from blkdev.h to kernel.h
Linus Torvalds [Fri, 12 Oct 2007 16:17:22 +0000 (09:17 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/davem/net-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
[BNX2]: Refine napi poll loop.
[TG3]: Refine napi poll loop.
Anton Altaparmakov [Fri, 12 Oct 2007 08:37:15 +0000 (09:37 +0100)]
NTFS: Fix a mount time deadlock.
Big thanks go to Mathias Kolehmainen for reporting the bug, providing
debug output and testing the patches I sent him to get it working.
The fix was to stop calling ntfs_attr_set() at mount time as that causes
balance_dirty_pages_ratelimited() to be called which on systems with
little memory actually tries to go and balance the dirty pages which tries
to take the s_umount semaphore but because we are still in fill_super()
across which the VFS holds s_umount for writing this results in a
deadlock.
We now do the dirty work by hand by submitting individual buffers. This
has the annoying "feature" that mounting can take a few seconds if the
journal is large as we have clear it all. One day someone should improve
on this by deferring the journal clearing to a helper kernel thread so it
can be done in the background but I don't have time for this at the moment
and the current solution works fine so I am leaving it like this for now.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Fri, 12 Oct 2007 16:14:51 +0000 (09:14 -0700)]
Merge git://git./linux/kernel/git/steve/gfs2-2.6-nmw
* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (51 commits)
[DLM] block dlm_recv in recovery transition
[DLM] don't overwrite castparam if it's NULL
[GFS2] Get superblock a different way
[GFS2] Don't try to remove buffers that don't exist
[GFS2] Alternate gfs2_iget to avoid looking up inodes being freed
[GFS2] Data corruption fix
[GFS2] Clean up journaled data writing
[GFS2] GFS2: chmod hung - fix race in thread creation
[DLM] Make dlm_sendd cond_resched more
[GFS2] Move inode deletion out of blocking_cb
[GFS2] flocks from same process trip kernel BUG at fs/gfs2/glock.c:1118!
[GFS2] Clean up gfs2_trans_add_revoke()
[GFS2] Use slab operations for all gfs2_bufdata allocations
[GFS2] Replace revoke structure with bufdata structure
[GFS2] Fix ordering of dirty/journal for ordered buffer unstuffing
[GFS2] Clean up ordered write code
[GFS2] Move pin/unpin into lops.c, clean up locking
[GFS2] Don't mark jdata dirty in gfs2_unstuffer_page()
[GFS2] Introduce gfs2_remove_from_ail
[GFS2] Correct lock ordering in unlink
...
Martin Schwidefsky [Fri, 12 Oct 2007 14:11:53 +0000 (16:11 +0200)]
[S390] xpram: fix bio_end{_,}io typo
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:52 +0000 (16:11 +0200)]
[S390] 3215: Handle special console device.
The early console device is special as it already has all needed data
set and raw3215[0] allocated from con3215_init(). Therefore, it needs
special treatment in the probe function so it can be matched with the
3215 driver which is already owning it.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:51 +0000 (16:11 +0200)]
[S390] pfault: Fix alignment of parameter list.
Make sure parameter list of the pfault token function is eight byte
aligned. Otherwise we can get specification exceptions.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Sam Ravnborg [Fri, 12 Oct 2007 14:11:50 +0000 (16:11 +0200)]
[S390] s390: use PAGE_SIZE in vmlinux.lds
Replace the hardcoded 4096 value with the PAGE_SIZE macro.
Converted a few decimal numbers to readable hex numbers.
Use of PAGE_SIZE required a small change to page.h
to allow PAGE_SIZE to be used from assembler/linker scripts.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Sam Ravnborg [Fri, 12 Oct 2007 14:11:49 +0000 (16:11 +0200)]
[S390] s390: beautify vmlinux.lds
Introduce a consistent style in vmlinux.lds.
This style is gradually being introduced for all archs.
A few lables were moved inside the section definition so
they are assigned the correct value of gcc decide to align
the content to another address than the one . has.
In the past this has fixed several bugs but for s390 it
will not impact due to all the alignmnet already introduced.
Stabs definitions are consolidated in asm-generic/vmlinux.lds.h
This patch also introduce support for DWARF - without knowing
if this makes sense for s390.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:48 +0000 (16:11 +0200)]
[S390] vmwatchdog: fix broken inline assembly.
Constraint for err is wrong since it is preinitialized and the code
relies on it in case of an exception.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Michael Holzheu [Fri, 12 Oct 2007 14:11:47 +0000 (16:11 +0200)]
[S390] tape: Fix medium state handling
Currently there are situations, where the tape medium state (loaded, unloaded,
unknown) is not set correctly. The reason is that the medium association
field is used to determine the medium state. This not always leads to
correct results. To fix that we use another field of the medium sense
data instead.
Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:46 +0000 (16:11 +0200)]
[S390] cpcmd: fix inline assembly usage.
After assigning values to specific registers memset was called. This
may clobber the contents of the used registers.
To solve this extract the two used inline assemblies into small
functions that don't call any functions.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:45 +0000 (16:11 +0200)]
[S390] Make vmalloc area start at address > 4GB.
Prevent that modules get loaded at addresses below 4GB to
prevent exchanging system call table entries.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Michael Holzheu [Fri, 12 Oct 2007 14:11:44 +0000 (16:11 +0200)]
[S390] zcore: fix inline assembly in memcpy_real()
memcpy_real uses the mvcle instruction. This instruction alters all used
registers (source, destination and 2 x count). Therefore we have to flag
those registers as input/output registers (+d). In addition to that, we
have to specify, that we read from memory designated by "src" and write to
memory designated by "dest".
Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Robert P. J. Day [Fri, 12 Oct 2007 14:11:43 +0000 (16:11 +0200)]
[S390] Remove obsolete recommendation for 8M ramdisk size.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Michael Holzheu [Fri, 12 Oct 2007 14:11:42 +0000 (16:11 +0200)]
[S390] Use IPL CLEAR for reipl under z/VM
If we use the CLEAR ipl option, reipl is faster, since then VM can release
the memory, which has been paged out.
Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:41 +0000 (16:11 +0200)]
[S390] Force link error if xchg/cmpxchg gets called with unsupported size.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Ursula Braun [Fri, 12 Oct 2007 14:11:40 +0000 (16:11 +0200)]
[S390] qdio: change QDIO performance_stats error message priority
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
vignesh babu [Fri, 12 Oct 2007 14:11:39 +0000 (16:11 +0200)]
[S390] is_power_of_2 in drivers/s390/block/dasd_int.h
Replacing n & (n - 1) for power of 2 check by is_power_of_2(n)
Signed-off-by: vignesh babu <vignesh.babu@wipro.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:38 +0000 (16:11 +0200)]
[S390] qdio: dont cast function pointers and use them to call functions.
According to C99 6.3.2.3 it's undefined what happens if a converted
pointer is used to call a function whose type is not compatible with
the pointed-to type.
That's what the qdio code is doing, so fix it.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:37 +0000 (16:11 +0200)]
[S390] Get rid of ARCH_KMALLOC_MINALIGN.
slab cache debugging code has been changed so that we always get a
minimum alignment of the alignment of a 64-integer. Since this is
8 on s390/s390x there is no need of ARCH_KMALLOC_MINALIGN anymore.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Christian Borntraeger [Fri, 12 Oct 2007 14:11:36 +0000 (16:11 +0200)]
[S390] remove packed attribute from ext_int_info_t.
ext_int_info_t is no longer used in entry(64).S Instead do_extint is a C
function that handles the hash search.
As the structure is handled in C code, we can also remove the packed
attribute to avoid alignment issues. (Currently there is no alignment
problem in ext_int_info_t, even if packet)
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:35 +0000 (16:11 +0200)]
[S390] Get rid of a bunch of sparse warnings again.
Also removes a bunch of ^L in drivers/s390/cio/cmf.c
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Christian Borntraeger [Fri, 12 Oct 2007 14:11:34 +0000 (16:11 +0200)]
[S390] disassembler: Remove redundant variable assignment
There is no need to assign "0" to "hops" twice. Remove one assigment.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Martin Schwidefsky [Fri, 12 Oct 2007 14:11:33 +0000 (16:11 +0200)]
[S390] disassembler: fix output for insns with 6 operands.
The termination condition of the loop that prints the operands of
an instruction doesn't stop after the maximum of 6 operands.
It continues with the operands of the next instruction format
instead which create really long lines.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Satyam Sharma [Fri, 12 Oct 2007 14:11:32 +0000 (16:11 +0200)]
[S390] appldata_base: Remove module_exit function and modular stuff
arch/s390/Kconfig tells us that CONFIG_APPLDATA_BASE is bool and hence can
never be built modular. Given this, defining appldata_exit() function is
pointless (and wasteful, actually). Remove all that.
Previous patch annotated appldata_offline_cpu() as __cpuexit, but now with the
__exit function appldata_exit() gone, the only callsite that references it is
__cpuinit, so this function can also be __cpuinit, thereby saving space when
HOTPLUG_CPU=n.
Signed-off-by: Satyam Sharma <satyam@infradead.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Satyam Sharma [Fri, 12 Oct 2007 14:11:31 +0000 (16:11 +0200)]
[S390] appldata_base: Misc cpuinit annotations and bugfix
appldata_offline_cpu() is only called from __cpuinit-marked hotplug
notifier callback and from the __exit-marked module_exit function,
therefore candidate for __cpuexit.
BTW the __exit module_exit function appldata_exit() of this driver fails to
unregister_hotcpu_notifier() the notifier_block that was registered by
appldata_init() during module startup. This will lead to oops if hotplug
notification comes after module has been unloaded. Let's fix this by
unregistering the notifier appropriately (before appldata_offline_cpu()'ing
the CPUs).
Signed-off-by: Satyam Sharma <satyam@infradead.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Ralph Wuerthner [Fri, 12 Oct 2007 14:11:30 +0000 (16:11 +0200)]
[S390] zcrypt: fix PCIXCC/CEX2C error recovery
Symptom: zcrypt fails by setting all PCIXCC/CEX2C cards offline for a
certain type of invalid keys.
Problem: zcrypt does not handle rc=12/rs=769 request responses correctly
Solution: modify convert_type86_ica() to handle these error codes correctly
Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Ralph Wuerthner [Fri, 12 Oct 2007 14:11:29 +0000 (16:11 +0200)]
[S390] zcrypt: fix ap_reset_domain()
Resetting of a all queues within a domain requires that a domain must
be selected first.
Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Ralph Wuerthner [Fri, 12 Oct 2007 14:11:28 +0000 (16:11 +0200)]
[S390] zcrypt: remove duplicated struct CPRBX definition
Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com>
Heiko Carstens [Fri, 12 Oct 2007 14:11:27 +0000 (16:11 +0200)]
[S390] zcrypt: make init/exit functions static.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:26 +0000 (16:11 +0200)]
[S390] cio: Avoid machine check vs. not operational races.
There was the possibilty that an action like ccw_device_set_offline()
triggered by a device gone machine check might trigger a not oper
event. Unfortunately, this could lead to the situation that we tried
to unregister a subchannel twice: Once from the slow path evaluation,
and once via the not oper event.
Fix this by always using the same mechanism (css_schedule_eval()) for
triggering the unregister. This makes sure that unregistration will
only be done once. As an added bonus, it also simplyfies the code.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:25 +0000 (16:11 +0200)]
[S390] cio: Documentation update.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:24 +0000 (16:11 +0200)]
[S390] Add Documentation/s390/00-INDEX.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:23 +0000 (16:11 +0200)]
[S390] cio: Fix device attributes for early devices.
Don't forget to set dev->groups for early ccw devices like the
console device so the default attributes are created.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:22 +0000 (16:11 +0200)]
[S390] cio: Disable channel measurements (cmf) on shutdown/reboot.
Disable channel measurements for all ccw devices via the ccw bus's
shutdown method. Clear residual cmf related information that may be
in the schib when setting up a new subchannel.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:21 +0000 (16:11 +0200)]
[S390] cio: Introduce ccw_bus_type.shutdown.
Introduce a shutdown method for the ccw bus that calls the driver
specific shutdown method in struct ccw_driver.
Switch zfcp to the new ccw_driver shutdown method.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:20 +0000 (16:11 +0200)]
[S390] cio: Disable channel path measurements on shutdown/reboot.
Make sure channel path measurements are disabled via a reboot notifier
since we cannot rely on userspace to disable it again after enabling
it. This is 1. clean and 2. makes sure that channel path measurements
do not stay enabled after a reboot not involving a subsystem reset
(which would lead to the channel subsystem scribbling onto random
memory).
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:19 +0000 (16:11 +0200)]
[S390] cio: Minor style fixes.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:18 +0000 (16:11 +0200)]
[S390] cio: Add s390-drivers book.
s390-drivers is generated using the docbook comments. It should
eventually supersede Documentation/s390/cds.txt.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:17 +0000 (16:11 +0200)]
[S390] cio: Add docbook comments.
Comment a bunch of function in docbook style and convert existing
comments on structures to docbook.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:16 +0000 (16:11 +0200)]
[S390] cio: Kerneldoc comments for cmf.
- Fix existing kerneldoc-style comments.
- Move descriptions of functions from cmb.h to cmf.c.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:15 +0000 (16:11 +0200)]
[S390] cio: Fix some coding style issues in cmf.
Fix some formatting and correct a comment.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:14 +0000 (16:11 +0200)]
[S390] cio: remove subchannel_add_files()
subchannel_add_files() no longer exists, remove from header.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cornelia Huck [Fri, 12 Oct 2007 14:11:13 +0000 (16:11 +0200)]
[S390] cio: rename css to channel_subsystems
Rename css[] to channel_subsystems[] to avoid name clashes.
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Jeff Garzik [Wed, 3 Oct 2007 19:47:00 +0000 (15:47 -0400)]
[ISDN] HiSax diva: split setup into three smaller functions
Just code movement, and the glue to call the new functions.
Preparation for hotplug APIs.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jeff Garzik [Wed, 3 Oct 2007 19:37:40 +0000 (15:37 -0400)]
[ISDN] HiSax sedlbauer: move ISAPNP and PCI code into functions of their own
Prep for hotplug API conversion. Just code movement (+glue).
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jeff Garzik [Wed, 3 Oct 2007 19:27:22 +0000 (15:27 -0400)]
[ISDN] HiSax elsa: split huge setup function into four smaller functions
Prep for hotplug API conversion. Just code movement (+glue).
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jeff Garzik [Wed, 3 Oct 2007 19:23:49 +0000 (15:23 -0400)]
[ISDN] HiSax avm_pci: split setup into three smaller functions
Preparation for new ISA/PNP/PCI APIs.
Just code movement, and the glue to call the new functions.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jeff Garzik [Thu, 2 Aug 2007 20:56:22 +0000 (16:56 -0400)]
[ISDN] Remove CONFIG_PCI ifdefs from 100% PCI source code
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Thu, 2 Aug 2007 22:51:14 +0000 (18:51 -0400)]
[ISDN] hysdn: convert to PCI hotplug API
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jens Axboe [Fri, 12 Oct 2007 10:54:13 +0000 (12:54 +0200)]
[BLOCK] s390 xpram typo
bio_end_io() should be bio_endio()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 12 Oct 2007 10:50:41 +0000 (12:50 +0200)]
[BLOCK] Only include the compat ioctl code if CONFIG_BLOCK is set
Add an extra CONFIG_BLOCK_COMPAT that we can use in the Makefile
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 12 Oct 2007 10:50:07 +0000 (12:50 +0200)]
[BLOCK] Better fix for do_blk_trace_setup() for !CONFIG_BLOCK
We don't have the request queue definition, so just make it a
macro instead.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 12 Oct 2007 10:40:38 +0000 (12:40 +0200)]
[BLOCK] Move sector_div() from blkdev.h to kernel.h
We need it even if CONFIG_BLOCK is disabled, so move it outside of
the block layer include system.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Michael Chan [Fri, 12 Oct 2007 08:40:38 +0000 (01:40 -0700)]
[BNX2]: Refine napi poll loop.
Need to read and store sblk->status_idx before checking for more work.
The status idx is later written back to the hardware when enabling
interrupts to acknowledge how much work has been processed. If the
order is reversed, we can end up acknowledging work we haven't
processed.
When completing bnx2_poll(), we should always break out of the while
loop and return work_done instead of returning 0.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Fri, 12 Oct 2007 08:39:50 +0000 (01:39 -0700)]
[TG3]: Refine napi poll loop.
Need to read and store sblk->status_tag before checking for more work.
The status tag is later written back to the hardware when enabling
interrupts to acknowledge how much work has been processed. If the
order is reversed, we can end up acknowledging work we haven't
processed.
When we detect tx error, it is more correct to return the rx
work_done so far instead of 0.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro [Fri, 12 Oct 2007 06:17:47 +0000 (07:17 +0100)]
Fix up more bio fallout
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Fri, 12 Oct 2007 07:26:34 +0000 (00:26 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[ZLIB]: Fix external builds of zlib_inflate code.
[TG3]: Fix APE induced regression
[SKY2]: version 1.19
[SKY2]: use netdevice stats struct
[SKY2]: fiber advertise bits initialization (trivial)
[SKY2]: fix power settings on Yukon XL
[SKY2]: ethtool register reserved area blackout
Al Viro [Fri, 12 Oct 2007 06:00:19 +0000 (07:00 +0100)]
missed bio_endio() in axonram
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
David S. Miller [Fri, 12 Oct 2007 05:15:08 +0000 (22:15 -0700)]
[ZLIB]: Fix external builds of zlib_inflate code.
Move zlib_inflate_blob() out into it's own source file,
infutil.c, so that things like the powerpc zImage builder
in arch/powerpc/boot/Makefile don't end up trying to
compile it.
Signed-off-by: David S. Miller <davem@davemloft.net>
Matt Carlson [Fri, 12 Oct 2007 02:49:11 +0000 (19:49 -0700)]
[TG3]: Fix APE induced regression
This patch fixes a bug caused by the recent APE support added for 5761
devices.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Fri, 12 Oct 2007 02:48:40 +0000 (19:48 -0700)]
[SKY2]: version 1.19
Update version to keep track of new changes.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Fri, 12 Oct 2007 02:48:22 +0000 (19:48 -0700)]
[SKY2]: use netdevice stats struct
Use builtin statistics structure from net device.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Fri, 12 Oct 2007 02:48:04 +0000 (19:48 -0700)]
[SKY2]: fiber advertise bits initialization (trivial)
Put initialization in sequential order (same as other constants).
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Fri, 12 Oct 2007 02:47:44 +0000 (19:47 -0700)]
[SKY2]: fix power settings on Yukon XL
Make sure PCI register for PHY power gets set correctly.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Fri, 12 Oct 2007 02:47:22 +0000 (19:47 -0700)]
[SKY2]: ethtool register reserved area blackout
Make sure and not dump reserved areas of device space.
Touching some of these causes machine check exceptions on boards
like D-Link DGE-550SX.
Coding note, used a complex switch statement rather than bitmap
because it is easier to relate the block values to the documentation
rather than looking at a encoded bitmask.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Fri, 12 Oct 2007 04:55:47 +0000 (21:55 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/paulus/powerpc
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (408 commits)
[POWERPC] Add memchr() to the bootwrapper
[POWERPC] Implement logging of unhandled signals
[POWERPC] Add legacy serial support for OPB with flattened device tree
[POWERPC] Use 1TB segments
[POWERPC] XilinxFB: Allow fixed framebuffer base address
[POWERPC] XilinxFB: Add support for custom screen resolution
[POWERPC] XilinxFB: Use pdata to pass around framebuffer parameters
[POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci
[POWERPC] 4xx: Kilauea defconfig file
[POWERPC] 4xx: Kilauea DTS
[POWERPC] 4xx: Add AMCC Kilauea eval board support to platforms/40x
[POWERPC] 4xx: Add AMCC 405EX support to cputable.c
[POWERPC] Adjust TASK_SIZE on ppc32 systems to 3GB that are capable
[POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers
[POWERPC] 85xx: Enable FP emulation in MPC8560 ADS defconfig
[POWERPC] 85xx: Killed <asm/mpc85xx.h>
[POWERPC] 85xx: Add cpm nodes for 8541/8555 CDS
[POWERPC] 85xx: Convert mpc8560ads to the new CPM binding.
[POWERPC] mpc8272ads: Remove muram from the CPM reg property.
[POWERPC] Make clockevents work on PPC601 processors
...
Fixed up conflict in Documentation/powerpc/booting-without-of.txt manually.
Linus Torvalds [Fri, 12 Oct 2007 04:47:20 +0000 (21:47 -0700)]
Merge branch 'upstream-fixes' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[libata] sata_mv: more S/G fixes
Jeff Garzik [Fri, 12 Oct 2007 04:16:23 +0000 (00:16 -0400)]
[libata] sata_mv: more S/G fixes
* corruption fix: we only want the lower 16 bits of length (0 == 64kb)
* ditto: the upper layer sets max-phys-segments to LIBATA_MAX_PRD,
so we must reset it to own hw-specific length.
* delete unused mv_fill_sg() return value
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jeff Garzik [Fri, 12 Oct 2007 04:01:21 +0000 (00:01 -0400)]
JFS: fix bio-related build breakage
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
David Gibson [Fri, 12 Oct 2007 02:36:20 +0000 (12:36 +1000)]
[POWERPC] Add memchr() to the bootwrapper
This adds a memchr() implementation to the bootwrapper, which will
be needed when libfdt is merged in.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>