]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoMerge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:50:23 +0000 (13:50 +1000)]
Merge remote-tracking branch 'pm/linux-next'

12 years agoMerge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:43:27 +0000 (13:43 +1000)]
Merge remote-tracking branch 'trivial/for-next'

Conflicts:
sound/soc/imx/Kconfig

12 years agoMerge remote-tracking branch 'iommu/next'
Stephen Rothwell [Mon, 30 Apr 2012 03:35:18 +0000 (13:35 +1000)]
Merge remote-tracking branch 'iommu/next'

12 years agoMerge remote-tracking branch 'selinux/master'
Stephen Rothwell [Mon, 30 Apr 2012 03:32:30 +0000 (13:32 +1000)]
Merge remote-tracking branch 'selinux/master'

12 years agoMerge remote-tracking branch 'security/next'
Stephen Rothwell [Mon, 30 Apr 2012 03:26:05 +0000 (13:26 +1000)]
Merge remote-tracking branch 'security/next'

Conflicts:
include/linux/filter.h

12 years agoMerge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:24:36 +0000 (13:24 +1000)]
Merge remote-tracking branch 'regulator/for-next'

12 years agoMerge remote-tracking branch 'fbdev/fbdev-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:22:37 +0000 (13:22 +1000)]
Merge remote-tracking branch 'fbdev/fbdev-next'

12 years agoMerge commit 'refs/next/20120427/drm'
Stephen Rothwell [Mon, 30 Apr 2012 03:20:46 +0000 (13:20 +1000)]
Merge commit 'refs/next/20120427/drm'

Conflicts:
drivers/gpu/drm/i915/intel_i2c.c

12 years agoMerge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:07:57 +0000 (13:07 +1000)]
Merge remote-tracking branch 'mfd/for-next'

Conflicts:
drivers/mfd/asic3.c

12 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:02:01 +0000 (13:02 +1000)]
Merge remote-tracking branch 'md/for-next'

12 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:55:29 +0000 (12:55 +1000)]
Merge remote-tracking branch 'slab/for-next'

12 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:54:00 +0000 (12:54 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

12 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Mon, 30 Apr 2012 02:52:24 +0000 (12:52 +1000)]
Merge branch 'quilt/device-mapper'

12 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:46:07 +0000 (12:46 +1000)]
Merge remote-tracking branch 'block/for-next'

Conflicts:
Documentation/feature-removal-schedule.txt

12 years agoMerge remote-tracking branch 'cgroup/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:42:07 +0000 (12:42 +1000)]
Merge remote-tracking branch 'cgroup/for-next'

Conflicts:
Documentation/feature-removal-schedule.txt

12 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Mon, 30 Apr 2012 02:40:33 +0000 (12:40 +1000)]
Merge remote-tracking branch 'input/next'

12 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Mon, 30 Apr 2012 02:39:06 +0000 (12:39 +1000)]
Merge branch 'quilt/rr'

Conflicts:
arch/arm/kernel/kprobes.c
arch/arm/kernel/smp.c
drivers/virtio/virtio_balloon.c
init/main.c

12 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:07:02 +0000 (12:07 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'

12 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:05:10 +0000 (12:05 +1000)]
Merge remote-tracking branch 'sound/for-next'

12 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Mon, 30 Apr 2012 02:03:43 +0000 (12:03 +1000)]
Merge remote-tracking branch 'crypto/master'

12 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Mon, 30 Apr 2012 02:02:13 +0000 (12:02 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

12 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Mon, 30 Apr 2012 02:00:46 +0000 (12:00 +1000)]
Merge remote-tracking branch 'bluetooth/master'

12 years agoMerge remote-tracking branch 'wireless-next/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:59:17 +0000 (11:59 +1000)]
Merge remote-tracking branch 'wireless-next/master'

Conflicts:
net/bluetooth/hci_core.c
net/bluetooth/mgmt.c

12 years agoMerge remote-tracking branch 'net-next/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:49:39 +0000 (11:49 +1000)]
Merge remote-tracking branch 'net-next/master'

Conflicts:
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/intel/e1000e/param.c

