/* Get attributes (cache operations) Returnes the cache attributes used in Define Extend (DE).  */
static int dasd_eckd_get_attrib(struct dasd_device *device, void __user *argp)
/* Get attributes (cache operations) Returnes the cache attributes used in Define Extend (DE).  */
static int dasd_eckd_get_attrib(struct dasd_device *device, void __user *argp)
{
	struct dasd_eckd_private *private =
		(struct dasd_eckd_private *)device->private;
	struct attrib_data_t attrib = private->attrib;
	int rc;
        if (!capable(CAP_SYS_ADMIN))
                return -EACCES;
	if (!argp)
                return -EINVAL;
	rc = 0;
	if (copy_to_user(argp, (long *) &attrib,
			 sizeof(struct attrib_data_t)))
		rc = -EFAULT;
	return rc;
}