[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: dd new iflag= oflag= flags directory, nolinks
From: |
Eric Blake |
Subject: |
Re: dd new iflag= oflag= flags directory, nolinks |
Date: |
Tue, 21 Mar 2006 21:25:15 -0700 |
User-agent: |
Thunderbird 1.5 (Windows/20051201) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
According to Olivier Delhomme on 3/8/2006 12:45 PM:
> Le Mon, 06 Mar 2006 18:20:12 -0500, Phillip Susi disait :
>
>> I'm confused. You can't open() and write() to a directory, so how does
>> it make any sense to ask dd to set O_DIRECTORY?
>
> So do I ...I never used open() with a directory, but why shouldn't it
> be possible ?
It's possible to open directories read-only, but then you can't read()
that file descriptor. Beyond atomic existance checks, about all that can
be usefully done with a directory fd is using fdopendir() on it (as a
replacement to opendir, especially useful when using openat() and
friends). But I still think Paul's patch was worthwhile, from the
completeness point of view - dd now supports every O_* flag possible, even
if there is not much use for it.
>
> I looked to the man 2 open page and I saw the following which confuses
> me more :
>
> O_DIRECTORY
> If pathname is not a directory, cause the open to
> fail. This flag is Linux-specific, and was added in kernel version
> 2.1.126, to avoid denial-of- service problems if opendir(3) is called
> on a FIFO or tape device, but should not be used outside of the
> implementation of opendir.
>
>
> So if this flag is linux specific does it mean that dd iflag=directory
> won't run on other unices ?
The dd code is conditionally compiled so that platforms not supporting the
various O_* flags do not accept that particular flag, nor document it in
the --help output. Just as you can't use dd iflag=directory on Solaris,
you can't use dd iflag=nolinks on Linux.
- --
Life is short - so eat dessert first!
Eric Blake address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFEINGr84KuGfSFAYARAkLPAJ96BqO/5D5Rw1I+jpb0rHjxCye/0wCgmYif
2QJGGeJsO4C7xXRLVVc3uZk=
=J0WG
-----END PGP SIGNATURE-----
- dd new iflag= oflag= flags directory, nolinks, Paul Eggert, 2006/03/06
- Re: dd new iflag= oflag= flags directory, nolinks, Phillip Susi, 2006/03/06
- Re: dd new iflag= oflag= flags directory, nolinks, Olivier Delhomme, 2006/03/21
- Re: dd new iflag= oflag= flags directory, nolinks, Paul Eggert, 2006/03/27
- Re: dd new iflag= oflag= flags directory, nolinks, Phillip Susi, 2006/03/21
- Re: dd new iflag= oflag= flags directory, nolinks, Paul Eggert, 2006/03/21
- Re: dd new iflag= oflag= flags directory, nolinks, Phillip Susi, 2006/03/21
- Re: dd new iflag= oflag= flags directory, nolinks, Paul Eggert, 2006/03/27