Re: The XFS_IOC_FSGEOMETRY ioctl doesn't like fds that are opened O_PATH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 29, 2017 at 05:23:28PM -0700, Darrick J. Wong wrote:
> On Thu, Mar 30, 2017 at 12:57:08AM +0100, David Howells wrote:
> > Should XFS_IOC_FSGEOMETRY work on fds that are opened O_PATH on an XFS
> > filesystem?  Or should xfs_io not call that ioctl on O_PATH fds?
> 
> Given that read/write don't work under O_PATH, I wouldn't expect ioctls
> to work either.
> 
> I tried to write a two line program to call FSGEOMETRY to see what
> actually happens but got so bogged down in trying to figure out what
> magic incantation of C headers one needs to pull in the appropriate
> structure typedefs for an ioctl I wasn't even trying to call that I gave
> up.
> 
> Seriously, what the f*ck do you have to #include just to be able to use
> O_PATH?

>From open(2):

      "The O_DIRECT, O_NOATIME, O_PATH, and  O_TMPFILE  flags  are
      Linux-specific.  One must define _GNU_SOURCE to obtain their definitions."

Also, ioctl() with an O_PATH file descriptor always fails with EBADF because
sys_ioctl() uses fdget() rather than fdget_raw().  The filesystem isn't involved
at all.  This is intentional, I believe.

- Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux