You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
perf header: Add struct feat_fd for write
Introduce struct feat_fd. This patch uses it as a wrapper around fd in write_* functions for feature headers. Next patches will extend its functionality to other feature header functions. This patch does not change behavior. Signed-off-by: David Carrillo-Cisneros <davidcc@google.com> Acked-by: David Ahern <dsahern@gmail.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: He Kuang <hekuang@huawei.com> Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Turner <pjt@google.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Simon Que <sque@chromium.org> Cc: Stephane Eranian <eranian@google.com> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/20170718042549.145161-7-davidcc@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
3b8f51a677
commit
ccebbeb6b6
@@ -289,7 +289,7 @@ char *dso__build_id_filename(const struct dso *dso, char *bf, size_t size,
|
||||
else
|
||||
|
||||
static int write_buildid(const char *name, size_t name_len, u8 *build_id,
|
||||
pid_t pid, u16 misc, int fd)
|
||||
pid_t pid, u16 misc, struct feat_fd *fd)
|
||||
{
|
||||
int err;
|
||||
struct build_id_event b;
|
||||
@@ -311,7 +311,8 @@ static int write_buildid(const char *name, size_t name_len, u8 *build_id,
|
||||
return write_padded(fd, name, name_len + 1, len);
|
||||
}
|
||||
|
||||
static int machine__write_buildid_table(struct machine *machine, int fd)
|
||||
static int machine__write_buildid_table(struct machine *machine,
|
||||
struct feat_fd *fd)
|
||||
{
|
||||
int err = 0;
|
||||
char nm[PATH_MAX];
|
||||
@@ -356,7 +357,8 @@ static int machine__write_buildid_table(struct machine *machine, int fd)
|
||||
return err;
|
||||
}
|
||||
|
||||
int perf_session__write_buildid_table(struct perf_session *session, int fd)
|
||||
int perf_session__write_buildid_table(struct perf_session *session,
|
||||
struct feat_fd *fd)
|
||||
{
|
||||
struct rb_node *nd;
|
||||
int err = machine__write_buildid_table(&session->machines.host, fd);
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
extern struct perf_tool build_id__mark_dso_hit_ops;
|
||||
struct dso;
|
||||
struct feat_fd;
|
||||
|
||||
int build_id__sprintf(const u8 *build_id, int len, char *bf);
|
||||
int sysfs__sprintf_build_id(const char *root_dir, char *sbuild_id);
|
||||
@@ -27,7 +28,8 @@ int build_id__mark_dso_hit(struct perf_tool *tool, union perf_event *event,
|
||||
int dsos__hit_all(struct perf_session *session);
|
||||
|
||||
bool perf_session__read_build_ids(struct perf_session *session, bool with_hits);
|
||||
int perf_session__write_buildid_table(struct perf_session *session, int fd);
|
||||
int perf_session__write_buildid_table(struct perf_session *session,
|
||||
struct feat_fd *fd);
|
||||
int perf_session__cache_build_ids(struct perf_session *session);
|
||||
|
||||
char *build_id_cache__origname(const char *sbuild_id);
|
||||
|
||||
+125
-105
File diff suppressed because it is too large
Load Diff
@@ -144,9 +144,12 @@ bool is_perf_magic(u64 magic);
|
||||
|
||||
#define NAME_ALIGN 64
|
||||
|
||||
int do_write(int fd, const void *buf, size_t size);
|
||||
struct feat_fd;
|
||||
|
||||
int write_padded(int fd, const void *bf, size_t count, size_t count_aligned);
|
||||
int do_write(struct feat_fd *fd, const void *buf, size_t size);
|
||||
|
||||
int write_padded(struct feat_fd *fd, const void *bf,
|
||||
size_t count, size_t count_aligned);
|
||||
|
||||
/*
|
||||
* arch specific callback
|
||||
|
||||
Reference in New Issue
Block a user