> On Jun 8, 2016, at 10:45 AM, Benjamin Coddington <bcodding@xxxxxxxxxx> wrote: > > Hi Dros, > > The client takes this WARN_ON_ONCE path pretty often in > pnfs_generic_pg_test() with SCSI layout type and generic/010: > > 1925 if (pgio->pg_lseg) { > 1926 seg_end = end_offset(pgio->pg_lseg->pls_range.offset, > 1927 pgio->pg_lseg->pls_range.length); > 1928 req_start = req_offset(req); > 1929 WARN_ON_ONCE(req_start >= seg_end); > 1930 /* start of request is past the last byte of this segment */ > 1931 if (req_start >= seg_end) { > 1932 /* reference the new lseg */ > 1933 if (pgio->pg_ops->pg_cleanup) > 1934 pgio->pg_ops->pg_cleanup(pgio); > 1935 if (pgio->pg_ops->pg_init) > 1936 pgio->pg_ops->pg_init(pgio, req); > 1937 return 0; > 1938 } > > I'm trying to figure out why that's a WARN-able path.. do you recall the > original reason for that warning? What’s happening here is that the pgio descriptor spans multiple layout segments. IIRC this points to a problem with the pg_test call. It shouldn’t allow requests from different lsegs to be coalesced. -dros -- 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