1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-17 09:06:50 +02:00

stat,tail: fix android build and support inotify

* src/extract-magic: Treat android like linux,
which fixes the build by ensuring the constants are defined.
* src/stat.c: Support all constants on android, including
the android specific "sdcardfs".
* src/tail.c: Fix inclusion of statfs headers to be independent
of inotify availability, as fremote() is used on linux even
if inotify has been disabled.  Also enable fremote() on android.
* NEWS: Mention the improvment.
Fixes https://bugs.gnu.org/34239
This commit is contained in:
Pádraig Brady
2019-01-29 20:32:53 -08:00
parent 90933c8eb0
commit 2e8f885a2a
4 changed files with 14 additions and 4 deletions
+5
View File
@@ -69,6 +69,11 @@ GNU coreutils NEWS -*- outline -*-
and encodes and decodes printable text using various common encodings:
base64,base64url,base32,base32hex,base16,base2,z85.
** Improvements
stat and tail now know about the "sdcardfs" file system on Android.
stat -f -c%T now reports the file system type, and tail -f uses inotify.
* Noteworthy changes in release 8.30 (2018-07-01) [stable]
+1 -1
View File
@@ -125,7 +125,7 @@ EOF
print $emit_magic ? $magic_comment : $map_comment;
$emit_magic
and print "\n#if defined __linux__\n";
and print "\n#if defined __linux__ || defined __ANDROID__\n";
$emit_magic
or print "static inline int\n"
. "is_local_fs_type (unsigned long int magic)\n"
+3 -1
View File
@@ -235,7 +235,7 @@ human_fstype (STRUCT_STATVFS const *statfsbuf)
#else
switch (statfsbuf->f_type)
{
# if defined __linux__
# if defined __linux__ || defined __ANDROID__
/* Compare with what's in libc:
f=/a/libc/sysdeps/unix/sysv/linux/linux_fsinfo.h
@@ -450,6 +450,8 @@ human_fstype (STRUCT_STATVFS const *statfsbuf)
return "romfs";
case S_MAGIC_RPC_PIPEFS: /* 0x67596969 local */
return "rpc_pipefs";
case S_MAGIC_SDCARDFS: /* 0x5DCA2DF5 local */
return "sdcardfs";
case S_MAGIC_SECURITYFS: /* 0x73636673 local */
return "securityfs";
case S_MAGIC_SELINUX: /* 0xF97CFF8C local */
+5 -2
View File
@@ -57,8 +57,10 @@
# include <sys/inotify.h>
/* 'select' is used by tail_forever_inotify. */
# include <sys/select.h>
#endif
/* inotify needs to know if a file is local. */
/* Linux can optimize the handling of local files. */
#if defined __linux__ || defined __ANDROID__
# include "fs.h"
# include "fs-is-local.h"
# if HAVE_SYS_STATFS_H
@@ -938,7 +940,8 @@ fremote (int fd, const char *name)
{
bool remote = true; /* be conservative (poll by default). */
#if HAVE_FSTATFS && HAVE_STRUCT_STATFS_F_TYPE && defined __linux__
#if HAVE_FSTATFS && HAVE_STRUCT_STATFS_F_TYPE \
&& (defined __linux__ || defined __ANDROID__)
struct statfs buf;
int err = fstatfs (fd, &buf);
if (err != 0)