13 Jun, 2009
6 commits
-
Thanks to Sitsofe Wheeler, Randy Dunlap, and Jonathan Corbet for providing
input and feedback on this!Signed-off-by: Vegard Nossum
-
Acked-by: Vegard Nossum
Signed-off-by: Pekka Enberg
Signed-off-by: Ingo Molnar -
Rationale: kmemcheck needs to be able to schedule a tasklet without
touching any dynamically allocated memory _at_ _all_ (since that would
lead to a recursive page fault). This tasklet is used for writing the
error reports to the kernel log.The new scheduling function avoids touching any other tasklets by
inserting the new tasklist as the head of the "tasklet_hi" list instead
of on the tail.Also don't wake up the softirq thread lest the scheduler access some
tracked memory and we go down with a recursive page fault.In this case, we'd better just wait for the maximum time of 1/HZ for the
message to appear.Signed-off-by: Vegard Nossum
-
Move the SLAB struct kmem_cache definition to like
with SLUB so kmemcheck can access ->ctor and ->flags.Cc: Ingo Molnar
Cc: Christoph Lameter
Cc: Andrew Morton
Signed-off-by: Pekka Enberg[rebased for mainline inclusion]
Signed-off-by: Vegard Nossum -
This is needed if the header is to be free-standing.
Signed-off-by: Vegard Nossum
-
This will help kmemcheck (and possibly other debugging tools) since we
can now simply pass regs->bp to the stack tracer instead of specifying
the number of stack frames to skip, which is unreliable if gcc decides
to inline functions, etc.Note that this makes the API incomplete for other architectures, but I
expect that those can be updated lazily, e.g. when they need it.Cc: Arjan van de Ven
Signed-off-by: Vegard Nossum
12 Jun, 2009
34 commits
-
Fix kernel-doc warnings in recently changed block/ source code.
Signed-off-by: Randy Dunlap
Signed-off-by: Linus Torvalds -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (87 commits)
nilfs2: get rid of bd_mount_sem use from nilfs
nilfs2: correct exclusion control in nilfs_remount function
nilfs2: simplify remaining sget() use
nilfs2: get rid of sget use for checking if current mount is present
nilfs2: get rid of sget use for acquiring nilfs object
nilfs2: remove meaningless EBUSY case from nilfs_get_sb function
remove the call to ->write_super in __sync_filesystem
nilfs2: call nilfs2_write_super from nilfs2_sync_fs
jffs2: call jffs2_write_super from jffs2_sync_fs
ufs: add ->sync_fs
sysv: add ->sync_fs
hfsplus: add ->sync_fs
hfs: add ->sync_fs
fat: add ->sync_fs
ext2: add ->sync_fs
exofs: add ->sync_fs
bfs: add ->sync_fs
affs: add ->sync_fs
sanitize ->fsync() for affs
repair bfs_write_inode(), switch bfs to simple_fsync()
... -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
m68knommu: remove unecessary include of thread_info.h in entry.S
m68knommu: enumerate INIT_THREAD fields properly
headers_check fix: m68k, swab.h
arch/m68knommu: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug(
m68knommu: remove obsolete reset code
m68knommu: move CPU reset code for the 5272 ColdFire into its platform code
m68knommu: move CPU reset code for the 528x ColdFire into its platform code
m68knommu: move CPU reset code for the 527x ColdFire into its platform code
m68knommu: move CPU reset code for the 523x ColdFire into its platform code
m68knommu: move CPU reset code for the 520x ColdFire into its platform code
m68knommu: add CPU reset code for the 532x ColdFire
m68knommu: add CPU reset code for the 5249 ColdFire
m68knommu: add CPU reset code for the 5206e ColdFire
m68knommu: add CPU reset code for the 5206 ColdFire
m68knommu: add CPU reset code for the 5407 ColdFire
m68knommu: add CPU reset code for the 5307 ColdFire
m68knommu: merge system reset for code ColdFire 523x family
m68knommu: fix system reset for ColdFire 527x family -
zalloc_cpumask_var already cleared it.
Signed-off-by: Yinghai Lu
Signed-off-by: Linus Torvalds -
So we make sure MAXSMP gets a cleared cpumask
Signed-off-by: Yinghai Lu
Signed-off-by: Linus Torvalds -
Commit 925d519ab82b6dd7aca9420d809ee83819c08db2 ("perf_counter:
unify and fix delayed counter wakeup") added global definitions.Signed-off-by: Stephen Rothwell
Acked-by: Paul Mackerras
Acked-by: Benjamin Herrenschmidt
Signed-off-by: Linus Torvalds -
This will remove every bd_mount_sem use in nilfs.
The intended exclusion control was replaced by the previous patch
("nilfs2: correct exclusion control in nilfs_remount function") for
nilfs_remount(), and this patch will replace remains with a new mutex
that this inserts in nilfs object.Signed-off-by: Ryusuke Konishi
Cc: Christoph Hellwig
Signed-off-by: Al Viro -
nilfs_remount() changes mount state of a superblock instance. Even
though nilfs accesses other superblock instances during mount or
remount, the mount state was not properly protected in
nilfs_remount().Moreover, nilfs_remount() has a lock order reversal problem;
nilfs_get_sb() holds:1. bdev->bd_mount_sem
2. sb->s_umount (sget acquires)and nilfs_remount() holds:
1. sb->s_umount (locked by the caller in vfs)
2. bdev->bd_mount_semTo avoid these problems, this patch divides a semaphore protecting
super block instances from nilfs->ns_sem, and applies it to the mount
state protection in nilfs_remount().With this change, bd_mount_sem use is removed from nilfs_remount() and
the lock order reversal will be resolved. And the new rw-semaphore,
nilfs->ns_super_sem will properly protect the mount state except the
modification from nilfs_error function.Signed-off-by: Ryusuke Konishi
Signed-off-by: Al Viro -
This simplifies the test function passed on the remaining sget()
callsite in nilfs.Instead of checking mount type (i.e. ro-mount/rw-mount/snapshot mount)
in the test function passed to sget(), this patch first looks up the
nilfs_sb_info struct which the given mount type matches, and then
acquires the super block instance holding the nilfs_sb_info.Signed-off-by: Ryusuke Konishi
Cc: Al Viro
Signed-off-by: Al Viro -
This stops using sget() for checking if an r/w-mount or an r/o-mount
exists on the device. This elimination uses a back pointer to the
current mount added to nilfs object.Signed-off-by: Ryusuke Konishi
Cc: Al Viro
Signed-off-by: Al Viro -
This will change the way to obtain nilfs object in nilfs_get_sb()
function.Previously, a preliminary sget() call was performed, and the nilfs
object was acquired from a super block instance found by the sget()
call.This patch, instead, instroduces a new dedicated function
find_or_create_nilfs(); as the name implies, the function finds an
existent nilfs object from a global list or creates a new one if no
object is found on the device.Signed-off-by: Ryusuke Konishi
Cc: Al Viro
Signed-off-by: Al Viro -
The following EBUSY case in nilfs_get_sb() is meaningless. Indeed,
this error code is never returned to the caller.if (!s->s_root) {
...
} else if (!(s->s_flags & MS_RDONLY)) {
err = -EBUSY;
}This simply removes the else case.
Signed-off-by: Ryusuke Konishi
Signed-off-by: Al Viro -
Now that all filesystems provide ->sync_fs methods we can change
__sync_filesystem to only call ->sync_fs.This gives us a clear separation between periodic writeouts which
are driven by ->write_super and data integrity syncs that go
through ->sync_fs. (modulo file_fsync which is also going away)Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
The call to ->write_super from __sync_filesystem will go away, so make
sure nilfs2 performs the same actions from inside ->sync_fs.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
The call to ->write_super from __sync_filesystem will go away, so make
sure jffs2 performs the same actions from inside ->sync_fs.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs, and reimplement
->write_super ontop of it.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs, and reimplement
->write_super ontop of it.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs, and reimplement
->write_super ontop of it.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs.
Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs.
Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs, and reimplement
->write_super ontop of it.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs, and reimplement
->write_super ontop of it.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs, and reimplement
->write_super ontop of it.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
Add a ->sync_fs method for data integrity syncs. Factor out common code
between affs_put_super, affs_write_super and the new affs_sync_fs into
a helper.Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro -
unfortunately, for affs (especially for affs directories) we have
no real way to keep track of metadata ownership. So we have to
do more or less what file_fsync() does, but we do *not* need to
call write_super() there.Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Missing conversion to host-endian before doing shifts
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
* get minix_write_inode() to honour the second argument
* now we can use simple_fsync() for minixfsSigned-off-by: Al Viro
-
kill ext2_sync_file() (along with ext2/fsync.c), get rid of
ext2_update_inode() - it's an alias of ext2_write_inode().Signed-off-by: Al Viro