/* Before stamping the inode's ->dirtied_when, we check to see whether it is already the most-recently-dirtied inode on the b_dirty list. If that is the case then the inode must have been redirtied while it was being written out and we don't reset its dirtied_when.  */
static void redirty_tail(struct inode *inode)
/* Before stamping the inode's ->dirtied_when, we check to see whether it is already the most-recently-dirtied inode on the b_dirty list. If that is the case then the inode must have been redirtied while it was being written out and we don't reset its dirtied_when.  */
static void redirty_tail(struct inode *inode)
{
	struct bdi_writeback *wb = &inode_to_bdi(inode)->wb;
	if (!list_empty(&wb->b_dirty)) {
		struct inode *tail;
		tail = list_entry(wb->b_dirty.next, struct inode, i_list);
		if (time_before(inode->dirtied_when, tail->dirtied_when))
			inode->dirtied_when = jiffies;
	}
	list_move(&inode->i_list, &wb->b_dirty);
}