瀏覽代碼

nfs41: add a debug warning if we destroy an unempty layout

So that we can detect the case if some layout segments are still
pinned which is surely a bug that we need to fix.

Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Peng Tao 11 年之前
父節點
當前提交
566f873763
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      fs/nfs/pnfs.c

+ 2 - 0
fs/nfs/pnfs.c

@@ -242,6 +242,8 @@ pnfs_put_layout_hdr(struct pnfs_layout_hdr *lo)
 	struct inode *inode = lo->plh_inode;
 	struct inode *inode = lo->plh_inode;
 
 
 	if (atomic_dec_and_lock(&lo->plh_refcount, &inode->i_lock)) {
 	if (atomic_dec_and_lock(&lo->plh_refcount, &inode->i_lock)) {
+		if (!list_empty(&lo->plh_segs))
+			WARN_ONCE(1, "NFS: BUG unfreed layout segments.\n");
 		pnfs_detach_layout_hdr(lo);
 		pnfs_detach_layout_hdr(lo);
 		spin_unlock(&inode->i_lock);
 		spin_unlock(&inode->i_lock);
 		pnfs_free_layout_hdr(lo);
 		pnfs_free_layout_hdr(lo);