commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] Debian GNU Hurd packaging branch, procfs-jkoenig, created. b0db9bc


From: Thomas Schwinge
Subject: [SCM] Debian GNU Hurd packaging branch, procfs-jkoenig, created. b0db9bc55ce9b66d0fba511239c278d1a257a9ef
Date: Sun, 26 Sep 2010 21:09:11 +0000

The branch, procfs-jkoenig has been created
        at  b0db9bc55ce9b66d0fba511239c278d1a257a9ef (commit)

- Shortlog ------------------------------------------------------------
commit b0db9bc55ce9b66d0fba511239c278d1a257a9ef
Author: Jeremie Koenig <address@hidden>
Date:   Wed Sep 1 10:49:11 2010 +0000

    Use 2 instead of 42 as the parent inode number
    
    * procfs.c (procfs_make_ino): Use 2 rather than 42 as a temporary hack,
      since 2 is the root's inode with ext2fs.

commit 8dc9884fc74243a6810fdcac603e1941962b666a
Author: Jeremie Koenig <address@hidden>
Date:   Wed Sep 1 10:19:49 2010 +0000

    Use the user-provided kernel PID for uptime
    
    * rootdir.c (get_boottime, get_idletime): replace KERNEL_PID with the
      opt_kernel_pid command-line option.
    * main.c (argp): Document the change.

commit 5c7310fd853620627b57c72ddcc3b212f29f6056
Author: Jeremie Koenig <address@hidden>
Date:   Thu Aug 26 23:03:40 2010 +0000

    Add copyright notices
    
    * dircat.c, dircat.h, main.c, main.h, netfs.c, process.c, process.h,
      procfs.c, procfs.h, procfs_dir.c, procfs_dir.h, proclist.c,
      proclist.h, rootdir.c, rootdir.h: Add copyright notices.

commit e25cfb3f3a843122df7e70e97992a97ffe81717a
Author: Jeremie Koenig <address@hidden>
Date:   Wed Aug 25 19:15:35 2010 +0000

    Update the to-do list.
    
    * TODO: Add more entries.

commit 0f3c9c2640ffd76f1d60f16dce6d16c47aac98b4
Author: Jeremie Koenig <address@hidden>
Date:   Wed Aug 25 19:04:24 2010 +0000

    Add some comments in rootdir.c
    
    * rootdir.c: Add page breaks to separate sections and add header
      comments for them.

commit 164db73bb35173f45a7eaba1984c3169cba778e8
Author: Jeremie Koenig <address@hidden>
Date:   Wed Aug 25 12:03:16 2010 +0000

    Add swap information to the top-level stat file
    
    * rootdir.c (rootdir_gc_meminfo): Add swap information.
    * TODO: Update.

commit e1c831a43ac1945db5a52ee6873856b9399dca76
Author: Jeremie Koenig <address@hidden>
Date:   Wed Aug 25 05:47:08 2010 +0000

    Add a PROFILE mode
    
    * Makefile: Change FOOFLAGS defaults to appropriate values when
      $(PROFILE) is defined.
    * rootdir.c: Add an "exit" file, which causes exit to be called
      when looked up, so that profiling data can be written to disk.

commit ca8277c6f507e54a043b84a8df9c55ac39a83c6e
Author: Jeremie Koenig <address@hidden>
Date:   Wed Aug 25 05:46:49 2010 +0000

    Fix leak in error case
    
    * process.c (process_lookup_pid): Fix leak in error case.

commit b3d304167929bc199e6789fd67ffea035e7fdbf1
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 20:43:16 2010 +0000

    Refresh nodes when they're read from the start.
    
    This is necessary for top, for instance, which keeps some files open and
    re-reads them regularly. As an extra bonus we can drop the refresh hack.
    
    * procfs.c, procfs.h: Remove the refresh hack.
      (procfs_refresh): New function, invalidates the cached contents.
    * netfs.c (netfs_attempt_read, netfs_get_dirents): Call
      procfs_refresh when the read is from offset 0.
    * proclist.c (proclist_make_node): Remove the refresh hack.
    * dircat.c (dircat_make_node): Likewise.
      (dircat_get_contents): Use procfs_refresh to avoid keeping old data
      from the component nodes.

commit 7b027a34676880bded1a05a5c47bfa85a6e79092
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 20:21:52 2010 +0000

    Make sure the clock never runs backwards.
    
    * process.c, rootdir.c: When converting timeval structures
      into seconds or jiffies, make sure that floating point rounding errors
      don't make the clock the result jump backwards on second boundaries.

