diff options
author | Jaroslav Kysela <perex@perex.cz> | 2010-02-16 11:19:18 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2010-02-16 11:19:18 +0100 |
commit | ba9341dfef6b0201cd30e3904dcd0a47d3dc35e0 (patch) | |
tree | d83637979db83bb9d5a23e190148b90b60c976d2 /fs/reiserfs/inode.c | |
parent | d39e82db73eb876c60d00f00219d767b3be30307 (diff) | |
parent | f167e1d073278fe231bbdd5d6c24fb9d091aa544 (diff) |
Merge branch 'fixes' into devel
Diffstat (limited to 'fs/reiserfs/inode.c')
-rw-r--r-- | fs/reiserfs/inode.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 290ae38fca8..1150ebb2536 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c @@ -31,11 +31,12 @@ void reiserfs_delete_inode(struct inode *inode) JOURNAL_PER_BALANCE_CNT * 2 + 2 * REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb); struct reiserfs_transaction_handle th; + int depth; int err; truncate_inode_pages(&inode->i_data, 0); - reiserfs_write_lock(inode->i_sb); + depth = reiserfs_write_lock_once(inode->i_sb); /* The = 0 happens when we abort creating a new inode for some reason like lack of space.. */ if (!(inode->i_state & I_NEW) && INODE_PKEY(inode)->k_objectid != 0) { /* also handles bad_inode case */ @@ -74,7 +75,7 @@ void reiserfs_delete_inode(struct inode *inode) out: clear_inode(inode); /* note this must go after the journal_end to prevent deadlock */ inode->i_blocks = 0; - reiserfs_write_unlock(inode->i_sb); + reiserfs_write_unlock_once(inode->i_sb, depth); } static void _make_cpu_key(struct cpu_key *key, int version, __u32 dirid, |