12 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Mon, 30 Apr 2012 01:48:11 +0000 (11:48 +1000)]
Merge remote-tracking branch 'slave-dma/next'

12 years agoMerge remote-tracking branch 'isci/all'
Stephen Rothwell [Mon, 30 Apr 2012 01:46:31 +0000 (11:46 +1000)]
Merge remote-tracking branch 'isci/all'

Conflicts:
drivers/scsi/libsas/sas_discover.c
include/scsi/libsas.h

12 years agoMerge remote-tracking branch 'target-merge/for-next-merge'
Stephen Rothwell [Mon, 30 Apr 2012 01:44:58 +0000 (11:44 +1000)]
Merge remote-tracking branch 'target-merge/for-next-merge'

12 years agoMerge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:43:31 +0000 (11:43 +1000)]
Merge remote-tracking branch 'target-updates/for-next'

12 years agoMerge remote-tracking branch 'scsi/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:41:55 +0000 (11:41 +1000)]
Merge remote-tracking branch 'scsi/for-next'

12 years agoMerge remote-tracking branch 'ieee1394/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:40:22 +0000 (11:40 +1000)]
Merge remote-tracking branch 'ieee1394/for-next'

12 years agoMerge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:38:36 +0000 (11:38 +1000)]
Merge remote-tracking branch 'infiniband/for-next'

12 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:38:29 +0000 (11:38 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

12 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:38:26 +0000 (11:38 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

12 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:36:43 +0000 (11:36 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'

Conflicts:
drivers/usb/gadget/uvc_queue.c

12 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:35:18 +0000 (11:35 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

12 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Mon, 30 Apr 2012 01:35:16 +0000 (11:35 +1000)]
Merge branch 'quilt/jdelvare-hwmon'

12 years agoMerge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:33:03 +0000 (11:33 +1000)]
Merge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'

12 years agoMerge remote-tracking branch 'bjdooks-i2c/next-i2c'
Stephen Rothwell [Mon, 30 Apr 2012 01:33:01 +0000 (11:33 +1000)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'

Conflicts:
drivers/i2c/busses/i2c-omap.c

12 years agoMerge branch 'quilt/i2c'
Stephen Rothwell [Mon, 30 Apr 2012 01:31:35 +0000 (11:31 +1000)]
Merge branch 'quilt/i2c'

12 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:30:08 +0000 (11:30 +1000)]
Merge remote-tracking branch 'hid/for-next'

12 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Mon, 30 Apr 2012 01:28:46 +0000 (11:28 +1000)]
Merge remote-tracking branch 'pci/next'

12 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:27:09 +0000 (11:27 +1000)]
Merge remote-tracking branch 'vfs/for-next'

12 years agoMerge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:25:47 +0000 (11:25 +1000)]
Merge remote-tracking branch 'xfs/for-next'

12 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:24:24 +0000 (11:24 +1000)]
Merge remote-tracking branch 'ubifs/linux-next'

12 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:22:57 +0000 (11:22 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'

12 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:21:33 +0000 (11:21 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

12 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:20:11 +0000 (11:20 +1000)]
Merge remote-tracking branch 'logfs/master'

12 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:18:48 +0000 (11:18 +1000)]
Merge remote-tracking branch 'gfs2/master'

12 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:17:24 +0000 (11:17 +1000)]
Merge remote-tracking branch 'fuse/for-next'

12 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Mon, 30 Apr 2012 01:15:54 +0000 (11:15 +1000)]
Merge remote-tracking branch 'ext4/dev'

12 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Mon, 30 Apr 2012 01:14:31 +0000 (11:14 +1000)]
Merge remote-tracking branch 'ext3/for_next'

12 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Mon, 30 Apr 2012 01:13:08 +0000 (11:13 +1000)]
Merge remote-tracking branch 'ecryptfs/next'

Conflicts:
fs/ecryptfs/ecryptfs_kernel.h

12 years agoMerge remote-tracking branch 'ceph/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:11:42 +0000 (11:11 +1000)]
Merge remote-tracking branch 'ceph/master'

12 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:05:51 +0000 (11:05 +1000)]
Merge remote-tracking branch 'tile/master'

