Btw, what's the point for deferring the free_lseg calls? It looks like it's to avoid calling something that might block under i_lock, but looking around the pnfs-submit branch it seems that root cause could be fixed trivially. In common code *free_lseg* and *put_layout_hdr* do nothing but list manipulations and kfrees. And in filelayout_free_lseg we have just kfrees and a call to pnfs_put_deviceid which may sleep due to calling synchronize_rcu. But synchronize_rcu is horribly inefficient to start with, and you'd better be off using call_rcu to free the device id, which will lead to much saner code and better performance. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html