Reserving space for future fields is not necessary because the size of the struct is encoded in the ioctl number. The kernel can use this to differentiate between different call versions from userspace.