journal, shared: fix warnings during compilation on 32 bits
Some filesystem magics are too big to fit in 31 bits, and are wrapped to negative. f_type is an int on 32 bits, so it is signed, and we get a warning on comparison.
This commit is contained in:
parent
92b5814007
commit
943aad8ca5
|
@ -384,7 +384,7 @@ int catalog_update(void) {
|
|||
goto finish;
|
||||
}
|
||||
|
||||
log_debug("%s: wrote %u items, with %zu bytes of strings, %zu total size.",
|
||||
log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
|
||||
CATALOG_DATABASE, n, sb->len, ftell(w));
|
||||
|
||||
free(p);
|
||||
|
|
|
@ -1205,7 +1205,7 @@ static void check_network(sd_journal *j, int fd) {
|
|||
return;
|
||||
|
||||
j->on_network =
|
||||
sfs.f_type == CIFS_MAGIC_NUMBER ||
|
||||
(long)sfs.f_type == (long)CIFS_MAGIC_NUMBER ||
|
||||
sfs.f_type == CODA_SUPER_MAGIC ||
|
||||
sfs.f_type == NCP_SUPER_MAGIC ||
|
||||
sfs.f_type == NFS_SUPER_MAGIC ||
|
||||
|
|
|
@ -3400,6 +3400,12 @@ int rm_rf_children_dangerous(int fd, bool only_dirs, bool honour_sticky, struct
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int is_temporary_fs(struct statfs *s) {
|
||||
assert(s);
|
||||
return s->f_type == TMPFS_MAGIC ||
|
||||
(long)s->f_type == (long)RAMFS_MAGIC;
|
||||
}
|
||||
|
||||
int rm_rf_children(int fd, bool only_dirs, bool honour_sticky, struct stat *root_dev) {
|
||||
struct statfs s;
|
||||
|
||||
|
@ -3413,9 +3419,7 @@ int rm_rf_children(int fd, bool only_dirs, bool honour_sticky, struct stat *root
|
|||
/* We refuse to clean disk file systems with this call. This
|
||||
* is extra paranoia just to be sure we never ever remove
|
||||
* non-state data */
|
||||
|
||||
if (s.f_type != TMPFS_MAGIC &&
|
||||
s.f_type != RAMFS_MAGIC) {
|
||||
if (!is_temporary_fs(&s)) {
|
||||
log_error("Attempted to remove disk file system, and we can't allow that.");
|
||||
close_nointr_nofail(fd);
|
||||
return -EPERM;
|
||||
|
@ -3448,8 +3452,7 @@ static int rm_rf_internal(const char *path, bool only_dirs, bool delete_root, bo
|
|||
if (statfs(path, &s) < 0)
|
||||
return -errno;
|
||||
|
||||
if (s.f_type != TMPFS_MAGIC &&
|
||||
s.f_type != RAMFS_MAGIC) {
|
||||
if (!is_temporary_fs(&s)) {
|
||||
log_error("Attempted to remove disk file system, and we can't allow that.");
|
||||
return -EPERM;
|
||||
}
|
||||
|
@ -3468,8 +3471,7 @@ static int rm_rf_internal(const char *path, bool only_dirs, bool delete_root, bo
|
|||
return -errno;
|
||||
}
|
||||
|
||||
if (s.f_type != TMPFS_MAGIC &&
|
||||
s.f_type != RAMFS_MAGIC) {
|
||||
if (!is_temporary_fs(&s)) {
|
||||
log_error("Attempted to remove disk file system, and we can't allow that.");
|
||||
close_nointr_nofail(fd);
|
||||
return -EPERM;
|
||||
|
@ -5767,7 +5769,7 @@ bool in_initrd(void) {
|
|||
|
||||
saved = access("/etc/initrd-release", F_OK) >= 0 &&
|
||||
statfs("/", &s) >= 0 &&
|
||||
(s.f_type == TMPFS_MAGIC || s.f_type == RAMFS_MAGIC);
|
||||
is_temporary_fs(&s);
|
||||
|
||||
return saved;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue