Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 147861
b: refs/heads/master
c: 4195f73
h: refs/heads/master
i:
  147859: 747c6bf
v: v3
  • Loading branch information
Nick Piggin authored and Al Viro committed Jun 12, 2009
1 parent fe1bbca commit 2bbafe3
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 545b9fd3d737afc0bb5203b1e79194a471605acd
refs/heads/master: 4195f73d1329e49727bcceb028e58cb38376c2b0
41 changes: 24 additions & 17 deletions trunk/fs/fs-writeback.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,28 @@ static void writeback_release(struct backing_dev_info *bdi)
clear_bit(BDI_pdflush, &bdi->state);
}

static noinline void block_dump___mark_inode_dirty(struct inode *inode)
{
if (inode->i_ino || strcmp(inode->i_sb->s_id, "bdev")) {
struct dentry *dentry;
const char *name = "?";

dentry = d_find_alias(inode);
if (dentry) {
spin_lock(&dentry->d_lock);
name = (const char *) dentry->d_name.name;
}
printk(KERN_DEBUG
"%s(%d): dirtied inode %lu (%s) on %s\n",
current->comm, task_pid_nr(current), inode->i_ino,
name, inode->i_sb->s_id);
if (dentry) {
spin_unlock(&dentry->d_lock);
dput(dentry);
}
}
}

/**
* __mark_inode_dirty - internal function
* @inode: inode to mark
Expand Down Expand Up @@ -114,23 +136,8 @@ void __mark_inode_dirty(struct inode *inode, int flags)
if ((inode->i_state & flags) == flags)
return;

if (unlikely(block_dump)) {
struct dentry *dentry = NULL;
const char *name = "?";

if (!list_empty(&inode->i_dentry)) {
dentry = list_entry(inode->i_dentry.next,
struct dentry, d_alias);
if (dentry && dentry->d_name.name)
name = (const char *) dentry->d_name.name;
}

if (inode->i_ino || strcmp(inode->i_sb->s_id, "bdev"))
printk(KERN_DEBUG
"%s(%d): dirtied inode %lu (%s) on %s\n",
current->comm, task_pid_nr(current), inode->i_ino,
name, inode->i_sb->s_id);
}
if (unlikely(block_dump))
block_dump___mark_inode_dirty(inode);

spin_lock(&inode_lock);
if ((inode->i_state & flags) != flags) {
Expand Down

0 comments on commit 2bbafe3

Please sign in to comment.