Lines Matching defs:inode
270 pnfs_alloc_layout_hdr(struct inode *ino, gfp_t gfp_flags)
307 struct inode *inode;
312 inode = lo->plh_inode;
315 if (refcount_dec_and_lock(&lo->plh_refcount, &inode->i_lock)) {
319 i_state = inode->i_state;
320 spin_unlock(&inode->i_lock);
328 static struct inode *
331 struct inode *inode = igrab(lo->plh_inode);
332 if (inode)
333 return inode;
413 struct inode *inode)
425 spin_lock(&inode->i_lock);
426 lo = NFS_I(inode)->layout;
444 spin_unlock(&inode->i_lock);
454 * Note that caller must hold inode->i_lock.
504 struct inode *inode = lo->plh_inode;
512 spin_lock(&inode->i_lock);
515 spin_unlock(&inode->i_lock);
557 struct inode *inode = lseg->pls_layout->plh_inode;
558 NFS_SERVER(inode)->pnfs_curr_ld->free_lseg(lseg);
598 struct inode *inode;
608 inode = lo->plh_inode;
610 if (refcount_dec_and_lock(&lseg->pls_refcount, &inode->i_lock)) {
615 spin_unlock(&inode->i_lock);
811 pnfs_layout_add_bulk_destroy_list(struct inode *inode,
817 spin_lock(&inode->i_lock);
818 lo = NFS_I(inode)->layout;
824 spin_unlock(&inode->i_lock);
837 struct inode *inode;
847 inode = pnfs_grab_inode_layout_hdr(lo);
848 if (inode != NULL) {
851 if (pnfs_layout_add_bulk_destroy_list(inode,
856 iput(inode);
874 struct inode *inode;
881 dprintk("%s freeing layout for inode %lu\n", __func__,
883 inode = lo->plh_inode;
885 pnfs_layoutcommit_inode(inode, false);
887 spin_lock(&inode->i_lock);
894 spin_unlock(&inode->i_lock);
897 nfs_commit_inode(inode, 0);
899 nfs_iput_and_deactive(inode);
1030 pnfs_find_server(struct inode *inode, struct nfs_open_context *ctx)
1034 if (inode) {
1035 server = NFS_SERVER(inode);
1083 pnfs_alloc_init_layoutget_args(struct inode *ino,
1133 lgp->args.inode = ino;
1151 static void pnfs_clear_layoutcommit(struct inode *inode,
1154 struct nfs_inode *nfsi = NFS_I(inode);
1171 struct inode *inode = lo->plh_inode;
1174 spin_lock(&inode->i_lock);
1188 spin_unlock(&inode->i_lock);
1226 struct inode *inode = lo->plh_inode;
1228 args->layout_type = NFS_SERVER(inode)->pnfs_curr_ld->id;
1229 args->inode = inode;
1244 struct inode *ino = lo->plh_inode;
1300 struct inode *inode= lo->plh_inode;
1304 spin_lock(&inode->i_lock);
1312 spin_unlock(&inode->i_lock);
1318 spin_unlock(&inode->i_lock);
1330 _pnfs_return_layout(struct inode *ino)
1345 dprintk("NFS: %s for inode %lu\n", __func__, ino->i_ino);
1394 pnfs_commit_and_return_layout(struct inode *inode)
1399 spin_lock(&inode->i_lock);
1400 lo = NFS_I(inode)->layout;
1402 spin_unlock(&inode->i_lock);
1408 spin_unlock(&inode->i_lock);
1409 filemap_fdatawait(inode->i_mapping);
1410 ret = pnfs_layoutcommit_inode(inode, true);
1412 ret = _pnfs_return_layout(inode);
1413 spin_lock(&inode->i_lock);
1415 spin_unlock(&inode->i_lock);
1420 bool pnfs_roc(struct inode *ino,
1562 &arg->range, arg->inode))
1577 struct inode *inode = args->inode;
1583 spin_lock(&inode->i_lock);
1588 spin_unlock(&inode->i_lock);
1598 trace_nfs4_layoutreturn_on_close(args->inode, &args->stateid, ret);
1604 bool pnfs_wait_on_layoutreturn(struct inode *ino, struct rpc_task *task)
1710 struct inode *inode = lo->plh_inode;
1711 struct pnfs_layoutdriver_type *ld = NFS_SERVER(inode)->pnfs_curr_ld;
1723 alloc_init_layout_hdr(struct inode *ino,
1744 pnfs_find_alloc_layout(struct inode *ino,
1850 struct inode *ino, int iomode)
1963 pnfs_update_layout(struct inode *ino,
2192 dprintk("%s: inode %s/%llu pNFS layout segment %s for "
2228 _pnfs_grab_empty_layout(struct inode *ino, struct nfs_open_context *ctx)
2258 struct inode *ino = data->dentry->d_inode;
2293 struct inode *ino = data->dentry->d_inode;
2330 void pnfs_parse_lgopen(struct inode *ino, struct nfs4_layoutget *lgp,
2396 struct inode *ino = lo->plh_inode;
2437 * inode invalid, and retry the layoutget
2531 pnfs_mark_layout_for_return(struct inode *inode,
2537 spin_lock(&inode->i_lock);
2538 lo = NFS_I(inode)->layout;
2540 spin_unlock(&inode->i_lock);
2555 spin_unlock(&inode->i_lock);
2559 spin_unlock(&inode->i_lock);
2560 nfs_commit_inode(inode, 0);
2564 void pnfs_error_mark_layout_for_return(struct inode *inode,
2573 pnfs_mark_layout_for_return(inode, &range);
2643 struct inode *inode;
2650 inode = lo->plh_inode;
2651 if (!inode || !pnfs_layout_can_be_returned(lo) ||
2654 spin_lock(&inode->i_lock);
2657 spin_unlock(&inode->i_lock);
2665 spin_unlock(&inode->i_lock);
2671 spin_unlock(&inode->i_lock);
2837 nfs_pageio_init_write(&pgio, hdr->inode, FLUSH_STABLE, true,
2847 if (NFS_SERVER(hdr->inode)->pnfs_curr_ld->flags &
2849 pnfs_return_layout(hdr->inode);
2861 pnfs_set_layoutcommit(hdr->inode, hdr->lseg,
2892 struct inode *inode = hdr->inode;
2894 struct nfs_server *nfss = NFS_SERVER(inode);
2899 inode->i_ino, hdr->args.count, hdr->args.offset, how);
2902 nfs_inc_stats(inode, NFSIOS_PNFS_WRITE);
2966 nfs_pageio_init_read(&pgio, hdr->inode, true, hdr->completion_ops);
2974 if (NFS_SERVER(hdr->inode)->pnfs_curr_ld->flags &
2976 pnfs_return_layout(hdr->inode);
3018 struct inode *inode = hdr->inode;
3019 struct nfs_server *nfss = NFS_SERVER(inode);
3025 __func__, inode->i_ino, hdr->args.count, hdr->args.offset);
3029 nfs_inc_stats(inode, NFSIOS_PNFS_READ);
3045 nfs_pageio_init_read(&pgio, hdr->inode, false,
3104 static void pnfs_clear_layoutcommitting(struct inode *inode)
3106 unsigned long *bitlock = &NFS_I(inode)->flags;
3116 static void pnfs_list_write_lseg(struct inode *inode, struct list_head *listp)
3120 list_for_each_entry(lseg, &NFS_I(inode)->layout->plh_segs, pls_list) {
3127 static void pnfs_list_write_lseg_done(struct inode *inode, struct list_head *listp)
3137 pnfs_clear_layoutcommitting(inode);
3147 pnfs_set_layoutcommit(struct inode *inode, struct pnfs_layout_segment *lseg,
3150 struct nfs_inode *nfsi = NFS_I(inode);
3153 spin_lock(&inode->i_lock);
3157 dprintk("%s: Set layoutcommit for inode %lu ",
3158 __func__, inode->i_ino);
3165 spin_unlock(&inode->i_lock);
3169 /* if pnfs_layoutcommit_inode() runs between inode locks, the next one
3172 mark_inode_dirty_sync(inode);
3178 struct nfs_server *nfss = NFS_SERVER(data->args.inode);
3182 pnfs_list_write_lseg_done(data->args.inode, &data->lseg_list);
3194 pnfs_layoutcommit_inode(struct inode *inode, bool sync)
3196 struct pnfs_layoutdriver_type *ld = NFS_SERVER(inode)->pnfs_curr_ld;
3198 struct nfs_inode *nfsi = NFS_I(inode);
3202 if (!pnfs_layoutcommit_outstanding(inode))
3205 dprintk("--> %s inode %lu\n", __func__, inode->i_ino);
3226 spin_lock(&inode->i_lock);
3231 pnfs_list_write_lseg(inode, &data->lseg_list);
3237 spin_unlock(&inode->i_lock);
3239 data->args.inode = inode;
3241 data->args.bitmask = NFS_SERVER(inode)->cache_consistency_bitmask;
3247 data->res.server = NFS_SERVER(inode);
3253 spin_lock(&inode->i_lock);
3265 mark_inode_dirty_sync(inode);
3269 spin_unlock(&inode->i_lock);
3272 pnfs_clear_layoutcommitting(inode);
3278 pnfs_generic_sync(struct inode *inode, bool datasync)
3280 return pnfs_layoutcommit_inode(inode, true);
3298 pnfs_report_layoutstat(struct inode *inode, gfp_t gfp_flags)
3300 struct pnfs_layoutdriver_type *ld = NFS_SERVER(inode)->pnfs_curr_ld;
3301 struct nfs_server *server = NFS_SERVER(inode);
3302 struct nfs_inode *nfsi = NFS_I(inode);
3310 if (!nfs_server_capable(inode, NFS_CAP_LAYOUTSTATS))
3316 spin_lock(&inode->i_lock);
3317 if (!NFS_I(inode)->layout) {
3318 spin_unlock(&inode->i_lock);
3321 hdr = NFS_I(inode)->layout;
3323 spin_unlock(&inode->i_lock);
3331 data->args.fh = NFS_FH(inode);
3332 data->args.inode = inode;
3337 status = nfs42_proc_layoutstats_generic(NFS_SERVER(inode), data);