12 years agoMerge remote-tracking branch 'sparc-next/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:04:28 +0000 (11:04 +1000)]
Merge remote-tracking branch 'sparc-next/master'

12 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Mon, 30 Apr 2012 01:03:07 +0000 (11:03 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

12 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Mon, 30 Apr 2012 01:01:47 +0000 (11:01 +1000)]
Merge remote-tracking branch 's390/features'

12 years agoMerge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Mon, 30 Apr 2012 01:00:26 +0000 (11:00 +1000)]
Merge remote-tracking branch 'mpc5xxx/next'

12 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:00:25 +0000 (11:00 +1000)]
Merge remote-tracking branch 'parisc/for-next'

12 years agoMerge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Mon, 30 Apr 2012 01:00:24 +0000 (11:00 +1000)]
Merge remote-tracking branch 'openrisc/for-upstream'

12 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:59:01 +0000 (10:59 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

12 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:57:40 +0000 (10:57 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

12 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:56:17 +0000 (10:56 +1000)]
Merge remote-tracking branch 'm68k/for-next'

12 years agoMerge remote-tracking branch 'ia64/next'
Stephen Rothwell [Mon, 30 Apr 2012 00:54:56 +0000 (10:54 +1000)]
Merge remote-tracking branch 'ia64/next'

12 years agoMerge remote-tracking branch 'hexagon/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:53:34 +0000 (10:53 +1000)]
Merge remote-tracking branch 'hexagon/linux-next'

12 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:52:13 +0000 (10:52 +1000)]
Merge remote-tracking branch 'cris/for-next'

12 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Mon, 30 Apr 2012 00:50:51 +0000 (10:50 +1000)]
Merge remote-tracking branch 'blackfin/for-linus'

12 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:49:29 +0000 (10:49 +1000)]
Merge remote-tracking branch 's5p/for-next'

12 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:48:06 +0000 (10:48 +1000)]
Merge remote-tracking branch 'arm/for-next'

12 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Mon, 30 Apr 2012 00:45:19 +0000 (10:45 +1000)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

12 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Mon, 30 Apr 2012 00:45:10 +0000 (10:45 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

12 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Mon, 30 Apr 2012 00:45:07 +0000 (10:45 +1000)]
Merge remote-tracking branch 'wireless/master'

12 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Mon, 30 Apr 2012 00:45:06 +0000 (10:45 +1000)]
Merge remote-tracking branch 'net/master'

12 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Mon, 30 Apr 2012 00:45:05 +0000 (10:45 +1000)]
Merge remote-tracking branch 'arm-current/fixes'

12 years agoext4: add metadata checksumming to the list of supported features
Theodore Ts'o [Sun, 29 Apr 2012 22:49:10 +0000 (18:49 -0400)]
ext4: add metadata checksumming to the list of supported features

Activate the metadata checksumming feature by adding it to ext4 and jbd2's
lists of supported features.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: add checksums to the MMP block
Darrick J. Wong [Sun, 29 Apr 2012 22:47:10 +0000 (18:47 -0400)]
ext4: add checksums to the MMP block

Compute and verify a checksum for the MMP block.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: make block group checksums use metadata_csum algorithm
Darrick J. Wong [Sun, 29 Apr 2012 22:45:10 +0000 (18:45 -0400)]
ext4: make block group checksums use metadata_csum algorithm

metadata_csum supersedes uninit_bg.  Convert the ROCOMPAT uninit_bg
flag check to a helper function that covers both, and make the
checksum calculation algorithm use either crc16 or the metadata_csum
chosen algorithm depending on which flag is set.  Print a warning if
we try to mount a filesystem with both feature flags set.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: Calculate and verify checksums of extended attribute blocks
Darrick J. Wong [Sun, 29 Apr 2012 22:43:10 +0000 (18:43 -0400)]
ext4: Calculate and verify checksums of extended attribute blocks

Calculate and verify the checksums of extended attribute blocks.  This
only applies to separate EA blocks that are pointed to by
inode->i_file_acl (i.e.  external EA blocks); the checksum lives in
the EA header.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: calculate and verify checksums of directory leaf blocks
Darrick J. Wong [Sun, 29 Apr 2012 22:41:10 +0000 (18:41 -0400)]
ext4: calculate and verify checksums of directory leaf blocks