commit 434f79cbfa00c7370724dc25091b5a42bdf8d9e1
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 19:04:48 2010 +0000

    Fix the global idle time
    
    * rootdir.c: Replace INIT_PID by KERNEL_PID, for boot time and
      idle time purposes.  (get_idletime): New function, queries the
      kernel's idle thread.  (rootdir_gc_uptime, rootdir_gc_stat): Use the
      new function and provide the real idle time.

commit 7550343b09a94dc1c659ad74dc75b3b77e7ab0bc
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 16:46:04 2010 +0000

    Cleanup pass on process.c
    
    * process.c: Reorder some of the code.  Improve comments.
      Jiffies and clock tick are the same thing, right?  Replace the stat
      mode and cleanup hacks by more straightforward solutions.

commit f522af65aa004fea09705c74115836c6acd1cddb
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 14:15:54 2010 +0000

    Revamp procfs_dir
    
    * procfs_dir.c, procfs_dir.h: Revamp the interface to make
      the more complicated use cases somewhat less hackish.
    * process.c: Update, specify a default make_node function.
    * rootdir.c: Likewise; make this optional "self" link use case
      somewhat less hackish.

commit 4646c4a3ef6171a0ddec4fcfe0c6aa34b50501cd
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 11:54:10 2010 +0000

    Improve the interface for dircat_make_node
    
    * dircat.c, dircat.h (dircat_make_node): Use an explicit
      array size for DIRS, fail with ENOMEM is any of them is NULL, and
      release the reference on the non-NULL nodes on any error.
    * main.c (root_make_node): Use the new interface.

commit 6e202c432e2f16dfa83a7dc21b759c03623fa394
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 11:33:22 2010 +0000

    Detect asprintf's ENOMEM in procfs.c rather than everywhere
    
    * procfs.h: Make CONTENTS_LEN an ssize_t rather than a size_t,
      and document the change.
    * procfs.c (procfs_get_contents): Initialize CONTENTS_LEN to a
      negative value, and fail with ENOMEM if it's still negative after the
      callback returns.  (everywhere): Update to ssize_t.
    * dircat.c, netfs.c, process.c,
      procfs_dir.c, proclist.c, rootdir.c: Update to
      ssize_t and the new GET_CONTENTS semantics.

commit 0f2bdacd6ad3dbcc905925dee12cb30918c33a11
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 11:24:29 2010 +0000

    Make contents a char* to avoid typecasts all over the place
    
    * procfs.h (procfs_cleanup_contents_with_free,
      procfs_cleanup_contents_with_vm_deallocate, procfs_get_contents,
      struct procfs_ops): Change CONTENTS from a void pointer to a char one.
    * dircat.c, netfs.c, process.c, procfs.c,
      procfs_dir.c, proclist.c, rootdir.c: Update.

commit a269783a41ae8b18e5b24d934c96ce9e90de3067
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 11:02:48 2010 +0000

    Remove the unused procfs_file module
    
    * procfs_file.c, procfs_file.h: Remove.
    * Makefile: Remove procfs_file.

commit 0439361f817c3f610c1f5ec859bd302867472e50
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 11:02:13 2010 +0000

    Fix the handling of processes without an owner
    
    * main.c (argp_parser): New option --anonymous-owner.
    * main.h: Publish it.
    * process.c (process_lookup_pid): Use it to set the file owner
      uid of non-owned processes.

commit 4deaca2ce2c4ed2c5ab53f57a7747c71126a8da7
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 09:06:01 2010 +0000

    Use a global ps_context
    
    * proclist.c, proclist.h (proclist_create_node): Use a
      ps_context passed by the caller; errors are no longer possible, rename
      to proclist_make_node and change the signature accordingly.
    * rootdir.c, rootdir.h (rootdir_create_node): Likewise.
    * main.c (main): Create the ps_context here and pass it to
      root_make_node.  (root_make_node): Pass it to proclist_make_node and
      rootdir_make_node.

commit 4f40fb6fbfa95c51b6abfceffcd0e1ce80824e70
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 09:05:30 2010 +0000

    Add a TODO-list
    
    * TODO: New file.

commit d67e76dbb63e277f0d503224e63e85cc5d91ac11
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 08:25:07 2010 +0000

    netfs_server_loop never returns
    
    * main.c: Don't call netfs_server_loop repeatedly; it should
      never return.

