Loading fs/nfs/nfs42proc.c +8 −2 Original line number Diff line number Diff line Loading @@ -189,10 +189,16 @@ nfs42_layoutstat_done(struct rpc_task *task, void *calldata) if (!nfs4_sequence_done(task, &data->res.seq_res)) return; /* well, we don't care about errors at all! */ if (task->tk_status) switch (task->tk_status) { case 0: break; case -ENOTSUPP: case -EOPNOTSUPP: NFS_SERVER(data->inode)->caps &= ~NFS_CAP_LAYOUTSTATS; default: dprintk("%s server returns %d\n", __func__, task->tk_status); } } static void nfs42_layoutstat_release(void *calldata) Loading fs/nfs/nfs4proc.c +2 −1 Original line number Diff line number Diff line Loading @@ -8635,7 +8635,8 @@ static const struct nfs4_minor_version_ops nfs_v4_2_minor_ops = { | NFS_CAP_ATOMIC_OPEN_V1 | NFS_CAP_ALLOCATE | NFS_CAP_DEALLOCATE | NFS_CAP_SEEK, | NFS_CAP_SEEK | NFS_CAP_LAYOUTSTATS, .init_client = nfs41_init_client, .shutdown_client = nfs41_shutdown_client, .match_stateid = nfs41_match_stateid, Loading fs/nfs/pnfs.c +3 −0 Original line number Diff line number Diff line Loading @@ -2266,6 +2266,9 @@ pnfs_report_layoutstat(struct inode *inode) if (!pnfs_enabled_sb(server) || !ld->prepare_layoutstats) goto out; if (!nfs_server_capable(inode, NFS_CAP_LAYOUTSTATS)) goto out; if (test_and_set_bit(NFS_INO_LAYOUTSTATS, &nfsi->flags)) goto out; Loading include/linux/nfs_fs_sb.h +1 −0 Original line number Diff line number Diff line Loading @@ -237,5 +237,6 @@ struct nfs_server { #define NFS_CAP_SEEK (1U << 19) #define NFS_CAP_ALLOCATE (1U << 20) #define NFS_CAP_DEALLOCATE (1U << 21) #define NFS_CAP_LAYOUTSTATS (1U << 22) #endif Loading
fs/nfs/nfs42proc.c +8 −2 Original line number Diff line number Diff line Loading @@ -189,10 +189,16 @@ nfs42_layoutstat_done(struct rpc_task *task, void *calldata) if (!nfs4_sequence_done(task, &data->res.seq_res)) return; /* well, we don't care about errors at all! */ if (task->tk_status) switch (task->tk_status) { case 0: break; case -ENOTSUPP: case -EOPNOTSUPP: NFS_SERVER(data->inode)->caps &= ~NFS_CAP_LAYOUTSTATS; default: dprintk("%s server returns %d\n", __func__, task->tk_status); } } static void nfs42_layoutstat_release(void *calldata) Loading
fs/nfs/nfs4proc.c +2 −1 Original line number Diff line number Diff line Loading @@ -8635,7 +8635,8 @@ static const struct nfs4_minor_version_ops nfs_v4_2_minor_ops = { | NFS_CAP_ATOMIC_OPEN_V1 | NFS_CAP_ALLOCATE | NFS_CAP_DEALLOCATE | NFS_CAP_SEEK, | NFS_CAP_SEEK | NFS_CAP_LAYOUTSTATS, .init_client = nfs41_init_client, .shutdown_client = nfs41_shutdown_client, .match_stateid = nfs41_match_stateid, Loading
fs/nfs/pnfs.c +3 −0 Original line number Diff line number Diff line Loading @@ -2266,6 +2266,9 @@ pnfs_report_layoutstat(struct inode *inode) if (!pnfs_enabled_sb(server) || !ld->prepare_layoutstats) goto out; if (!nfs_server_capable(inode, NFS_CAP_LAYOUTSTATS)) goto out; if (test_and_set_bit(NFS_INO_LAYOUTSTATS, &nfsi->flags)) goto out; Loading
include/linux/nfs_fs_sb.h +1 −0 Original line number Diff line number Diff line Loading @@ -237,5 +237,6 @@ struct nfs_server { #define NFS_CAP_SEEK (1U << 19) #define NFS_CAP_ALLOCATE (1U << 20) #define NFS_CAP_DEALLOCATE (1U << 21) #define NFS_CAP_LAYOUTSTATS (1U << 22) #endif