On Thu, Aug 7, 2014 at 3:23 PM, Christoph Hellwig <hch@xxxxxx> wrote: > The Linux VM subsystem can't support block sizes larger than page size > for block based filesystems very well. While this can be hacked around > to some extent for simple filesystems the read-modify-write cycles > required for pnfs block invalid extents are extremly deadlock prone > when operating on multiple pages. Reject this case early on instead > of pretending to support it (badly). > So this kills EMC server support. Can you please share what kind of badly deadlock you saw with large block size support? Thanks, Tao > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > fs/nfs/blocklayout/blocklayout.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c > index cbb1797..6c1a421 100644 > --- a/fs/nfs/blocklayout/blocklayout.c > +++ b/fs/nfs/blocklayout/blocklayout.c > @@ -1115,6 +1115,12 @@ bl_set_layoutdriver(struct nfs_server *server, const struct nfs_fh *fh) > dprintk("%s Server did not return blksize\n", __func__); > return -EINVAL; > } > + if (server->pnfs_blksize > PAGE_SIZE) { > + printk(KERN_ERR "%s: pNFS blksize %d not supported.\n", > + __func__, server->pnfs_blksize); > + return -EINVAL; > + } > + > b_mt_id = kzalloc(sizeof(struct block_mount_id), GFP_NOFS); > if (!b_mt_id) { > status = -ENOMEM; > -- > 1.9.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html