summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/journal.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-05-17 16:11:41 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-05-17 16:11:41 -0700
commit15eb7105a74a0a5d72d006fec2192b0ec692b5cc (patch)
treeb774ed6e13751f590038c1d0454436326339cd62 /fs/ocfs2/journal.c
parenta5d1792847172077d173c959c37d4562b9ec69e6 (diff)
parentcef0893dcf1fdf22943aa49e75ee1eb3bfffe5f5 (diff)
downloadblackbird-op-linux-15eb7105a74a0a5d72d006fec2192b0ec692b5cc.tar.gz
blackbird-op-linux-15eb7105a74a0a5d72d006fec2192b0ec692b5cc.zip
Merge branch 'upstream-linus' of git://oss.oracle.com/home/sourcebo/git/ocfs2
* 'upstream-linus' of git://oss.oracle.com/home/sourcebo/git/ocfs2: configfs: Make sure configfs_init() is called before consumers. configfs: configfs_mkdir() failed to cleanup linkage. configfs: Fix a reference leak in configfs_mkdir(). ocfs2: fix gfp mask in some file system paths ocfs2: Don't populate uptodate cache in ocfs2_force_read_journal() ocfs2: take meta data lock in ocfs2_file_aio_read() ocfs2: take data locks around extend
Diffstat (limited to 'fs/ocfs2/journal.c')
-rw-r--r--fs/ocfs2/journal.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index 6a610ae53583..eebc3cfa6be8 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -117,7 +117,7 @@ struct ocfs2_journal_handle *ocfs2_alloc_handle(struct ocfs2_super *osb)
{
struct ocfs2_journal_handle *retval = NULL;
- retval = kcalloc(1, sizeof(*retval), GFP_KERNEL);
+ retval = kcalloc(1, sizeof(*retval), GFP_NOFS);
if (!retval) {
mlog(ML_ERROR, "Failed to allocate memory for journal "
"handle!\n");
@@ -870,9 +870,11 @@ static int ocfs2_force_read_journal(struct inode *inode)
if (p_blocks > CONCURRENT_JOURNAL_FILL)
p_blocks = CONCURRENT_JOURNAL_FILL;
+ /* We are reading journal data which should not
+ * be put in the uptodate cache */
status = ocfs2_read_blocks(OCFS2_SB(inode->i_sb),
p_blkno, p_blocks, bhs, 0,
- inode);
+ NULL);
if (status < 0) {
mlog_errno(status);
goto bail;
@@ -982,7 +984,7 @@ static void ocfs2_queue_recovery_completion(struct ocfs2_journal *journal,
{
struct ocfs2_la_recovery_item *item;
- item = kmalloc(sizeof(struct ocfs2_la_recovery_item), GFP_KERNEL);
+ item = kmalloc(sizeof(struct ocfs2_la_recovery_item), GFP_NOFS);
if (!item) {
/* Though we wish to avoid it, we are in fact safe in
* skipping local alloc cleanup as fsck.ocfs2 is more
OpenPOWER on IntegriCloud