From: Masatake YAMATO Date: Wed, 15 Nov 2023 19:03:23 +0000 (+0900) Subject: lsfd: (refactor) make the code comparing struct lock objects reusable X-Git-Tag: v2.40-rc1~149^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d009501a84c22f4ca6a52e2acf0bb2cd1f31fed6;p=thirdparty%2Futil-linux.git lsfd: (refactor) make the code comparing struct lock objects reusable Signed-off-by: Masatake YAMATO --- diff --git a/misc-utils/lslocks.c b/misc-utils/lslocks.c index 2d4e7c6b85..d492cc1453 100644 --- a/misc-utils/lslocks.c +++ b/misc-utils/lslocks.c @@ -293,6 +293,18 @@ struct override_info { const char *cmdname; }; +static bool is_co_holder(struct lock *l, struct lock *m) +{ + return (l->start == m->start && + l->end == m->end && + l->inode == m->inode && + l->dev == m->dev && + l->mandatory == m->mandatory && + l->blocked == m->blocked && + strcmp(l->type, m->type) == 0 && + strcmp(l->mode, m->mode) == 0); +} + static void patch_lock(struct lock *l, void *fallback) { struct lock_tnode tmp = { .dev = l->dev, .inode = l->inode, }; @@ -304,14 +316,7 @@ static void patch_lock(struct lock *l, void *fallback) list_for_each(p, &(*head)->chain) { struct lock *m = list_entry(p, struct lock, locks); - if (l->start == m->start && - l->end == m->end && - l->inode == m->inode && - l->dev == m->dev && - l->mandatory == m->mandatory && - l->blocked == m->blocked && - strcmp(l->type, m->type) == 0 && - strcmp(l->mode, m->mode) == 0) { + if (is_co_holder(l, m)) { /* size and id can be ignored. */ l->pid = m->pid; l->cmdname = xstrdup(m->cmdname);