lsfd: use \n as the separator in INOTIFY.INODES and INOTIFY.INODES.RAW columns

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
This commit is contained in:
Masatake YAMATO 2023-06-19 06:40:50 +09:00
parent 92e0e017d8
commit c34f86326d
3 changed files with 8 additions and 7 deletions

View file

@ -839,6 +839,7 @@ static bool anon_inotify_probe(const char *str)
#define ANON_INOTIFY_MINOR(dev) ((unsigned int) ((dev) & ANON_INOTIFY_MINORMASK))
static char *anon_inotify_make_inodes_string(const char *prefix,
const char *sep,
enum decode_source_level decode_level,
struct anon_inotify_data *data)
{
@ -856,7 +857,7 @@ static char *anon_inotify_make_inodes_string(const char *prefix,
decode_source(source, sizeof(source),
ANON_INOTIFY_MAJOR(inode->sdev), ANON_INOTIFY_MINOR(inode->sdev),
decode_level);
snprintf(buf, sizeof(buf), "%s%llu@%s", first_element? prefix: ",",
snprintf(buf, sizeof(buf), "%s%llu@%s", first_element? prefix: sep,
(unsigned long long)inode->ino, source);
first_element = false;
@ -868,7 +869,7 @@ static char *anon_inotify_make_inodes_string(const char *prefix,
static char *anon_inotify_get_name(struct unkn *unkn)
{
return anon_inotify_make_inodes_string("inodes=", DECODE_SOURCE_FULL,
return anon_inotify_make_inodes_string("inodes=", ",", DECODE_SOURCE_FULL,
(struct anon_inotify_data *)unkn->anon_data);
}
@ -926,13 +927,13 @@ static bool anon_inotify_fill_column(struct proc *proc __attribute__((__unused_
switch(column_id) {
case COL_INOTIFY_INODES:
*str = anon_inotify_make_inodes_string("", DECODE_SOURCE_FULL,
*str = anon_inotify_make_inodes_string("", "\n", DECODE_SOURCE_FULL,
data);
if (*str)
return true;
break;
case COL_INOTIFY_INODES_RAW:
*str = anon_inotify_make_inodes_string("", DECODE_SOURCE_MAJMIN,
*str = anon_inotify_make_inodes_string("", "\n", DECODE_SOURCE_MAJMIN,
data);
if (*str)
return true;

View file

@ -1,2 +1,2 @@
INOTIFY.INODES.RAW: 0
INOTIFY.INODES.RAW == FSTAB,ROOT
INOTIFY.INODES.RAW == FSTAB\x0aROOT

View file

@ -38,8 +38,8 @@ FSTAB="$(stat -c %i /etc/fstab)"@"$(((FSTAB_DEV >> 8) & 255)):$((FSTAB_DEV & 255
EXPR='(PID == '"${PID}"') and (FD == '"$FD"')'
INODES_RAW=$(${TS_CMD_LSFD} --raw -n -o INOTIFY.INODES.RAW -Q "${EXPR}")
echo "INOTIFY.INODES.RAW": $?
if [[ "$INODES_RAW" == "$FSTAB","$ROOT" ]]; then
echo "INOTIFY.INODES.RAW" == "FSTAB","ROOT"
if [[ "$INODES_RAW" == "${FSTAB}"'\x0a'"${ROOT}" ]]; then
echo "INOTIFY.INODES.RAW" == FSTAB'\x0a'ROOT
else
echo "INOTIFY.INODES.RAW": "$INODES_RAW"
echo "FSTAB": "$FSTAB"