> + * Write out an inode's dirty pages. Called under inode_wb_list_lock. Either > + * the caller has ref on the inode (either via __iget or via syscall against an > + * fd) or the inode has I_WILL_FREE set. Just drop mentioning of how we got the reference ,it's rather pointless. > writeback_single_inode(struct inode *inode, struct writeback_control *wbc) > @@ -354,7 +368,7 @@ writeback_single_inode(struct inode *inode, struct writeback_control *wbc) > inode->i_state |= I_SYNC; > inode->i_state &= ~I_DIRTY_PAGES; > spin_unlock(&inode->i_lock); > - spin_unlock(&inode_lock); > + spin_unlock(&inode_wb_list_lock); We don't actually need inode_wb_list_lock here. But I guess we can fix this later and be conservative for now. > @@ -963,63 +976,62 @@ void __mark_inode_dirty(struct inode *inode, int flags) I think the __mark_inode_dirty cleanup should be a separate patch, it's rather confusing in the current form. > + if (was_dirty) { > +out_unlock_inode: > spin_unlock(&inode->i_lock); > + return; > + } Please just move the label to the end of the function and add another goto here. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html