* [PATCH] statfs.2: Update + Note for pipe() fds
@ 2014-06-10 16:04 Cyril Hrubis
[not found] ` <20140610160416.GA20354-HSzIOc4LzcM@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Cyril Hrubis @ 2014-06-10 16:04 UTC (permalink / raw)
To: Michael Kerrisk (man-pages); +Cc: linux-man-u79uwXL29TY76Z2rM5mHXA
* Update MAGIC constants, most of them are taken from
/usr/include/linux/magic.h, some were found by grepping Linux source.
* Add note about fstatfs(2) broken on fd from pipe(2) between
2.6.38 and 3.2
Signed-off-by: Cyril Hrubis <chrubis-AlSwsSmVLrQ@public.gmane.org>
---
man2/statfs.2 | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/man2/statfs.2 b/man2/statfs.2
index 8888307..53cff11 100644
--- a/man2/statfs.2
+++ b/man2/statfs.2
@@ -72,20 +72,30 @@ Filesystem types:
ADFS_SUPER_MAGIC 0xadf5
AFFS_SUPER_MAGIC 0xADFF
+ BDEVFS_MAGIC 0x62646576
BEFS_SUPER_MAGIC 0x42465331
BFS_MAGIC 0x1BADFACE
+ BINFMTFS_MAGIC 0x42494e4d
+ BTRFS_SUPER_MAGIC 0x9123683E
+ CGROUP_SUPER_MAGIC 0x27e0eb
CIFS_MAGIC_NUMBER 0xFF534D42
CODA_SUPER_MAGIC 0x73757245
COH_SUPER_MAGIC 0x012FF7B7
CRAMFS_MAGIC 0x28cd3d45
+ DEBUGFS_MAGIC 0x64626720
DEVFS_SUPER_MAGIC 0x1373
+ DEVPTS_SUPER_MAGIC 0x1cd1
+ EFIVARFS_MAGIC 0xde5e81e4
EFS_SUPER_MAGIC 0x00414A53
EXT_SUPER_MAGIC 0x137D
EXT2_OLD_SUPER_MAGIC 0xEF51
EXT2_SUPER_MAGIC 0xEF53
EXT3_SUPER_MAGIC 0xEF53
EXT4_SUPER_MAGIC 0xEF53
+ FUSE_SUPER_MAGIC 0x65735546
+ FUTEXFS_SUPER_MAGIC 0xBAD1DEA
HFS_SUPER_MAGIC 0x4244
+ HOSTFS_SUPER_MAGIC 0x00c0ffee
HPFS_SUPER_MAGIC 0xF995E849
HUGETLBFS_MAGIC 0x958458f6
ISOFS_SUPER_MAGIC 0x9660
@@ -95,29 +105,47 @@ Filesystem types:
MINIX_SUPER_MAGIC2 0x138F /* 30 char minix */
MINIX2_SUPER_MAGIC 0x2468 /* minix V2 */
MINIX2_SUPER_MAGIC2 0x2478 /* minix V2, 30 char names */
+ MINIX3_SUPER_MAGIC 0x4d5a /* minix V3 fs, 60 char names */
+ MQUEUE_MAGIC 0x19800202
MSDOS_SUPER_MAGIC 0x4d44
NCP_SUPER_MAGIC 0x564c
NFS_SUPER_MAGIC 0x6969
+ NILFS_SUPER_MAGIC 0x3434
NTFS_SB_MAGIC 0x5346544e
OPENPROM_SUPER_MAGIC 0x9fa1
+ PIPEFS_MAGIC 0x50495045
PROC_SUPER_MAGIC 0x9fa0
+ PSTOREFS_MAGIC 0x6165676C
QNX4_SUPER_MAGIC 0x002f
+ QNX6_SUPER_MAGIC 0x68191122
+ RAMFS_MAGIC 0x858458f6
REISERFS_SUPER_MAGIC 0x52654973
ROMFS_MAGIC 0x7275
+ SELINUX_MAGIC 0xf97cff8c
+ SMACK_MAGIC 0x43415d53
SMB_SUPER_MAGIC 0x517B
+ SOCKFS_MAGIC 0x534F434B
+ SQUASHFS_MAGIC 0x73717368
+ SYSFS_MAGIC 0x62656572
SYSV2_SUPER_MAGIC 0x012FF7B6
SYSV4_SUPER_MAGIC 0x012FF7B5
TMPFS_MAGIC 0x01021994
UDF_SUPER_MAGIC 0x15013346
UFS_MAGIC 0x00011954
USBDEVICE_SUPER_MAGIC 0x9fa2
+ V9FS_MAGIC 0x01021997
VXFS_SUPER_MAGIC 0xa501FCF5
+ XENFS_SUPER_MAGIC 0xabba1974
XENIX_SUPER_MAGIC 0x012FF7B4
XFS_SUPER_MAGIC 0x58465342
_XIAFS_SUPER_MAGIC 0x012FD16D
.fi
.in
.PP
+Most of these MAGIC constants are defined in
+.I /usr/include/linux/magic.h
+some are hardcoded in kernel sources.
+.PP
Nobody knows what
.I f_fsid
is supposed to contain (but see below).
@@ -221,6 +249,13 @@ Some systems only have \fI<sys/vfs.h>\fP, other systems also have
So it seems
including the former is the best choice.
+Between Linux 2.6.38 and Linux 3.2
+.\" broken in commit ff0c7d15f9787b7e8c601533c015295cc68329f8
+.\" fixed in commit d70ef97baf048412c395bb5d65791d8fe133a52b
+.BR fstatfs ()
+returned ENOSYS for file descriptor created by
+.BR pipe (2) .
+
LSB has deprecated the library calls
.BR statfs ()
and
--
1.8.5.5
--
Cyril Hrubis
chrubis-AlSwsSmVLrQ@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] statfs.2: Update + Note for pipe() fds
[not found] ` <20140610160416.GA20354-HSzIOc4LzcM@public.gmane.org>
@ 2014-06-10 20:27 ` Michael Kerrisk (man-pages)
[not found] ` <53976A4D.1010501-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Michael Kerrisk (man-pages) @ 2014-06-10 20:27 UTC (permalink / raw)
To: Cyril Hrubis
Cc: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w,
linux-man-u79uwXL29TY76Z2rM5mHXA
Hi Cyril,
Thanks for this. I applied. However, for the future, I really would prefer
unrelated changes such as the below to be submitted as separate patches.
(I manually split your patch.)
On 06/10/2014 06:04 PM, Cyril Hrubis wrote:
> * Update MAGIC constants, most of them are taken from
> /usr/include/linux/magic.h, some were found by grepping Linux source.
>
> * Add note about fstatfs(2) broken on fd from pipe(2) between
> 2.6.38 and 3.2
I moved that patch piece to a (new) BUGS section.
Looking at the following:
$ git describe --contains ff0c7d15f9787b7e8c601533c01529
v2.6.38-rc1~60^2~30
$ git describe --contains d70ef97baf048412c395bb5d65791d
v3.2-rc1~108^2~56
The breakage was from 2.6.38 to 3.1, right? (3.2 fixed things.)
I reworded a little.
And I just want to check. Was it really ff0c7d15f9787b7e8c601533c01529
that caused the breakage? At a quick glance, that patch looks
unrelated, but perhaps something very subtle is going on...
Cheers,
Michael
> Signed-off-by: Cyril Hrubis <chrubis-AlSwsSmVLrQ@public.gmane.org>
> ---
> man2/statfs.2 | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/man2/statfs.2 b/man2/statfs.2
> index 8888307..53cff11 100644
> --- a/man2/statfs.2
> +++ b/man2/statfs.2
> @@ -72,20 +72,30 @@ Filesystem types:
>
> ADFS_SUPER_MAGIC 0xadf5
> AFFS_SUPER_MAGIC 0xADFF
> + BDEVFS_MAGIC 0x62646576
> BEFS_SUPER_MAGIC 0x42465331
> BFS_MAGIC 0x1BADFACE
> + BINFMTFS_MAGIC 0x42494e4d
> + BTRFS_SUPER_MAGIC 0x9123683E
> + CGROUP_SUPER_MAGIC 0x27e0eb
> CIFS_MAGIC_NUMBER 0xFF534D42
> CODA_SUPER_MAGIC 0x73757245
> COH_SUPER_MAGIC 0x012FF7B7
> CRAMFS_MAGIC 0x28cd3d45
> + DEBUGFS_MAGIC 0x64626720
> DEVFS_SUPER_MAGIC 0x1373
> + DEVPTS_SUPER_MAGIC 0x1cd1
> + EFIVARFS_MAGIC 0xde5e81e4
> EFS_SUPER_MAGIC 0x00414A53
> EXT_SUPER_MAGIC 0x137D
> EXT2_OLD_SUPER_MAGIC 0xEF51
> EXT2_SUPER_MAGIC 0xEF53
> EXT3_SUPER_MAGIC 0xEF53
> EXT4_SUPER_MAGIC 0xEF53
> + FUSE_SUPER_MAGIC 0x65735546
> + FUTEXFS_SUPER_MAGIC 0xBAD1DEA
> HFS_SUPER_MAGIC 0x4244
> + HOSTFS_SUPER_MAGIC 0x00c0ffee
> HPFS_SUPER_MAGIC 0xF995E849
> HUGETLBFS_MAGIC 0x958458f6
> ISOFS_SUPER_MAGIC 0x9660
> @@ -95,29 +105,47 @@ Filesystem types:
> MINIX_SUPER_MAGIC2 0x138F /* 30 char minix */
> MINIX2_SUPER_MAGIC 0x2468 /* minix V2 */
> MINIX2_SUPER_MAGIC2 0x2478 /* minix V2, 30 char names */
> + MINIX3_SUPER_MAGIC 0x4d5a /* minix V3 fs, 60 char names */
> + MQUEUE_MAGIC 0x19800202
> MSDOS_SUPER_MAGIC 0x4d44
> NCP_SUPER_MAGIC 0x564c
> NFS_SUPER_MAGIC 0x6969
> + NILFS_SUPER_MAGIC 0x3434
> NTFS_SB_MAGIC 0x5346544e
> OPENPROM_SUPER_MAGIC 0x9fa1
> + PIPEFS_MAGIC 0x50495045
> PROC_SUPER_MAGIC 0x9fa0
> + PSTOREFS_MAGIC 0x6165676C
> QNX4_SUPER_MAGIC 0x002f
> + QNX6_SUPER_MAGIC 0x68191122
> + RAMFS_MAGIC 0x858458f6
> REISERFS_SUPER_MAGIC 0x52654973
> ROMFS_MAGIC 0x7275
> + SELINUX_MAGIC 0xf97cff8c
> + SMACK_MAGIC 0x43415d53
> SMB_SUPER_MAGIC 0x517B
> + SOCKFS_MAGIC 0x534F434B
> + SQUASHFS_MAGIC 0x73717368
> + SYSFS_MAGIC 0x62656572
> SYSV2_SUPER_MAGIC 0x012FF7B6
> SYSV4_SUPER_MAGIC 0x012FF7B5
> TMPFS_MAGIC 0x01021994
> UDF_SUPER_MAGIC 0x15013346
> UFS_MAGIC 0x00011954
> USBDEVICE_SUPER_MAGIC 0x9fa2
> + V9FS_MAGIC 0x01021997
> VXFS_SUPER_MAGIC 0xa501FCF5
> + XENFS_SUPER_MAGIC 0xabba1974
> XENIX_SUPER_MAGIC 0x012FF7B4
> XFS_SUPER_MAGIC 0x58465342
> _XIAFS_SUPER_MAGIC 0x012FD16D
> .fi
> .in
> .PP
> +Most of these MAGIC constants are defined in
> +.I /usr/include/linux/magic.h
> +some are hardcoded in kernel sources.
> +.PP
> Nobody knows what
> .I f_fsid
> is supposed to contain (but see below).
> @@ -221,6 +249,13 @@ Some systems only have \fI<sys/vfs.h>\fP, other systems also have
> So it seems
> including the former is the best choice.
>
> +Between Linux 2.6.38 and Linux 3.2
> +.\" broken in commit ff0c7d15f9787b7e8c601533c015295cc68329f8
> +.\" fixed in commit d70ef97baf048412c395bb5d65791d8fe133a52b
> +.BR fstatfs ()
> +returned ENOSYS for file descriptor created by
> +.BR pipe (2) .
> +
> LSB has deprecated the library calls
> .BR statfs ()
> and
>
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] statfs.2: Update + Note for pipe() fds
[not found] ` <53976A4D.1010501-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2014-06-10 21:29 ` chrubis-AlSwsSmVLrQ
[not found] ` <20140610212940.GA22111-HSzIOc4LzcM@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: chrubis-AlSwsSmVLrQ @ 2014-06-10 21:29 UTC (permalink / raw)
To: Michael Kerrisk (man-pages); +Cc: linux-man-u79uwXL29TY76Z2rM5mHXA
Hi!
> > * Update MAGIC constants, most of them are taken from
> > /usr/include/linux/magic.h, some were found by grepping Linux source.
> >
> > * Add note about fstatfs(2) broken on fd from pipe(2) between
> > 2.6.38 and 3.2
>
> I moved that patch piece to a (new) BUGS section.
>
> Looking at the following:
>
> $ git describe --contains ff0c7d15f9787b7e8c601533c01529
> v2.6.38-rc1~60^2~30
> $ git describe --contains d70ef97baf048412c395bb5d65791d
> v3.2-rc1~108^2~56
>
> The breakage was from 2.6.38 to 3.1, right? (3.2 fixed things.)
> I reworded a little.
Ah, right. Sorry for the off by one mistake.
> And I just want to check. Was it really ff0c7d15f9787b7e8c601533c01529
> that caused the breakage? At a quick glance, that patch looks
> unrelated, but perhaps something very subtle is going on...
Yep, it took me a while to notice. If you pass NULL as super_operations
to mount_pseudo() function, which was the case before the patch, default
structure super_operations (with contains only simple_statfs) is used
(have a look at mount_pseudo() in fs/libfs.c). This patch added
pipefs_ops without the statfs callback and passed it instead of the
NULL.
--
Cyril Hrubis
chrubis-AlSwsSmVLrQ@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] statfs.2: Update + Note for pipe() fds
[not found] ` <20140610212940.GA22111-HSzIOc4LzcM@public.gmane.org>
@ 2014-06-11 5:22 ` Michael Kerrisk (man-pages)
0 siblings, 0 replies; 4+ messages in thread
From: Michael Kerrisk (man-pages) @ 2014-06-11 5:22 UTC (permalink / raw)
To: Cyril Hrubis; +Cc: linux-man
>> And I just want to check. Was it really ff0c7d15f9787b7e8c601533c01529
>> that caused the breakage? At a quick glance, that patch looks
>> unrelated, but perhaps something very subtle is going on...
>
> Yep, it took me a while to notice. If you pass NULL as super_operations
> to mount_pseudo() function, which was the case before the patch, default
> structure super_operations (with contains only simple_statfs) is used
> (have a look at mount_pseudo() in fs/libfs.c). This patch added
> pipefs_ops without the statfs callback and passed it instead of the
> NULL.
Ahh -- okay. Thanks for the explanation.
Cheers,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-06-11 5:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-10 16:04 [PATCH] statfs.2: Update + Note for pipe() fds Cyril Hrubis
[not found] ` <20140610160416.GA20354-HSzIOc4LzcM@public.gmane.org>
2014-06-10 20:27 ` Michael Kerrisk (man-pages)
[not found] ` <53976A4D.1010501-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-06-10 21:29 ` chrubis-AlSwsSmVLrQ
[not found] ` <20140610212940.GA22111-HSzIOc4LzcM@public.gmane.org>
2014-06-11 5:22 ` Michael Kerrisk (man-pages)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox