mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
MFC r200934:
Add two disk ioctls, giving user-level tools information about disk/array stripe (optimal access block) size and offset.
This commit is contained in:
parent
ae07f94f6f
commit
2aa244f295
2 changed files with 18 additions and 1 deletions
|
|
@ -323,7 +323,12 @@ g_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread
|
|||
return (ENOENT);
|
||||
strlcpy(data, pp->name, i);
|
||||
break;
|
||||
|
||||
case DIOCGSTRIPESIZE:
|
||||
*(off_t *)data = cp->provider->stripesize;
|
||||
break;
|
||||
case DIOCGSTRIPEOFFSET:
|
||||
*(off_t *)data = cp->provider->stripeoffset;
|
||||
break;
|
||||
default:
|
||||
if (cp->provider->geom->ioctl != NULL) {
|
||||
error = cp->provider->geom->ioctl(cp->provider, cmd, data, fflag, td);
|
||||
|
|
|
|||
|
|
@ -104,4 +104,16 @@ void disk_err(struct bio *bp, const char *what, int blkdone, int nl);
|
|||
* must be at least MAXPATHLEN bytes long.
|
||||
*/
|
||||
|
||||
#define DIOCGSTRIPESIZE _IOR('d', 139, off_t) /* Get stripe size in bytes */
|
||||
/*-
|
||||
* Get the size of the device's optimal access block in bytes.
|
||||
* This should be a multiple of the sectorsize.
|
||||
*/
|
||||
|
||||
#define DIOCGSTRIPEOFFSET _IOR('d', 140, off_t) /* Get stripe offset in bytes */
|
||||
/*-
|
||||
* Get the offset of the first device's optimal access block in bytes.
|
||||
* This should be a multiple of the sectorsize.
|
||||
*/
|
||||
|
||||
#endif /* _SYS_DISK_H_ */
|
||||
|
|
|
|||
Loading…
Reference in a new issue