Loading fs/nfs/nfs4proc.c +1 −1 Original line number Diff line number Diff line Loading @@ -8130,7 +8130,7 @@ static void nfs4_layoutreturn_release(void *calldata) pnfs_mark_matching_lsegs_invalid(lo, &freeme, &lrp->args.range, be32_to_cpu(lrp->args.stateid.seqid)); pnfs_mark_layout_returned_if_empty(lo); if (lrp->res.lrs_present) if (lrp->res.lrs_present && pnfs_layout_is_valid(lo)) pnfs_set_layout_stateid(lo, &lrp->res.stateid, true); pnfs_clear_layoutreturn_waitbit(lo); spin_unlock(&lo->plh_inode->i_lock); Loading fs/nfs/pnfs.h +5 −0 Original line number Diff line number Diff line Loading @@ -375,6 +375,11 @@ static inline bool nfs_have_layout(struct inode *inode) return NFS_I(inode)->layout != NULL; } static inline bool pnfs_layout_is_valid(const struct pnfs_layout_hdr *lo) { return test_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags) == 0; } static inline struct nfs4_deviceid_node * nfs4_get_deviceid(struct nfs4_deviceid_node *d) { Loading Loading
fs/nfs/nfs4proc.c +1 −1 Original line number Diff line number Diff line Loading @@ -8130,7 +8130,7 @@ static void nfs4_layoutreturn_release(void *calldata) pnfs_mark_matching_lsegs_invalid(lo, &freeme, &lrp->args.range, be32_to_cpu(lrp->args.stateid.seqid)); pnfs_mark_layout_returned_if_empty(lo); if (lrp->res.lrs_present) if (lrp->res.lrs_present && pnfs_layout_is_valid(lo)) pnfs_set_layout_stateid(lo, &lrp->res.stateid, true); pnfs_clear_layoutreturn_waitbit(lo); spin_unlock(&lo->plh_inode->i_lock); Loading
fs/nfs/pnfs.h +5 −0 Original line number Diff line number Diff line Loading @@ -375,6 +375,11 @@ static inline bool nfs_have_layout(struct inode *inode) return NFS_I(inode)->layout != NULL; } static inline bool pnfs_layout_is_valid(const struct pnfs_layout_hdr *lo) { return test_bit(NFS_LAYOUT_INVALID_STID, &lo->plh_flags) == 0; } static inline struct nfs4_deviceid_node * nfs4_get_deviceid(struct nfs4_deviceid_node *d) { Loading