diff options
| author | John Stultz <johnstul@us.ibm.com> | 2010-04-16 21:30:04 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2010-04-27 11:33:04 -0400 |
| commit | a0ded0f1eb853e96f3386b4498b42ce6726394ad (patch) | |
| tree | 0e3a4339036aacb0d1c32d9459292d46a4dc66db /fs/btrfs/inode.c | |
| parent | d13cdfecb0d1132e630867250d3e2f21ec6d29f4 (diff) | |
Fixup some compilation warnings and errors
Amit Arora noticed some compile issues with coda, and an fs.h include
issue, so so this patch fixes those along with btrfs warnings.
Thanks to Amit for the testing!
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/btrfs/inode.c')
| -rw-r--r-- | fs/btrfs/inode.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 9dcc771ff485..3288f3a2899e 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
| @@ -1991,8 +1991,14 @@ void btrfs_add_delayed_iput(struct inode *inode) | |||
| 1991 | struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; | 1991 | struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info; |
| 1992 | struct delayed_iput *delayed; | 1992 | struct delayed_iput *delayed; |
| 1993 | 1993 | ||
| 1994 | if (atomic_add_unless(&inode->i_count, -1, 1)) | 1994 | spin_lock(&inode->i_lock); |
| 1995 | if (inode->i_count == 1) { | ||
| 1996 | spin_unlock(&inode->i_lock); | ||
| 1995 | return; | 1997 | return; |
| 1998 | } | ||
| 1999 | inode->i_count--; | ||
| 2000 | spin_unlock(&inode->i_lock); | ||
| 2001 | |||
| 1996 | 2002 | ||
| 1997 | delayed = kmalloc(sizeof(*delayed), GFP_NOFS | __GFP_NOFAIL); | 2003 | delayed = kmalloc(sizeof(*delayed), GFP_NOFS | __GFP_NOFAIL); |
| 1998 | delayed->inode = inode; | 2004 | delayed->inode = inode; |
| @@ -3600,8 +3606,14 @@ again: | |||
| 3600 | objectid = entry->vfs_inode.i_ino + 1; | 3606 | objectid = entry->vfs_inode.i_ino + 1; |
| 3601 | inode = igrab(&entry->vfs_inode); | 3607 | inode = igrab(&entry->vfs_inode); |
| 3602 | if (inode) { | 3608 | if (inode) { |
| 3609 | int count; | ||
| 3603 | spin_unlock(&root->inode_lock); | 3610 | spin_unlock(&root->inode_lock); |
| 3604 | if (atomic_read(&inode->i_count) > 1) | 3611 | |
| 3612 | spin_lock(&inode->i_lock); | ||
| 3613 | count = inode->i_count; | ||
| 3614 | spin_unlock(&inode->i_lock); | ||
| 3615 | |||
| 3616 | if (count > 1) | ||
| 3605 | d_prune_aliases(inode); | 3617 | d_prune_aliases(inode); |
| 3606 | /* | 3618 | /* |
| 3607 | * btrfs_drop_inode will remove it from | 3619 | * btrfs_drop_inode will remove it from |