Calculate and verify the checksums for directory leaf blocks
(i.e. blocks that only contain actual directory entries).  The
checksum lives in what looks to be an unused directory entry with a 0
name_len at the end of the block.  This scheme is not used for
internal htree nodes because the mechanism in place there only costs
one dx_entry, whereas the "empty" directory entry would cost two
dx_entries.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: Calculate and verify checksums for htree nodes
Darrick J. Wong [Sun, 29 Apr 2012 22:39:10 +0000 (18:39 -0400)]
ext4: Calculate and verify checksums for htree nodes

Calculate and verify the checksum for directory index tree (htree)
node blocks.  The checksum is stored in the last 4 bytes of the htree
block and requires the dx_entry array to stop 1 dx_entry short of the
end of the block.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: verify and calculate checksums for extent tree blocks
Darrick J. Wong [Sun, 29 Apr 2012 22:37:10 +0000 (18:37 -0400)]
ext4: verify and calculate checksums for extent tree  blocks

Calculate and verify the checksum for each extent tree block.  The
checksum is located in the space immediately after the last possible
ext4_extent in the block.  The space is is typically the last 4-8
bytes in the block.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: calculate and verify block bitmap checksum
Darrick J. Wong [Sun, 29 Apr 2012 22:35:10 +0000 (18:35 -0400)]
ext4: calculate and verify block bitmap checksum

Compute and verify the checksum of the block bitmap; this checksum is
stored in the block group descriptor.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: calculate and verify checksums for inode bitmaps
Darrick J. Wong [Sun, 29 Apr 2012 22:33:10 +0000 (18:33 -0400)]
ext4: calculate and verify checksums for inode bitmaps

Compute and verify the checksum of the inode bitmap; the checkum is
stored in the block group descriptor.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: calculate and verify inode checksums
Darrick J. Wong [Sun, 29 Apr 2012 22:31:10 +0000 (18:31 -0400)]
ext4: calculate and verify inode checksums

This patch introduces to ext4 the ability to calculate and verify
inode checksums.  This requires the use of a new ro compatibility flag
and some accompanying e2fsprogs patches to provide the relevant
features in tune2fs and e2fsck.  The inode generation changes have
been integrated into this patch.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: calculate and verify superblock checksum
Darrick J. Wong [Sun, 29 Apr 2012 22:29:10 +0000 (18:29 -0400)]
ext4: calculate and verify superblock checksum

Calculate and verify the superblock checksum.  Since the UUID and
block group number are embedded in each copy of the superblock, we
need only checksum the entire block.  Refactor some of the code to
eliminate open-coding of the checksum update call.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: load the crc32c driver if necessary
Darrick J. Wong [Sun, 29 Apr 2012 22:27:10 +0000 (18:27 -0400)]
ext4: load the crc32c driver if necessary

Obtain a reference to the cryptoapi and crc32c if we mount a
filesystem with metadata checksumming enabled.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: record the checksum algorithm in use in the superblock
Darrick J. Wong [Sun, 29 Apr 2012 22:25:10 +0000 (18:25 -0400)]
ext4: record the checksum algorithm in use in the superblock

Record the type of checksum algorithm we're using for metadata in the
superblock, in case we ever want/need to change the algorithm.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: change on-disk layout to support extended metadata checksumming
Darrick J. Wong [Sun, 29 Apr 2012 22:23:10 +0000 (18:23 -0400)]
ext4: change on-disk layout to support extended metadata checksumming

Define flags and change structure definitions to allow checksumming of
ext4 metadata.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoext4: create a new BH_Verified flag to avoid unnecessary metadata validation
Darrick J. Wong [Sun, 29 Apr 2012 22:21:10 +0000 (18:21 -0400)]
ext4: create a new BH_Verified flag to avoid unnecessary metadata validation

Create a new BH_Verified flag to indicate that we've verified all the
data in a buffer_head for correctness.  This allows us to bypass
expensive verification steps when they are not necessary without
missing them when they are.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
12 years agoLinux 3.4-rc5 v3.4-rc5
Linus Torvalds [Sun, 29 Apr 2012 22:19:10 +0000 (15:19 -0700)]
Linux 3.4-rc5

