find: add -inum option
authorGreg Hackmann <ghackmann@google.com>
Fri, 10 Jul 2015 17:14:02 +0000 (12:14 -0500)
committerRob Landley <rob@landley.net>
Fri, 10 Jul 2015 17:14:02 +0000 (12:14 -0500)
-inum is a commonly implemented extension to search by inode number.

Linux's fs-layer tracepoints log many events in terms of inodes, so
"find -inum" is useful for mapping those events back to specific files.

toys/posix/find.c

index 01d2999..a11a910 100644 (file)
@@ -32,6 +32,7 @@ config FIND
     -ctime N       created N days ago        -mtime N    modified N days ago
     -newer FILE    newer mtime than FILE     -mindepth # at least # dirs down
     -depth         ignore contents of dir    -maxdepth # at most # dirs down
+    -inum  N       inode number N
     -type [bcdflps] (block, char, dir, file, symlink, pipe, socket)
 
     Numbers N may be prefixed by a - (less than) or + (greater than):
@@ -341,6 +342,9 @@ static int do_find(struct dirtree *new)
           test = compare_numsign(new->st.st_size, 512, ss[1]);
       } else if (!strcmp(s, "links")) {
         if (check) test = compare_numsign(new->st.st_nlink, 0, ss[1]);
+      } else if (!strcmp(s, "inum")) {
+        if (check)
+          test = compare_numsign(new->st.st_ino, 0, ss[1]);
       } else if (!strcmp(s, "mindepth") || !strcmp(s, "maxdepth")) {
         if (check) {
           struct dirtree *dt = new;