Marc Eshel
2014-10-08 01:33:17 UTC
I see that NFS4_PNFS_MAX_STRIPE_CNT is 4096 but when give the client a cnt
that is bigger than 1024 it fails, is that the limitation of kcalloc() ?
366341.304362] <-- _nfs4_proc_getdeviceinfo status=0
[366341.304364] filelayout_get_device_info getdevice info returns 0
[366341.304368] decode_device stripe count 1512
[366341.304370] decode_device ERROR: returning NULL
[366341.304372] NFS: decode_and_add_device: Could not decode or add device
[366341.304428] <-- filelayout_get_device_info dsaddr (null)
[366341.304430] --> filelayout_check_layout returns -22
[366341.304433] pnfs_layout_process: Could not allocate layout: error -12
decode_device()
...
dprintk("%s stripe count %d\n", __func__, cnt);
if (cnt > NFS4_PNFS_MAX_STRIPE_CNT) {
printk(KERN_WARNING "NFS: %s: stripe count %d greater than
"
"supported maximum %d\n", __func__,
cnt, NFS4_PNFS_MAX_STRIPE_CNT);
goto out_err_free_scratch;
}
/* read stripe indices */
stripe_indices = kcalloc(cnt, sizeof(u8), gfp_flags);
if (!stripe_indices)
goto out_err_free_scratch;
Thanks, Marc.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-***@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
that is bigger than 1024 it fails, is that the limitation of kcalloc() ?
366341.304362] <-- _nfs4_proc_getdeviceinfo status=0
[366341.304364] filelayout_get_device_info getdevice info returns 0
[366341.304368] decode_device stripe count 1512
[366341.304370] decode_device ERROR: returning NULL
[366341.304372] NFS: decode_and_add_device: Could not decode or add device
[366341.304428] <-- filelayout_get_device_info dsaddr (null)
[366341.304430] --> filelayout_check_layout returns -22
[366341.304433] pnfs_layout_process: Could not allocate layout: error -12
decode_device()
...
dprintk("%s stripe count %d\n", __func__, cnt);
if (cnt > NFS4_PNFS_MAX_STRIPE_CNT) {
printk(KERN_WARNING "NFS: %s: stripe count %d greater than
"
"supported maximum %d\n", __func__,
cnt, NFS4_PNFS_MAX_STRIPE_CNT);
goto out_err_free_scratch;
}
/* read stripe indices */
stripe_indices = kcalloc(cnt, sizeof(u8), gfp_flags);
if (!stripe_indices)
goto out_err_free_scratch;
Thanks, Marc.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-***@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html