12 years agoMerge tag 'pm-for-3.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Sun, 29 Apr 2012 22:00:44 +0000 (15:00 -0700)]
Merge tag 'pm-for-3.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael J. Wysocki:
 "Fix for an issue causing hibernation to hang on systems with highmem
  (that practically means i386) due to broken memory management (bug
  introduced in 3.2, so -stable material) and PM documentation update
  making the freezer documentation follow the code again after some
  recent updates."

* tag 'pm-for-3.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM / Freezer / Docs: Update documentation about freezing of tasks
  PM / Hibernate: fix the number of pages used for hibernate/thaw buffering

12 years agoPM / QoS: Create device constraints objects on notifier registration
Rafael J. Wysocki [Sun, 29 Apr 2012 20:54:47 +0000 (22:54 +0200)]
PM / QoS: Create device constraints objects on notifier registration

The current behavior of dev_pm_qos_add_notifier() makes device PM QoS
notifiers less than useful.  Namely, it silently returns success when
called before any PM QoS constraints are added for the device, so the
caller will assume that the notifier has been registered, but when
someone actually adds some nontrivial constraints for the device
eventually, the previous callers of dev_pm_qos_add_notifier()
will not know about that and their notifier routines will not be
executed (contrary to their expectations).

To address this problem make dev_pm_qos_add_notifier() create the
constraints object for the device if it is not present when the
routine is called.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by : markgross <markgross@thegnar.org>

12 years agoPM / Runtime: Remove device fields related to suspend time, v2
Rafael J. Wysocki [Sun, 29 Apr 2012 20:54:36 +0000 (22:54 +0200)]
PM / Runtime: Remove device fields related to suspend time, v2

After the previous changes in default_stop_ok() and
default_power_down_ok() for PM domains, there are two fields in
struct dev_pm_info that aren't necessary any more,  suspend_time
and max_time_suspended_ns.

Remove those fields along with all of the code that accesses them,
which simplifies the runtime PM framework quite a bit.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
12 years agoPM / Domains: Rework default domain power off governor function, v2
Rafael J. Wysocki [Sun, 29 Apr 2012 20:54:30 +0000 (22:54 +0200)]
PM / Domains: Rework default domain power off governor function, v2

The existing default domain power down governor function for PM
domains, default_power_down_ok(), is supposed to check whether or not
the PM QoS latency constraints of the devices in the domain will be
violated if the domain is turned off by pm_genpd_poweroff().
However, the computations carried out by it don't reflect the
definition of the PM QoS latency constrait in
Documentation/ABI/testing/sysfs-devices-power.

Make default_power_down_ok() follow the definition of the PM QoS
latency constrait.  In particular, make it only take latencies into
account, because it doesn't matter how much time has elapsed since
the domain's devices were suspended for the computation.

Remove the break_even_ns and power_off_time fields from
struct generic_pm_domain, because they are not necessary any more.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
12 years agoPM / Domains: Rework default device stop governor function, v2
Rafael J. Wysocki [Sun, 29 Apr 2012 20:54:17 +0000 (22:54 +0200)]
PM / Domains: Rework default device stop governor function, v2

The existing default device stop governor function for PM domains,
default_stop_ok(), is supposed to check whether or not the device's
PM QoS latency constraint will be violated if the device is stopped
by pm_genpd_runtime_suspend().  However, the computations carried out
by it don't reflect the definition of the PM QoS latency constrait in
Documentation/ABI/testing/sysfs-devices-power.

Make default_stop_ok() follow the definition of the PM QoS latency
constrait.  In particular, make it take the device's start and stop
latencies correctly.