commit 33bfc249fd692910bb1e3f7a5820d31dfda0f284
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 08:24:43 2010 +0000

    Handle errors in main
    
    * main.c (main): Handle errors from argp_parse and
      root_make_node.

commit 25bad336ed7af83bfb78b2a3534fdf223554bfc0
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 07:35:59 2010 +0000

    Add a --compatible option
    
    * main.c (argp_parser): Add --compatible, which sets the options
      required for compatibility with the procps tools.

commit abd1ad000a2861b46df445888365678686e31bcb
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 07:14:45 2010 +0000

    Add a status file to process directories
    
    * process.c: Add a status file.

commit e873ff83afba08ff61a5e98ab90d5ee05ab5c601
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 05:44:37 2010 +0000

    Add statm to process directories
    
    * process.c: Add the statm file.

commit e3707dc9deb28d5144836032a54dbc028247835d
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 05:19:19 2010 +0000

    Add a global cmdline file
    
    * main.c (argp_parser, main): Add the --kernel-pid option.
    * main.h: Publish it.
    * rootdir.c (rootdir_gc_cmdline): New function.

commit 0ef322973a8b9dc9c0f5ba8155ad780016f3654f
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 00:52:24 2010 +0000

    Add meminfo and vmstat
    
    * rootdir.c: Add a (non-empty) meminfo and a vmstat file.

commit 4665f087fde174a9de3e1c3f3de090dd4bfa85e0
Author: Jeremie Koenig <address@hidden>
Date:   Sun Aug 22 21:23:36 2010 +0000

    Add a fake-self option to control the self symlink
    
    * main.c (argp_parse, main): Add the --fake-self option.
    * main.h: Publish it.
    * rootdir.c (rootdir_gc_fakeself, rootdir_entries,
      rootdir_create_node): Use it.

commit 5714e1cef2584410a7823c7ead9d2435141fb0c4
Author: Jeremie Koenig <address@hidden>
Date:   Sun Aug 22 20:46:54 2010 +0000

    Add --stat-mode to override the perms for [pid]/stat
    
    * main.c (argp_parser, main): Add the --stat-mode option.
    * process.c (process_lookup_pid): Use it.

commit b3427143ae8dc628cb3748da7618700c6bd7ac9e
Author: Jeremie Koenig <address@hidden>
Date:   Sun Aug 22 20:17:54 2010 +0000

    Add --clk-tck to set the clock unit
    
    * main.c (argp_parser, main): Add and parse the --clk-tck option.
    * main.h: Publish opt_clk_tck.
    * process.c (sc_tc): Use the user-provided clock frequency.
    * rootdir.c (rootdir_gc_stat): Likewise.

commit f9ddb679942b6f4309d05b5462fe5cbb3d0a2beb
Author: Jeremie Koenig <address@hidden>
Date:   Sun Aug 22 19:33:43 2010 +0000

    Play nice with the procps old_Hertz_hack
    
    * rootdir.c (rootdir_gc_uptime, rootdir_gc_stat): assume a
      completely idle rather than completely busy system, so that the idle
      seconds can be meaningfully divided by the idle jiffies by procps.

commit c68fc8b783804e093551d93cc1b8c10964cdaaeb
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 00:55:29 2010 +0000

    Add an empty meminfo root file
    
    * rootdir.c: Add "meminfo", empty for now.

commit aa3bac054364aa2d3614ded28df4980639184319
Author: Jeremie Koenig <address@hidden>
Date:   Mon Aug 23 00:55:11 2010 +0000

    Add a fake "self" symlink
    
    * rootdir.c: Add a fake "self" symlink which always points to
      init.

commit efb8515465dcb03526a35bf87b549cac97bbab8c
Author: Jeremie Koenig <address@hidden>
Date:   Sat Aug 21 19:18:59 2010 +0000

    Add loadavg
    
    * rootdir.c: Add the root file "loadavg".

commit 2717c43bca6f920c4d3b0909c33bf3c1f76a70a9
Author: Jeremie Koenig <address@hidden>
Date:   Sat Aug 21 18:08:17 2010 +0000

    New root files: version, uptime, stat
    
    * rootdir.c, rootdir.h: New files.
    * main.c: Use rootdir_create_node.
    * Makefile: Add the rootdir module.

