chiark / gitweb /
Revert f_type fixups
authorHarald Hoyer <harald@redhat.com>
Thu, 18 Apr 2013 12:50:42 +0000 (14:50 +0200)
committerHarald Hoyer <harald@redhat.com>
Thu, 18 Apr 2013 13:01:55 +0000 (15:01 +0200)
commit4826f0b7b5c0aefa08b8cc7ef64d69027f84da2c
treecda862e85d9e0257088143ed7355452c43849872
parenta858b64dddf79177e12ed30f5e8c47a1471c8bfe
Revert f_type fixups

This reverts commit a858b64dddf79177e12ed30f5e8c47a1471c8bfe.
This reverts commit aea275c43194b6ac519ef907b62c5c995050fde0.
This reverts commit fc6e6d245ee3989c222a2a8cc82a33475f9922f3.
This reverts commit c4073a27c555aeceac87a3b02a83141cde641a1e.
This reverts commit cddf148028f525be8176e7f1cbbf4f862bd287f6.
This reverts commit 8c68a70170b31f93c287f29fd06c6c17edaf19ad.

The constants are now casted to __SWORD_TYPE, which should resolve the
compiler warnings about signed vs unsigned.

After talking to Kay, we concluded:

This should be fixed in the kernel, not worked around in userspace tools.

Architectures cannot use int and expect magic constants lager than INT_MAX
to work correctly. The kernel header needs to be fixed.

Even coreutils cannot handle it:
  #define RAMFS_MAGIC  0x858458f6
  # stat -f -c%t /
  ffffffff858458f6

  #define BTRFS_SUPER_MAGIC 0x9123683E
  # stat -f -c%t /mnt
  ffffffff9123683e

Although I found the perfect working macro to fix the thing :)

        __extension__ ({                                                \
                        bool _ret = false;                              \
                        switch(f) { case c: _ret=true; };               \
                        ( _ret );                                       \
                })
src/journal/sd-journal.c
src/readahead/readahead-collect.c
src/shared/macro.h
src/shared/util.c