]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ocfs2: Specify appropriate journal access for new xattr buckets.
authorJoel Becker <joel.becker@oracle.com>
Tue, 21 Oct 2008 01:32:48 +0000 (18:32 -0700)
committerMark Fasheh <mfasheh@suse.com>
Mon, 10 Nov 2008 17:51:46 +0000 (09:51 -0800)
There are a couple places that get an xattr bucket that may be reading
an existing one or may be allocating a new one.  They should specify the
correct journal access mode depending.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
fs/ocfs2/xattr.c

index 92df88a41e5d0923b7713ed5c0c924ff65e48393..fb450200bc88765d5c4070bf2ce574edfc6ba253 100644 (file)
@@ -3231,7 +3231,9 @@ static int ocfs2_half_xattr_bucket(struct inode *inode,
 
        for (i = 0; i < blk_per_bucket; i++) {
                ret = ocfs2_journal_access(handle, inode, t_bhs[i],
-                                          OCFS2_JOURNAL_ACCESS_CREATE);
+                                          new_bucket_head ?
+                                          OCFS2_JOURNAL_ACCESS_CREATE :
+                                          OCFS2_JOURNAL_ACCESS_WRITE);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
@@ -3393,6 +3395,8 @@ static int ocfs2_cp_xattr_bucket(struct inode *inode,
 
        for (i = 0; i < blk_per_bucket; i++) {
                ret = ocfs2_journal_access(handle, inode, t_bhs[i],
+                                          t_is_new ?
+                                          OCFS2_JOURNAL_ACCESS_CREATE :
                                           OCFS2_JOURNAL_ACCESS_WRITE);
                if (ret)
                        goto out;