commit 80e439d146f661c416b7f42c4180b16aae7ac2f7
Author: Jeremie Koenig <address@hidden>
Date:   Sat Aug 21 18:06:16 2010 +0000

    Set a restrictive mode on some sensitive files
    
    * process.c (process_file_make_node, entries): Set the environ
      and stat files as readable only by the owner of the process.

commit 75f53efdc66be8c6ffac31bd17a309f9065e273c
Author: Jeremie Koenig <address@hidden>
Date:   Sat Aug 21 11:21:59 2010 +0000

    Encapsulate access to node->nn_stat
    
    * procfs.c, procfs.h (procfs_node_chown,
      procfs_node_chmod, procfs_node_chtype): New functions, encapsulate
      access to some nn_stat fields.
    * process.c (process_lookup_pid): Use procfs_node_chown instead
      of direct access.

commit a45606d0036565c468b462a207575bf2b4077fd8
Author: Jeremie Koenig <address@hidden>
Date:   Sat Aug 21 11:09:36 2010 +0000

    Implement symlinks
    
    * netfs.c (netfs_validate_stat): For symlinks, fetch the contents
      and propagate their length into the nn_stat.st_size field.
      (netfs_attempt_readlink): Implement using procfs_get_contents.

commit 1f1661d6a5b6f22acb48460b5304e29af2a0a554
Author: Jeremie Koenig <address@hidden>
Date:   Sat Aug 21 09:26:09 2010 +0000

    Use libps and enhance [pid]/stat
    
    * Makefile: Add libps to the $(LIBS).
    * proclist.c, proclist.h: Embed the proc server port in a
      ps_context structure. (proclist_make_node): Change to prototype to
      allow for the possibility of error.  Rename to proclist_create_node to
      reflect the change and non-triviality.
    * process.c, process.h: Revamp.  Use a full-blown procstat
      structure instead of just the procinfo fetched from the process
      server.  Use the additional data to complement [pid]/stat.
      (process_lookup_pid): Get a ps_context structure instead of a port to
      the process server.
    * main.c (root_make_node): Convert to the new interface for
      proclist_create_node.

commit 086569ee636d91a820aa23031dda3cb74bab9505
Author: Jeremie Koenig <address@hidden>
Date:   Sat Aug 21 09:25:27 2010 +0000

    Handle the ref counter spinlock on cleanup
    
    * netfs.c (netfs_node_norefs): Handle the reference counters
      spinlock so as to avoid deadlocking on reentry.

commit 2c7dcef74c3259d2d5db7a11f5c77d18d3a51e85
Author: Jeremie Koenig <address@hidden>
Date:   Thu Aug 19 23:10:11 2010 +0000

    Invent path-based inode numbers
    
    * procfs.h, procfs.c (procfs_make_ino): New function,
      invents an inode number by hashing the parent's and the name of an
      entry.  (procfs_lookup): Use it to assign an inode number to child
      nodes at lookup time.
    * main.c (root_make_node): Assign an arbitrary inode number to
      the root directory.

commit c6c770c33eb0f23e7e8e04976c711653cdf1a41d
Author: Jeremie Koenig <address@hidden>
Date:   Thu Aug 19 07:48:30 2010 +0000

    Implement lookup for . and ..
    
    * procfs.c (procfs_lookup): Keep track of the parent directory,
      implement the lookup of the dot-directories.  (procfs_cleanup):
      Release the reference to the parent node, if applicable.
    * procfs.h: Add a comment about the parent reference.
    * netfs.c (netfs_attempt_lookup): Lock the looked up node after
      the directory has been unlocked, in case they are the same.

commit 4ac169deaa1eb4c8df4a49fc940700971fa5863a
Author: Jeremie Koenig <address@hidden>
Date:   Thu Aug 19 04:52:17 2010 +0000

    Add the dot entries to directories
    
    * procfs_dir.c (procfs_dir_get_contents): Prepend the . and ..
      entries to the ones from the given table.

commit 97e598086b37583585b455d2b804b6e49d97ea85
Author: Jeremie Koenig <address@hidden>
Date:   Thu Aug 19 03:12:27 2010 +0000

    Add a basic [pid]/stat file
    
    * process.c: Add a basic stat file.

commit ef370b0967024ced9296ff2028abc1b154c0a951
Author: Jeremie Koenig <address@hidden>
Date:   Wed Aug 18 21:06:08 2010 +0000

    Set the owner of process directories.
    
    * process.c (process_make_node): Use the owner_uid from the
      procinfo structure to set the owner of the created directory.

