From: Eric Biggers <ebiggers3@gmail.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: David Howells <dhowells@redhat.com>,
linux-xfs <linux-xfs@vger.kernel.org>,
Andreas Dilger <adilger@dilger.ca>,
Christoph Hellwig <hch@infradead.org>,
linux-fsdevel@vger.kernel.org, Eric Sandeen <sandeen@sandeen.net>
Subject: Re: The XFS_IOC_FSGEOMETRY ioctl doesn't like fds that are opened O_PATH
Date: Wed, 29 Mar 2017 19:56:20 -0700 [thread overview]
Message-ID: <20170330025620.GA789@zzz> (raw)
In-Reply-To: <20170330002328.GD4864@birch.djwong.org>
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
next prev parent reply other threads:[~2017-03-30 2:56 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-28 14:29 [PATCH] xfs_io: Allow "open -P" to specify O_PATH David Howells
2017-03-29 21:52 ` [PATCH] xfs_io: Allow -P and -L to be given to open for O_PATH and O_NOFOLLOW David Howells
2017-03-29 23:57 ` The XFS_IOC_FSGEOMETRY ioctl doesn't like fds that are opened O_PATH David Howells
2017-03-30 0:23 ` Darrick J. Wong
2017-03-30 2:56 ` Eric Biggers [this message]
2017-03-30 3:25 ` Darrick J. Wong
2017-03-30 8:03 ` David Howells
2018-03-02 3:27 ` [PATCH] xfs_io: Allow -P and -L to be given to open for O_PATH and O_NOFOLLOW Eric Sandeen
2017-03-30 16:29 ` [PATCH] xfs_io: Allow "open -P" to specify O_PATH Eric Sandeen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170330025620.GA789@zzz \
--to=ebiggers3@gmail.com \
--cc=adilger@dilger.ca \
--cc=darrick.wong@oracle.com \
--cc=dhowells@redhat.com \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=sandeen@sandeen.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.