diff options
author | Fred Isaman <iisaman@netapp.com> | 2011-01-06 11:36:28 +0000 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-01-06 14:46:32 -0500 |
commit | cc6e5340b0981feac5a00a992bab6154cb4b1fa1 (patch) | |
tree | 514db8586801aa60ee97d3880071b12c0cdf2421 /fs/nfs/pnfs.h | |
parent | fc1794c5b04f5322bad05385cd91b52ec85aab72 (diff) |
pnfs: change lo refcounting to atomic_t
This will be required to allow us to grab reference outside of i_lock.
While we are at it, make put_layout_hdr take the same argument as all the
related functions.
Signed-off-by: Fred Isaman <iisaman@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/pnfs.h')
-rw-r--r-- | fs/nfs/pnfs.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h index 698380da24cc..8aaab56b794f 100644 --- a/fs/nfs/pnfs.h +++ b/fs/nfs/pnfs.h @@ -65,7 +65,7 @@ struct pnfs_layoutdriver_type { }; struct pnfs_layout_hdr { - unsigned long plh_refcount; + atomic_t plh_refcount; struct list_head plh_layouts; /* other client layouts */ struct list_head plh_segs; /* layout segments list */ nfs4_stateid plh_stateid; @@ -147,7 +147,7 @@ void unset_pnfs_layoutdriver(struct nfs_server *); int pnfs_layout_process(struct nfs4_layoutget *lgp); void pnfs_destroy_layout(struct nfs_inode *); void pnfs_destroy_all_layouts(struct nfs_client *); -void put_layout_hdr(struct inode *inode); +void put_layout_hdr(struct pnfs_layout_hdr *lo); int pnfs_choose_layoutget_stateid(nfs4_stateid *dst, struct pnfs_layout_hdr *lo, struct nfs4_state *open_state); |