if (buffer_write_io_error(bh)) 
if (buffer_write_io_error(bh) && page->mapping) 
drop_buffers(struct page *page, struct buffer_head **buffers_to_free){	struct buffer_head *head = page_buffers(page);	struct buffer_head *bh;	bh = head;	do {		if (buffer_write_io_error(bh))			set_bit(AS_EIO, &page->mapping->flags);		if (buffer_busy(bh))			goto failed;		bh = bh->b_this_page;	} while (bh != head);	do {		struct buffer_head *next = bh->b_this_page;		if (!list_empty(&bh->b_assoc_buffers))			__remove_assoc_queue(bh);		bh = next;	} while (bh != head);	*buffers_to_free = head;	__clear_page_buffers(page);	return 1;failed:	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/de7d5a3b6c9ff8429bf046c36b56d3192b75c3da/buffer.c/buggy/fs/buffer.c