NFSv4.1/pnfs: replace broken pnfs_put_lseg_async
authorTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 8 Oct 2014 20:39:12 +0000 (16:39 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 8 Oct 2014 20:45:43 +0000 (16:45 -0400)
commit6543f803670530f6aa93790d9fa116d8395a537d
tree0c39c9b0eaab0e5932eb43226c933e353abde369
parentea18cb3f113d7f8d622622c176c51363cc656521
NFSv4.1/pnfs: replace broken pnfs_put_lseg_async

You cannot call pnfs_put_lseg_async() more than once per lseg, so it
is really an inappropriate way to deal with a refcount issue.

Instead, replace it with a function that decrements the refcount, and
puts the final 'free' operation (which is incompatible with locks) on
the workqueue.

Cc: Weston Andros Adamson <dros@primarydata.com>
Fixes: e6cf82d1830f: pnfs: add pnfs_put_lseg_async
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/filelayout/filelayout.c
fs/nfs/pnfs.c
fs/nfs/pnfs.h