commit 56d301e212ac1964223cff8ef9c34889cb1a6e75
Author: Jeremie Koenig <address@hidden>
Date:   Wed Aug 18 20:44:54 2010 +0000

    Fuse the proclist into the root node
    
    * dircat.c, dircat.h: New files, merge directories.
    * Makefile: Add the dircat module.
    * main.c: Use dircat to merge the proclist into the root
      directory, instead of having it as a stand-alone one.
    * procfs.h, procfs.c: Add a "refresh hack" to have the
      contents of the root directory recreated on each request.
    * proclist.c (proclist_make_node): Enable the hack in question.

commit 2fb5b93b4cd56fd68b525371ba63b0933b61d03a
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 22:20:32 2010 +0000

    Fetch process information and reject the non-existing ones
    
    * process.c, process.h (process_make_node): Make static,
      include a procinfo structure into the node information.
      (process_lookup_pid): New function, replaces process_make_node as the
      outer interface, returns an error for non-existing processes.
    * proclist.c (proclist_lookup): Convert to the new interface.

commit c62d5ff73ceaad21bb0784ed6098d307a625b10d
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 20:34:58 2010 +0000

    Add real process nodes
    
    * process.c, process.h: New files, implement a process
      directory with cmdline and environ files.
    * Makefile: Add the process module.
    * proclist.c: Replace stub pid files with the real thing.

commit ba139824fa06a97f2a3b1cc4c6085d10a83ec2b9
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 17:27:54 2010 +0000

    More cleanup possibilities
    
    * procfs.c, procfs.h: Extend the signature of the
      cleanup_contents callback in the procfs_node_ops structure to include
      the hook and contents_len.  (cleanup_contents_with_free,
      cleanup_contents_with_vm_deallocate): New functions, can be used as
      a cleanup_contents callback for simple cases.
    * procfs_dir.c, procfs_dir.h (procfs_dir_make_node):
      Update, add a cleanup callback, make sure the cleanup callback is
      invoked if there is an error.
    * proclist.c (proclist_make_node), main.c (main): Update to match
      the new interfaces.

commit ac75e3648e6a9c3a8cf45d5fa491abd3a3ab3613
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 16:48:55 2010 +0000

    Fix the failure semantics of procfs_make_node
    
    * procfs.c (procfs_make_node): Invoke the cleanup callback on
      failure, so that callers don't have to.
    * procfs.h: Document the change.
    * procfs_dir.c (procfs_dir_make_node), procfs_file.c
      (procfs_file_make_node), proclist.c (proclist_make_node):
      Update to reflect the change.

commit 3907bbbcfb806799a5349e46a2b804307a0e9836
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 12:49:33 2010 +0000

    Add the list of processes as a directory
    
    * proclist.h, proclist.c: New files.
    * main.c: Add a proclist directory based on them.
    * Makefile: Include the proclist module.

commit 56ba0ac1e3a3f32763060ab862a6f0054c8a50bf
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 10:26:12 2010 +0000

    Implement simple directories
    
    * procfs_dir.h: New file; declare the procfs_dir_make_node
      function, based on the procfs_dir_entry structure.
    * procfs_dir.c: New file; implement simple directories.
    * Makefile: Add the procfs_dir module.
    * main.c: Use it.

commit 0a4c7a1ca8bff458eb11322d2c94ec9ffd832524
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 10:10:22 2010 +0000

    Add a helper module for simple regular files
    
    * procfs_file.h: New file, declares procfs_file_make_node.
    * procfs_file.c: New file, implements procfs_file_make_node.
    * main.c: Use them.
    * Makefile: Add the procfs_file module.

commit d938e96e59a41d5eaa11040513815b757e58eb0c
Author: Jeremie Koenig <address@hidden>
Date:   Tue Aug 17 09:43:29 2010 +0000

    Basic infrastructure
    
    * procfs.h: New file; basic interfaces for procfs nodes.
    * procfs.c: New file; implement the basic infrastructure.
    * netfs.c: New file; bridge libnetfs and the procfs interfaces.
    * main.c: New file; mostly a "Hello, World!" for now.
    * Makefile: New file; standalone for now.

-----------------------------------------------------------------------

-- 
Debian GNU Hurd packaging



reply via email to

[Prev in Thread] Current Thread [Next in Thread]