clean up alloc_buffer_head()
PATCH 16/19 clean up alloc_buffer_head()
alloc_bufer_head() does not need the additional argument - GFP_NOFS is always correct.
fs/buffer.c renamed from fs/buffer.c~cleanup-alloc_buffer_head +7 -7
@@ -947,12 +947,12 @@ void invalidate_inode_buffers(struct ino* the size of each buffer.. Use the bh->b_this_page linked list to * follow the buffers created. Return NULL if unable to create more * buffers. -* The async flag is used to differentiate async IO (paging, swapping) -* from ordinary buffer allocations, and only async requests are allowed -* to sleep waiting for buffer heads. +* +* The retry flag is used to differentiate async IO (paging, swapping) +* which may not fail from ordinary buffer allocations. */ static struct buffer_head * -create_buffers (struct page * page,unsigned long size,int async) +create_buffers (struct page * page,unsigned long size,int retry) {struct buffer_head *bh, *head;long offset;
@@ -961,7 +961,7 @@ try_again: head =NULL ; offset =PAGE_SIZE ;while ((offset -= size) >=0 ) { - bh =alloc_buffer_head (async); + bh =alloc_buffer_head ();if (!bh) goto no_grow;
@@ -998,7 +998,7 @@ no_grow:* become available. But we don't want tasks sleeping with * partially complete buffers, so all were released above. */ -if (!async) +if (!retry)return NULL ;/* We're _really_ low on memory. Now we just
@@ -2396,7 +2396,7 @@ asmlinkage long sys_bdflush(int func, lostatic kmem_cache_t *bh_cachep;static mempool_t *bh_mempool; -struct buffer_head *alloc_buffer_head (int async) +struct buffer_head *alloc_buffer_head (void ) {return mempool_alloc (bh_mempool,GFP_NOFS ); }
fs/jbd/journal.c renamed from fs/jbd/journal.c~cleanup-alloc_buffer_head +1 -1
@@ -463,7 +463,7 @@ int journal_write_metadata_buffer(transa* Right, time to make up the new buffer_head. */ do { - new_bh = alloc_buffer_head(0); + new_bh = alloc_buffer_head(); if (!new_bh) { printk (KERN_NOTICE "%s: ENOMEM at alloc_buffer_head, " "trying again.\n", __FUNCTION__);
include/linux/buffer_head.h renamed from include/linux/buffer_head.h~cleanup-alloc_buffer_head +1 -1
@@ -164,7 +164,7 @@ void __brelse(struct buffer_head *);void __bforget (struct buffer_head *);struct buffer_head *__bread (struct block_device *,int ,int );void wakeup_bdflush (void ); -struct buffer_head *alloc_buffer_head (int async); +struct buffer_head *alloc_buffer_head (void );void free_buffer_head (struct buffer_head * bh);void FASTCALL (unlock_buffer (struct buffer_head *bh));
-