diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-02-18 21:58:31 +0100 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2020-03-16 13:34:30 +0100 |
commit | b5fdf8418c370d69e8b2d3588e0cf2a375ab26c1 (patch) | |
tree | f6cd1d201771957bb6cd33f1dca2c148eb0adad7 /fs/nfs/pnfs.h | |
parent | NFSv4: Clean up nfs_delegation_reap_expired() (diff) | |
download | linux-b5fdf8418c370d69e8b2d3588e0cf2a375ab26c1.tar.xz linux-b5fdf8418c370d69e8b2d3588e0cf2a375ab26c1.zip |
NFSv4: Add support for CB_RECALL_ANY for flexfiles layouts
When we receive a CB_RECALL_ANY that asks us to return flexfiles
layouts, we iterate through all the layouts and look at whether or
not there are active open file descriptors that might need them
for I/O. If there are no such descriptors, we return the layouts.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/pnfs.h')
-rw-r--r-- | fs/nfs/pnfs.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h index 8df9aa02d336..7bfb6970134a 100644 --- a/fs/nfs/pnfs.h +++ b/fs/nfs/pnfs.h @@ -329,6 +329,9 @@ int pnfs_write_done_resend_to_mds(struct nfs_pgio_header *); struct nfs4_threshold *pnfs_mdsthreshold_alloc(void); void pnfs_error_mark_layout_for_return(struct inode *inode, struct pnfs_layout_segment *lseg); +void pnfs_layout_return_unused_byclid(struct nfs_client *clp, + enum pnfs_iomode iomode); + /* nfs4_deviceid_flags */ enum { NFS_DEVICEID_INVALID = 0, /* set when MDS clientid recalled */ |