From: Alexander Holler <holler@ahsoftware.de>
To: Pavel Machek <pavel@ucw.cz>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] Implement /dev/byte (a generic byte source similiar to /dev/zero)
Date: Wed, 20 Apr 2011 20:07:58 +0200 [thread overview]
Message-ID: <4DAF20FE.2040603@ahsoftware.de> (raw)
In-Reply-To: <20110420105754.GA14722@ucw.cz>
Am 20.04.2011 12:57, schrieb Pavel Machek:
> On Mon 2011-04-18 13:37:56, Alexander Holler wrote:
>> This device outputs by default 0xff instead 0 which makes more sense
>> than 0 to clear e.g. FLASH based devices.
>
> Well, now you should provide example where you mmap /dev/byte, then
> write() the flash directly from the mapping.
>
> ... hmm, that brings good question: what happens on existing mappings
> when the byte is changed?
I never used mmap (never had a need to use it) explicit and barely know
what it does. And I don't see a reason to use mmap on /dev/byte.
Otherwise I would have known before the reason why /dev/zero exists. ;)
So I can't answer what happens when someone uses mmap on /dev/byte and
changes the value while the map exists (without testing it by myself).
>> To make the device more general usable, the value it outputs is changeable
>> on a per file descriptor basis through simple writes to it.
>> Values can be decimal (0 - 255), octal (00 - 0377) or hex (0x0 - 0xff).
>> For other values (or strings) written to it, the write operation returns an
>> error and the subsequent output is undefined.
> ...
>> # Create a file of size 10GB and filled with 0xaa.
>> exec 5<>/dev/byte # Open /dev/byte and assign fd 5 to it
>> echo 0xaa>&5 # Instruct the device to output 0xaa
>
> That's seriously strange. /dev/byte should be changeable... by writing
> bytes.
As I've written before, that was the only solution I could come up with
which makes it possible to change the output of /dev/byte on the fly
without introducing race conditions (except ioctl). I know, it's ugly,
but works, at least for common (read) file operations.
So it seems the only proper solution would be to use minors which would
make such a device static.
So I better stick to something in userland, even when I would like to
have at least /dev/byteFF. Chances seem to be minimal to get such
included in the kernel if no one else sees a usage pattern for such.
Regards,
Alexander
next prev parent reply other threads:[~2011-04-20 18:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-18 11:37 [PATCH 0/1] Implement /dev/byte (a generic byte source similiar to /dev/zero) Alexander Holler
2011-04-18 11:37 ` [PATCH 1/1] " Alexander Holler
2011-04-20 10:57 ` Pavel Machek
2011-04-20 18:07 ` Alexander Holler [this message]
2011-04-18 13:57 ` [PATCH 0/1] " Mike Frysinger
2011-04-19 8:34 ` Alexander Holler
2011-04-19 8:44 ` Alan Cox
2011-04-19 9:05 ` Alexander Holler
2011-04-19 9:32 ` Alexander Holler
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=4DAF20FE.2040603@ahsoftware.de \
--to=holler@ahsoftware.de \
--cc=linux-kernel@vger.kernel.org \
--cc=pavel@ucw.cz \
/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.