Add a new field, effective_constraint_ns, to struct gpd_timing_data
and use it to store the difference between the device's PM QoS
constraint and its resume latency for use by the device's parent
(the effective_constraint_ns values for the children are used for
computing the parent's one along with its PM QoS constraint).

Remove the break_even_ns field from struct gpd_timing_data, because
it's not used any more.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
12 years agoepoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready
Arve Hjønnevåg [Sun, 29 Apr 2012 20:53:56 +0000 (22:53 +0200)]
epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready

When an epoll_event, that has the EPOLLWAKEUP flag set, is ready, a
wakeup_source will be active to prevent suspend. This can be used to
handle wakeup events from a driver that support poll, e.g. input, if
that driver wakes up the waitqueue passed to epoll before allowing
suspend.

The current implementation uses an extra wakeup_source when
ep_scan_ready_list runs. This can cause problems if a single thread
is polling on wakeup events and frequent non-wakeup events (events
usually arrive during thread freezing) using the same epoll file.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
12 years agoPM / Sleep: Add user space interface for manipulating wakeup sources, v3
Rafael J. Wysocki [Sun, 29 Apr 2012 20:53:42 +0000 (22:53 +0200)]
PM / Sleep: Add user space interface for manipulating wakeup sources, v3

Android allows user space to manipulate wakelocks using two
sysfs file located in /sys/power/, wake_lock and wake_unlock.
Writing a wakelock name and optionally a timeout to the wake_lock
file causes the wakelock whose name was written to be acquired (it
is created before is necessary), optionally with the given timeout.
Writing the name of a wakelock to wake_unlock causes that wakelock
to be released.

Implement an analogous interface for user space using wakeup sources.
Add the /sys/power/wake_lock and /sys/power/wake_unlock files
allowing user space to create, activate and deactivate wakeup
sources, such that writing a name and optionally a timeout to
wake_lock causes the wakeup source of that name to be activated,
optionally with the given timeout.  If that wakeup source doesn't
exist, it will be created and then activated.  Writing a name to
wake_unlock causes the wakeup source of that name, if there is one,
to be deactivated.  Wakeup sources created with the help of
wake_lock that haven't been used for more than 5 minutes are garbage
collected and destroyed.  Moreover, there can be only WL_NUMBER_LIMIT
wakeup sources created with the help of wake_lock present at a time.

The data type used to track wakeup sources created by user space is
called "struct wakelock" to indicate the origins of this feature.

This version of the patch includes an rbtree manipulation fix from John Stultz.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: NeilBrown <neilb@suse.de>
12 years agoPM / Sleep: Add "prevent autosleep time" statistics to wakeup sources
Rafael J. Wysocki [Sun, 29 Apr 2012 20:53:32 +0000 (22:53 +0200)]
PM / Sleep: Add "prevent autosleep time" statistics to wakeup sources

Android uses one wakelock statistics that is only necessary for
opportunistic sleep.  Namely, the prevent_suspend_time field
accumulates the total time the given wakelock has been locked
while "automatic suspend" was enabled.  Add an analogous field,
prevent_sleep_time, to wakeup sources and make it behave in a similar
way.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
12 years agoPM / Sleep: Implement opportunistic sleep, v2
Rafael J. Wysocki [Sun, 29 Apr 2012 20:53:22 +0000 (22:53 +0200)]
PM / Sleep: Implement opportunistic sleep, v2

Introduce a mechanism by which the kernel can trigger global
transitions to a sleep state chosen by user space if there are no
active wakeup sources.

It consists of a new sysfs attribute, /sys/power/autosleep, that
can be written one of the strings returned by reads from
/sys/power/state, an ordered workqueue and a work item carrying out
the "suspend" operations.  If a string representing the system's
sleep state is written to /sys/power/autosleep, the work item
triggering transitions to that state is queued up and it requeues
itself after every execution until user space writes "off" to
/sys/power/autosleep.

That work item enables the detection of wakeup events using the
functions already defined in drivers/base/power/wakeup.c (with one
small modification) and calls either pm_suspend(), or hibernate() to
put the system into a sleep state.  If a wakeup event is reported
while the transition is in progress, it will abort the transition and
the "system suspend" work item will be queued up again.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: NeilBrown <neilb@suse.de>
12 years agoPM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints
Arve Hjønnevåg [Sun, 29 Apr 2012 20:53:02 +0000 (22:53 +0200)]
PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints

Add tracepoints to wakeup_source_activate and wakeup_source_deactivate.
Useful for checking that specific wakeup sources overlap as expected.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>