aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-03-05ext3: add writepage sanity checksDmitry Monakhov1-0/+7
- There is theoretical possibility to perform writepage on RO superblock. Add explicit check for what case. - Page must being locked before writepage. Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05ext3: Truncate allocated blocks if direct IO write fails to update i_sizeJan Kara1-2/+3
We have to truncate blocks allocated to file during direct IO when we fail to update i_size properly. Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: Properly invalidate caches even for filesystems with blocksize < pagesizeJan Kara1-5/+7
Sometimes invalidate_bdev() can fail to invalidate a part of block device cache because of dirty data. If the filesystem has blocksize smaller than page size, this can happen even for pages containing quota files and thus kernel would operate on stale data. Fix the issue by syncing the filesystem before invalidating the cache. Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: generalize quota transfer interfaceDmitry Monakhov3-14/+22
Current quota transfer interface support only uid/gid. This patch extend interface in order to support various quotas types The goal is accomplished without changes in most frequently used vfs_dq_transfer() func. Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: sb_quota state flags cleanupDmitry Monakhov3-23/+26
- remove hardcoded USRQUOTA/GRPQUOTA flags - convert int to bool for appropriate functions Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05jbd: Delay discarding buffers in journal_unmap_bufferJan Kara2-17/+36
Delay discarding buffers in journal_unmap_buffer until we know that "add to orphan" operation has definitely been committed, otherwise the log space of committing transation may be freed and reused before truncate get committed, updates may get lost if crash happens. This patch is a backport of JBD2 fix by dingdinghua <[email protected]>. Signed-off-by: Jan Kara <[email protected]>
2010-03-05ext3: quota_write cross block boundary behaviourDmitry Monakhov1-35/+34
We always assume what dquot update result in changes in one data block But ext3_quota_write() function may handle cross block boundary writes In fact if this ever happen it will result in incorrect journal credits reservation. And later bug_on triggering. As soon this never happen the boundary cross loop is NOOP. In order to make things straight let's remove this loop and assert cross boundary condition. Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquotaChristoph Hellwig1-4/+0
We already do these checks in the generic code. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: split out compat_sys_quotactl support from quota.cChristoph Hellwig4-117/+124
Instead of adding ifdefs just split it into a new file. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: split out netlink notification support from quota.cChristoph Hellwig3-93/+96
Instead of adding ifdefs just split it into a new file. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: remove invalid optimization from quota_sync_allChristoph Hellwig1-15/+0
Checking the "VFS" quota enabled and dirty bits from generic code means this code will never get called for other implementations, e.g. XFS and GFS2. Grabbing the reference on the superblock really isn't much overhead for a global Q_SYNC call, so just drop this optimization. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: move code from sync_quota_sb into vfs_quota_syncChristoph Hellwig9-71/+52
Currenly sync_quota_sb does a lot of sync and truncate action that only applies to "VFS" style quotas and is actively harmful for the sync performance in XFS. Move it into vfs_quota_sync and add a wait parameter to ->quota_sync to tell if we need it or not. My audit of the GFS2 code says it's also not needed given the way GFS2 implements quotas, but I'd be happy if this can get a detailed review. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: clean up Q_XQUOTASYNCChristoph Hellwig3-20/+8
Currently Q_XQUOTASYNC calls into the quota_sync method, but XFS does something entirely different in it than the rest of the filesystems. xfs_quota which calls Q_XQUOTASYNC expects an asynchronous data writeout to flush delayed allocations, while the "VFS" quota support wants to flush changes to the quota file. So make Q_XQUOTASYNC call into the writeback code directly and make the quota_sync method optional as XFS doesn't need in the sense expected by the rest of the quota code. GFS2 was using limited XFS-style quota and has a quota_sync method fitting neither the style used by vfs_quota_sync nor xfs_fs_quota_sync. I left it in for now as per discussion with Steve it expects to be called from the sync path this way. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: simplify permission checkingChristoph Hellwig1-61/+31
Stop having complicated different routines for checking permissions for XQM vs "VFS" quotas. Instead do the checks for having sb->s_qcop and a valid type directly in do_quotactl, and munge the *quotactl_valid functions into a check_quotactl_permission helper that only checks for permissions. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: special case Q_SYNC without device nameChristoph Hellwig1-13/+27
The Q_SYNC command can be called without the path to a device, in which case it iterates over all superblocks. Special case this variant directly in sys_quotactl so that the other code always gets a superblock and doesn't need to deal with this case. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: clean up checks for supported quota methodsChristoph Hellwig1-84/+37
Move the checks for sb->s_qcop->foo next to the actual calls for them, same for sb_has_quota_active checks where applicable. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: split do_quotactlChristoph Hellwig1-104/+146
Split out a helper for each non-trivial command from do_quotactl. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: Fix warning when a delayed write happens before quota is enabledJan Kara1-4/+31
If a delayed-allocation write happens before quota is enabled, the kernel spits out a warning: WARNING: at fs/quota/dquot.c:988 dquot_claim_space+0x77/0x112() because the fact that user has some delayed allocation is not recorded in quota structure. Make dquot_initialize() update amount of reserved space for user if it sees inode has some space reserved. Also make sure that reserved quota space does not go negative and we warn about the filesystem bug just once. Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: manage reserved space when quota is not active [v2]Dmitry Monakhov2-6/+15
Since we implemented generic reserved space management interface, then it is possible to account reserved space even when quota is not active (similar to i_blocks/i_bytes). Without this patch following testcase result in massive comlain from WARN_ON in dquot_claim_space() TEST_CASE: mount /dev/sdb /mnt -oquota dd if=/dev/zero of=/mnt/test bs=1M count=1 quotaon /mnt # fs_reserved_spave == 1Mb # quota_reserved_space == 0, because quota was disabled dd if=/dev/zero of=/mnt/test seek=1 bs=1M count=1 # fs_reserved_spave == 2Mb # quota_reserved_space == 1Mb sync # ->dquot_claim_space() -> WARN_ON Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05jbd[2]: remove references to BUFFER_DEBUGChristoph Egger2-22/+0
CONFIG_BUFFER_DEBUG seems to have been removed from the documentation somewhere around 2.4.15 and seemingly hasn't been available even longer. It is, however, still referenced at one place from the jbd code (one is a copy of the other header). Time to clean it up Signed-off-by: Christoph Egger <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05ext3: trivial quota cleanupDmitry Monakhov1-54/+67
The patch is aimed to reorganize and simplify quota code a bit. Quota code is itself complex enouth, but we can make it more readable in some places: - Move quota option parsing to separate functions. - Simplify old-quota and journaled-quota mix check. Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05ext3: mount flags manipulation cleanupDmitry Monakhov1-27/+20
Replace intermediate EXT3_MOUNT_XXX flags manipulation to corresponding macro. Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: Jan Kara <[email protected]>
2010-03-05ext3: Use bitops to read/modify EXT3_I(inode)->i_stateJan Kara5-27/+44
At several places we modify EXT3_I(inode)->i_state without holding i_mutex (ext3_release_file, ext3_bmap, ext3_journalled_writepage, ext3_do_update_inode, ...). These modifications are racy and we can lose updates to i_state. So convert handling of i_state to use bitops which are atomic. Signed-off-by: Jan Kara <[email protected]>
2010-03-05quota: Cleanup S_NOQUOTA handlingJan Kara1-36/+11
Cleanup handling of S_NOQUOTA inode flag and document it a bit. The flag does not have to be set under dqptr_sem. Only functions modifying inode's dquot pointers have to check the flag under dqptr_sem before going forward with the modification. This way we are sure that we cannot add new dquot pointers to the inode which is just becoming a quota file. The good thing about this cleanup is that there are no more places in quota code which enforce i_mutex vs. dqptr_sem lock ordering (in particular that dqptr_sem -> i_mutex of quota file). This should silence some (false) lockdep warnings with ext4 + quota and generally make life of some filesystems easier. Signed-off-by: Jan Kara <[email protected]>
2010-03-04[LogFS] Only write journal if dirtyJoern Engel6-13/+19
This prevents unnecessary journal writes. More importantly it prevents an oops due to a journal write on failed mount.
2010-03-04[LogFS] Fix bdev erasesJoern Engel6-20/+97
Erases for block devices were always just emulated by writing 0xff. Some time back the write was removed and only the page cache was changed to 0xff. Superficialy a good idea with two problems: 1. Touching the page cache isn't necessary either. 2. However, writing out 0xff _is_ necessary for the journal. As the journal is scanned linearly, an old non-overwritten commit entry can be used on next mount and cause havoc. This should fix both aspects.
2010-03-04Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs into for-2.6.34-incomingJ. Bruce Fields1318-12532/+30858
Resolve merge conflict in fs/xfs/linux-2.6/xfs_export.c.
2010-03-05sh: Convert sh to use read/update_persistent_clockJohn Stultz1-5/+1
This patch converts the sh architecture to use the generic read_persistent_clock and update_persistent_clock interfaces, reducing the amount of arch specific code we have to maintain, and allowing for further cleanups in the future. Cc: Thomas Gleixner <[email protected]> Cc: Andrew Morton <[email protected]> Signed-off-by: John Stultz <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-03-04Staging: winbond: fix up wireless api errorsGreg Kroah-Hartman1-11/+3
The wireless core made a number of api changes that caused the winbond driver to break. This patch fixes those errors by making the needed changes to the driver. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: merge staging patches into Linus's main branchGreg Kroah-Hartman478-24373/+29061
There were a number of patches that went into Linus's tree already that conflicted with other changes in the staging branch. This merge resolves those merge conflicts. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osdLinus Torvalds5-203/+779
* 'for-linus' of git://git.open-osd.org/linux-open-osd: exofs: groups support exofs: Prepare for groups exofs: Error recovery if object is missing from storage exofs: convert io_state to use pages array instead of bio at input exofs: RAID0 support exofs: Define on-disk per-inode optional layout attribute exofs: unindent exofs_sbi_read exofs: Move layout related members to a layout structure exofs: Recover in the case of read-passed-end-of-file exofs: Micro-optimize exofs_i_info exofs: debug print even less
2010-03-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds17-276/+99
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Make prom entry spinlock NMI safe. sparc64: Kill off old sys_perfctr system call and state. sparc: Update defconfigs. sparc: Provide io{read,write}{16,32}be().
2010-03-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6Linus Torvalds52-678/+617
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6: (49 commits) drivers/ide: Fix continuation line formats ide: fixed section mismatch warning in cmd640.c ide: ide_timing_compute() fixup ide: make ide_get_best_pio_mode() static via82cxxx: use ->pio_mode value to determine pair device speed tx493xide: use ->pio_mode value to determine pair device speed siimage: use ->pio_mode value to determine pair device speed palm_bk3710: use ->pio_mode value to determine pair device speed it821x: use ->pio_mode value to determine pair device speed cs5536: use ->pio_mode value to determine pair device speed cs5535: use ->pio_mode value to determine pair device speed cmd64x: fix handling of address setup timings amd74xx: use ->pio_mode value to determine pair device speed alim15x3: fix handling of UDMA enable bit alim15x3: fix handling of DMA timings alim15x3: fix handling of command timings alim15x3: fix handling of address setup timings ide-timings: use ->pio_mode value to determine fastest PIO speed ide: change ->set_dma_mode method parameters ide: change ->set_pio_mode method parameters ...
2010-03-04Merge branch 'next' of ↵Linus Torvalds20-779/+1717
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (28 commits) ioat: cleanup ->timer_fn() and ->cleanup_fn() prototypes ioat3: interrupt coalescing ioat: close potential BUG_ON race in the descriptor cleanup path ioat2: kill pending flag ioat3: use ioat2_quiesce() ioat3: cleanup, don't enable DCA completion writes DMAENGINE: COH 901 318 lli sg offset fix DMAENGINE: COH 901 318 configure channel direction DMAENGINE: COH 901 318 remove irq counting DMAENGINE: COH 901 318 descriptor pool refactoring DMAENGINE: COH 901 318 cleanups dma: Add MPC512x DMA driver Debugging options for the DMA engine subsystem iop-adma: redundant/wrong tests in iop_*_count()? dmatest: fix handling of an even number of xor_sources dmatest: correct raid6 PQ test fsldma: Fix cookie issues fsldma: Fix cookie issues dma: cases IPU_PIX_FMT_BGRA32, BGR32 and ABGR32 are the same in ipu_ch_param_set_size() dma: make Open Firmware device id constant ...
2010-03-04Merge branch 'for-linus' of ↵Linus Torvalds73-1080/+773
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits) init: Open /dev/console from rootfs mqueue: fix typo "failues" -> "failures" mqueue: only set error codes if they are really necessary mqueue: simplify do_open() error handling mqueue: apply mathematics distributivity on mq_bytes calculation mqueue: remove unneeded info->messages initialization mqueue: fix mq_open() file descriptor leak on user-space processes fix race in d_splice_alias() set S_DEAD on unlink() and non-directory rename() victims vfs: add NOFOLLOW flag to umount(2) get rid of ->mnt_parent in tomoyo/realpath hppfs can use existing proc_mnt, no need for do_kern_mount() in there Mirror MS_KERNMOUNT in ->mnt_flags get rid of useless vfsmount_lock use in put_mnt_ns() Take vfsmount_lock to fs/internal.h get rid of insanity with namespace roots in tomoyo take check for new events in namespace (guts of mounts_poll()) to namespace.c Don't mess with generic_permission() under ->d_lock in hpfs sanitize const/signedness for udf nilfs: sanitize const/signedness in dealing with ->d_name.name ... Fix up fairly trivial (famous last words...) conflicts in drivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c
2010-03-04Staging: Merge two branches of coding style fixes togetherGreg Kroah-Hartman16-123/+149
Turns out that multiple people sent pretty much the same patch for the same staging drivers. Commit these in two different branches and merge them together to get a more complete coverage of the cleanup and properly credit everyone for the work that they did. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-05sh: Move PMB debugfs entry initialization to later stagePawel Moll1-1/+1
... so the "sh_debugfs_root" is already available. Previously it wasn't and in result its path was "/sys/kernel/debug/pmb" instead of "/sys/kernel/debug/sh/pmb". Signed-off-by: Pawel Moll <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2010-03-04Merge git://git.infradead.org/battery-2.6Linus Torvalds4-49/+138
* git://git.infradead.org/battery-2.6: power_supply: bq27x00: fix voltage and current units power_supply: bq27x00: add status and time properties power_supply: bq27x00: add BQ27500 support power_supply: bq27x00: fix temperature conversion power_supply: bq27x00: remove unused struct fields power_supply: bq27x00: remove double endian swap da9030_battery: fix spelling in comment wm97xx_battery: Clean up some warnings
2010-03-04Staging: dream: camera: sk5k3e2fx: fix code style issuesChihau Chau1-4/+4
This fixes some code style issues about assignments in if conditions. Signed-off-by: Chihau Chau <[email protected]> Acked-by: Pavel Machek <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: dream: camera: msm_camera: fix code style issuesChihau Chau1-7/+10
This fixes some code style issues like to add one space after a while or switch statement and before a open parenthesis '(', and to include KERN_ facility level in the printk() functions. Signed-off-by: Chihau Chau <[email protected]> Acked-by: Pavel Machek <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: wlan-ng: More checkpatch.pl error cleanupsAndrew Elwell4-25/+28
Signed-off-by: Andrew Elwell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: wlan-ng - checkpatch.pl fixupsAndrew Elwell15-194/+183
Basic fixups in the staging/wlan-ng directory. (First kernel patch - thanks to FOSDEM talk) Signed-off-by: Andrew Elwell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: comedi: comedi_fops.c: Checkpatch cleanupAndrea Gelmini1-7/+5
ERROR: do not initialise externals to 0 or NULL +int comedi_num_legacy_minors = 0; WARNING: braces {} are not necessary for single statement blocks + if (s->subdev_flags & SDF_CMD_READ) { + kill_fasync(&dev->async_queue, SIGIO, POLL_IN); + } WARNING: braces {} are not necessary for single statement blocks + if (s->subdev_flags & SDF_CMD_WRITE) { + kill_fasync(&dev->async_queue, SIGIO, POLL_OUT); + } Signed-off-by: Andrea Gelmini <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: comedi: fix suspect code indent in ni_labpc.cStewart Robertson1-3/+9
This is a patch to the ni_labpc.c file that fixes suspect code indent for conditional statements found by the checkpatch.pl tool Signed-off-by: Stewart Robertson <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: comedi: fix yet another brace coding style issue in ni_labpc.cMaurice Dawson1-12/+10
This is a patch to the ni_labpc.c file that fixes up all the brace warnings found by the checkpatch.pl tool Signed-off-by: Maurice Dawson <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: comedi: fix another brace coding style issues in ni_labpc.cMaurice Dawson1-2/+1
This is a patch to the ni_labpc.c file that fixes up a brace warning found by the checkpatch.pl tool Signed-off-by: Maurice Dawson <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: comedi: fix brace coding style issue in ni_labpc.cMaurice Dawson1-4/+2
This is a patch to the ni_labpc.c file that fixes up a brace warning found by the checkpatch.pl tool. Signed-off-by: Maurice Dawson <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: comedi: poc: Adding some KERN_ facility levelChihau Chau1-5/+4
This fixes some coding style issues like include KERN_ facility levels in some printk() and one trailing whitespace error. Signed-off-by: Chihau Chau <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: dream: camera: msm_camera: fix some code style issuesChihau Chau1-19/+18
This fixes some code style issues like else staments after the close braces '}' and to use __func__ instead of __FUNCTION__. Signed-off-by: Chihau Chau <[email protected]> Acked-by: Pavel Machek <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2010-03-04Staging: wlan-ng: fix most of the style issues in hfa384x.hAlessandro Ghedini1-75/+107
This patch fixes all the errors and the majority of the warnings found with checkpatch.pl script in hfa384x.h, following Gábor Stefanik hints Signed-off-by: Alessandro Ghedini <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>