Skip to contentSkip to conversation

New: A filled up named pipe always has a size of zero!

Bug 18372 [email protected] 1 participant 3 messages Sep 12, 2010 – May 12, 2012

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=18372

Summary: A filled up named pipe always has a size of zero!
Product: File System
Version: 2.5
Kernel Version: 2.6.32-22-generic (also older and newer ones)
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: high
Priority: P1
Component: ext4
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Regression: No

Hi, there!

The size of a filled named pipe is always zero. This is wrong! A read operation is going to hang for try to read from an empty pipe. To go around this trap it is necessary to do a conditional test on the filesize, [ -s pipe ]. Problem:
The test doesn't work, because filesize is always zero.

Try:
mknod pipe &
sleep 3600 <>pipe &
echo 'date' >pipe
[ -s pipe ] && echo "filled up"
ls -l pipe; stat pipe # if size zero, it is wrong
[ -s pipe ] && (read val <pipe; echo $val)

This is a critical error. While parallel processing a script would be blocked. In worst case it causes a deadlock situation. Every changing of a condition of a file should be reported whithin the i-node.

I found it in several disto: Ubuntu KarmicKoala 9.1, LucidLynx 10.04, Linux Mint Debian Edition 5, Slackware 13.1 x64

Best regards
TOM

Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
#1 lore raw

[Bug 18372] A filled up named pipe always has a size of zero!

https://bugzilla.kernel.org/show_bug.cgi?id=18372

Alan <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|                            |WILL_NOT_FIX

--- Comment #1 from Alan <[email protected]> 2012-05-12 15:46:52 --- Not a bug - its the correct behaviour as per spec.

Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
#2 lore raw

[Bug 18372] A filled up named pipe always has a size of zero!

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=18372

Alan <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED

Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.