chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
build-sys: Add configure check for linux/btrfs.h
[elogind.git]
/
src
/
readahead
/
readahead-collect.c
diff --git
a/src/readahead/readahead-collect.c
b/src/readahead/readahead-collect.c
index 643a5a8ceaa560d8f87b58dca802a3c12fa750a2..5d37bb75f3c3da7b11f507906afd892d3d6899ad 100644
(file)
--- a/
src/readahead/readahead-collect.c
+++ b/
src/readahead/readahead-collect.c
@@
-44,6
+44,10
@@
#include <sys/inotify.h>
#include <math.h>
#include <sys/inotify.h>
#include <math.h>
+#ifdef HAVE_LINUX_BTRFS_H
+#include <linux/btrfs.h>
+#endif
+
#ifdef HAVE_FANOTIFY_INIT
#include <sys/fanotify.h>
#endif
#ifdef HAVE_FANOTIFY_INIT
#include <sys/fanotify.h>
#endif
@@
-75,10
+79,7
@@
static usec_t starttime;
#define PTR_TO_SECTOR(p) (PTR_TO_ULONG(p)-1)
static int btrfs_defrag(int fd) {
#define PTR_TO_SECTOR(p) (PTR_TO_ULONG(p)-1)
static int btrfs_defrag(int fd) {
- struct btrfs_ioctl_vol_args data;
-
- zero(data);
- data.fd = fd;
+ struct btrfs_ioctl_vol_args data = { .fd = fd };
return ioctl(fd, BTRFS_IOC_DEFRAG, &data);
}
return ioctl(fd, BTRFS_IOC_DEFRAG, &data);
}
@@
-186,11
+187,10
@@
static unsigned long fd_first_block(int fd) {
struct {
struct fiemap fiemap;
struct fiemap_extent extent;
struct {
struct fiemap fiemap;
struct fiemap_extent extent;
- } data;
-
- zero(data);
- data.fiemap.fm_length = ~0ULL;
- data.fiemap.fm_extent_count = 1;
+ } data = {
+ .fiemap.fm_length = ~0ULL,
+ .fiemap.fm_extent_count = 1,
+ };
if (ioctl(fd, FS_IOC_FIEMAP, &data) < 0)
return 0;
if (ioctl(fd, FS_IOC_FIEMAP, &data) < 0)
return 0;
@@
-238,7
+238,7
@@
static int collect(const char *root) {
FD_INOTIFY, /* We get notifications to quit early via this fd */
_FD_MAX
};
FD_INOTIFY, /* We get notifications to quit early via this fd */
_FD_MAX
};
- struct pollfd pollfd[_FD_MAX];
+ struct pollfd pollfd[_FD_MAX]
= {}
;
int fanotify_fd = -1, signal_fd = -1, inotify_fd = -1, r = 0;
pid_t my_pid;
Hashmap *files = NULL;
int fanotify_fd = -1, signal_fd = -1, inotify_fd = -1, r = 0;
pid_t my_pid;
Hashmap *files = NULL;
@@
-291,8
+291,7
@@
static int collect(const char *root) {
goto finish;
}
goto finish;
}
- fanotify_fd = fanotify_init(FAN_CLOEXEC|FAN_NONBLOCK,
- O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_NOATIME);
+ fanotify_fd = fanotify_init(FAN_CLOEXEC|FAN_NONBLOCK, O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_NOATIME);
if (fanotify_fd < 0) {
log_error("Failed to create fanotify object: %m");
r = -errno;
if (fanotify_fd < 0) {
log_error("Failed to create fanotify object: %m");
r = -errno;
@@
-315,7
+314,6
@@
static int collect(const char *root) {
my_pid = getpid();
my_pid = getpid();
- zero(pollfd);
pollfd[FD_FANOTIFY].fd = fanotify_fd;
pollfd[FD_FANOTIFY].events = POLLIN;
pollfd[FD_SIGNAL].fd = signal_fd;
pollfd[FD_FANOTIFY].fd = fanotify_fd;
pollfd[FD_FANOTIFY].events = POLLIN;
pollfd[FD_SIGNAL].fd = signal_fd;
@@
-485,8
+483,9
@@
static int collect(const char *root) {
}
entry->bin = (entrytime - starttime) / 2000000;
}
entry->bin = (entrytime - starttime) / 2000000;
- if ((k = hashmap_put(files, p, entry)) < 0) {
- log_warning("set_put() failed: %s", strerror(-k));
+ k = hashmap_put(files, p, entry);
+ if (k < 0) {
+ log_warning("hashmap_put() failed: %s", strerror(-k));
free(p);
}
}
free(p);
}
}
@@
-511,7
+510,7
@@
done:
on_ssd = fs_on_ssd(root) > 0;
log_debug("On SSD: %s", yes_no(on_ssd));
on_ssd = fs_on_ssd(root) > 0;
log_debug("On SSD: %s", yes_no(on_ssd));
- on_btrfs = statfs(root, &sfs) >= 0 &&
(long) sfs.f_type == (long) BTRFS_SUPER_MAGIC
;
+ on_btrfs = statfs(root, &sfs) >= 0 &&
F_TYPE_CMP(sfs.f_type, BTRFS_SUPER_MAGIC)
;
log_debug("On btrfs: %s", yes_no(on_btrfs));
if (asprintf(&pack_fn_new, "%s/.readahead.new", root) < 0) {
log_debug("On btrfs: %s", yes_no(on_btrfs));
if (asprintf(&pack_fn_new, "%s/.readahead.new", root) < 0) {