Messages in this thread Patch in this message | | | Date | Sun, 16 Jun 2002 23:53:28 -0700 | From | Andrew Morton <> | Subject | [patch 16/19] clean up alloc_buffer_head() |
| |
alloc_bufer_head() does not need the additional argument - GFP_NOFS is always correct.
--- 2.5.22/fs/buffer.c~cleanup-alloc_buffer_head Sun Jun 16 23:12:52 2002 +++ 2.5.22-akpm/fs/buffer.c Sun Jun 16 23:22:44 2002 @@ -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, lo static 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); } --- 2.5.22/fs/jbd/journal.c~cleanup-alloc_buffer_head Sun Jun 16 23:12:52 2002 +++ 2.5.22-akpm/fs/jbd/journal.c Sun Jun 16 23:12:52 2002 @@ -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__); --- 2.5.22/include/linux/buffer_head.h~cleanup-alloc_buffer_head Sun Jun 16 23:12:52 2002 +++ 2.5.22-akpm/include/linux/buffer_head.h Sun Jun 16 23:22:44 2002 @@ -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)); - - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |