diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-08-09 11:51:35 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-08-09 11:51:35 -0400 |
commit | c973b112c76c9d8fd042991128f218a738cc8d0a (patch) | |
tree | e813b0da5d0a0e19e06de6462d145a29ad683026 /fs/reiserfs | |
parent | c5fbc3966f48279dbebfde10248c977014aa9988 (diff) | |
parent | 00dd1e433967872f3997a45d5adf35056fdf2f56 (diff) |
Merge with /shiny/git/linux-2.6/.git
Diffstat (limited to 'fs/reiserfs')
-rw-r--r-- | fs/reiserfs/inode.c | 12 | ||||
-rw-r--r-- | fs/reiserfs/journal.c | 4 | ||||
-rw-r--r-- | fs/reiserfs/xattr.c | 1 |
3 files changed, 13 insertions, 4 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 1aaf2c7d44e6..d9f614a57731 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -1980,7 +1980,17 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, | |||
1980 | out_inserted_sd: | 1980 | out_inserted_sd: |
1981 | inode->i_nlink = 0; | 1981 | inode->i_nlink = 0; |
1982 | th->t_trans_id = 0; /* so the caller can't use this handle later */ | 1982 | th->t_trans_id = 0; /* so the caller can't use this handle later */ |
1983 | iput(inode); | 1983 | |
1984 | /* If we were inheriting an ACL, we need to release the lock so that | ||
1985 | * iput doesn't deadlock in reiserfs_delete_xattrs. The locking | ||
1986 | * code really needs to be reworked, but this will take care of it | ||
1987 | * for now. -jeffm */ | ||
1988 | if (REISERFS_I(dir)->i_acl_default) { | ||
1989 | reiserfs_write_unlock_xattrs(dir->i_sb); | ||
1990 | iput(inode); | ||
1991 | reiserfs_write_lock_xattrs(dir->i_sb); | ||
1992 | } else | ||
1993 | iput(inode); | ||
1984 | return err; | 1994 | return err; |
1985 | } | 1995 | } |
1986 | 1996 | ||
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index c66c27ec4100..ca7989b04be3 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c | |||
@@ -556,14 +556,14 @@ static inline void insert_journal_hash(struct reiserfs_journal_cnode **table, | |||
556 | } | 556 | } |
557 | 557 | ||
558 | /* lock the current transaction */ | 558 | /* lock the current transaction */ |
559 | inline static void lock_journal(struct super_block *p_s_sb) | 559 | static inline void lock_journal(struct super_block *p_s_sb) |
560 | { | 560 | { |
561 | PROC_INFO_INC(p_s_sb, journal.lock_journal); | 561 | PROC_INFO_INC(p_s_sb, journal.lock_journal); |
562 | down(&SB_JOURNAL(p_s_sb)->j_lock); | 562 | down(&SB_JOURNAL(p_s_sb)->j_lock); |
563 | } | 563 | } |
564 | 564 | ||
565 | /* unlock the current transaction */ | 565 | /* unlock the current transaction */ |
566 | inline static void unlock_journal(struct super_block *p_s_sb) | 566 | static inline void unlock_journal(struct super_block *p_s_sb) |
567 | { | 567 | { |
568 | up(&SB_JOURNAL(p_s_sb)->j_lock); | 568 | up(&SB_JOURNAL(p_s_sb)->j_lock); |
569 | } | 569 | } |
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index e386d3db3051..87ac9dc8b381 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c | |||
@@ -39,7 +39,6 @@ | |||
39 | #include <linux/xattr.h> | 39 | #include <linux/xattr.h> |
40 | #include <linux/reiserfs_xattr.h> | 40 | #include <linux/reiserfs_xattr.h> |
41 | #include <linux/reiserfs_acl.h> | 41 | #include <linux/reiserfs_acl.h> |
42 | #include <linux/mbcache.h> | ||
43 | #include <asm/uaccess.h> | 42 | #include <asm/uaccess.h> |
44 | #include <asm/checksum.h> | 43 | #include <asm/checksum.h> |
45 | #include <linux/smp_lock.h> | 44 | #include <linux/smp_lock.h> |