@ai-ecoverse/slicc-kernel 1.176.0 → 1.176.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1279,7 +1279,7 @@ In a browser every process worker of the page shares one renderer. V8 reserves a
1279
1279
  - **Below a learned ceiling,** a process that still runs out of memory is started again once another process exits, and the spawn fails with `EAGAIN` after 10 s with none.
1280
1280
  - **`/proc/sys/kernel/slicc_wasm_memories`** reads `<live> <ceiling> <source>`. The source is `default`, `learned`, or `none` (with the ceiling 0).
1281
1281
 
1282
- `/proc/sys/kernel/slicc_shared_root` reads `1` while another kernel shares the root (a tab, or a second kernel in the page) and `0` otherwise. A peer whose kernel ends (its tab closes or reloads) stops counting at once: each kernel queues a request for every peer's alive Web Lock, and the grant tells it the peer has gone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_fs_calls` reads the number of path calls (lookups, stats, opens, creates, removals and the like) the kernel has served its programs since it started. `/proc/sys/kernel/slicc_opfs_calls` counts the OPFS calls the kernel has made to look names up and read stats (`getFile`, `getFileHandle`, `getDirectoryHandle`, `resolve`). `/proc/sys/kernel/slicc_opfs_ops` counts every request the root file system makes of OPFS: those lookups, plus creates, writes (one per write, truncate or write session), reads, listings, renames and removals ([#1017](https://github.com/ai-ecoverse/slicc-kernel/issues/1017)). `/proc/sys/kernel/slicc_meta_transactions` reads two numbers: the read and the write transactions the kernel has opened on its metadata database (IndexedDB) since it started; it reads `0 0` with `metadata: false`. With an idle peer, a tar unpack makes at most 1.5 times the calls it makes alone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_cwd_checks` counts the times a process asked the kernel whether its [working directory](#the-working-directory) is still the one it holds.
1282
+ `/proc/sys/kernel/slicc_shared_root` reads `1` while another kernel shares the root (a tab, or a second kernel in the page) and `0` otherwise. A peer whose kernel ends (its tab closes or reloads) stops counting at once: each kernel queues a request for every peer's alive Web Lock, and the grant tells it the peer has gone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_fs_calls` reads the number of path calls (lookups, stats, opens, creates, removals and the like) the kernel has served its programs since it started. `/proc/sys/kernel/slicc_opfs_calls` counts the OPFS calls the kernel has made to look names up and read stats (`getFile`, `getFileHandle`, `getDirectoryHandle`, `resolve`). `/proc/sys/kernel/slicc_opfs_ops` counts every request the root file system makes of OPFS: those lookups, plus creates, writes (one per write, truncate or write session), reads, listings, renames and removals ([#1017](https://github.com/ai-ecoverse/slicc-kernel/issues/1017)). `/proc/sys/kernel/slicc_create_parent_refresh` counts the times a create (mkdir, `O_CREAT` or symlink) got `ENOENT` for a parent that was only a cached miss, listed the directory above that parent once and retried. `/proc/sys/kernel/slicc_meta_transactions` reads two numbers: the read and the write transactions the kernel has opened on its metadata database (IndexedDB) since it started; it reads `0 0` with `metadata: false`. With an idle peer, a tar unpack makes at most 1.5 times the calls it makes alone ([#984](https://github.com/ai-ecoverse/slicc-kernel/issues/984)). `/proc/sys/kernel/slicc_cwd_checks` counts the times a process asked the kernel whether its [working directory](#the-working-directory) is still the one it holds.
1283
1283
 
1284
1284
  ### Metadata
1285
1285
 
@@ -3094,7 +3094,7 @@ var OpfsFs = class {
3094
3094
  }
3095
3095
  async mkdirExcl(path, owner) {
3096
3096
  if (normalizePath(path) === "/") throw fsError("EEXIST", path);
3097
- const parent = await this.locate(parentOf4(path), true);
3097
+ const parent = await this.exactly(() => this.locate(parentOf4(path), true));
3098
3098
  if (parent.handle?.kind !== "directory") throw fsError("ENOTDIR", path);
3099
3099
  const dir = parent.handle;
3100
3100
  const name2 = baseOf(path);
@@ -3116,7 +3116,7 @@ var OpfsFs = class {
3116
3116
  }
3117
3117
  async createExclusive(path, owner) {
3118
3118
  if (normalizePath(path) === "/") throw fsError("EEXIST", path);
3119
- const parent = await this.locate(parentOf4(path), true);
3119
+ const parent = await this.exactly(() => this.locate(parentOf4(path), true));
3120
3120
  if (parent.handle?.kind !== "directory") throw fsError("ENOTDIR", path);
3121
3121
  const dir = parent.handle;
3122
3122
  const name2 = baseOf(path);
@@ -3865,7 +3865,7 @@ var OpfsFs = class {
3865
3865
  }
3866
3866
  }
3867
3867
  async symlink(target, path, owner) {
3868
- const parent = await this.locate(parentOf4(path), true);
3868
+ const parent = await this.exactly(() => this.locate(parentOf4(path), true));
3869
3869
  if (parent.handle?.kind !== "directory") throw fsError("ENOTDIR", path);
3870
3870
  const at = resolvePath(parent.path, baseOf(path));
3871
3871
  this.refuse(at);
@@ -8767,7 +8767,7 @@ function satisfies(version, range2) {
8767
8767
  }
8768
8768
 
8769
8769
  // src/version.ts
8770
- var KERNEL_VERSION = true ? "1.176.0" : "0.0.0-dev";
8770
+ var KERNEL_VERSION = true ? "1.176.1" : "0.0.0-dev";
8771
8771
  var OS_RELEASE = "6.0.0-slicc";
8772
8772
  function procVersion() {
8773
8773
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -16811,6 +16811,10 @@ var lengthOf = getter("length");
16811
16811
 
16812
16812
  // src/realm/live-vfs-fs.ts
16813
16813
  var EARLY_WHOLE_FILE = 64 * 1024;
16814
+ var createParentRefresh = 0;
16815
+ function createParentRefreshCount() {
16816
+ return createParentRefresh;
16817
+ }
16814
16818
 
16815
16819
  // src/process/process-fds.ts
16816
16820
  var REFUSED = /* @__PURE__ */ new Set([wasiErrno("EACCES"), wasiErrno("EPERM")]);
@@ -16853,6 +16857,8 @@ var SYS_TREE = {
16853
16857
  slicc_opfs_calls: (listing) => `${listing.opfsCalls ?? 0}
16854
16858
  `,
16855
16859
  slicc_opfs_ops: (listing) => `${listing.opfsOps ?? 0}
16860
+ `,
16861
+ slicc_create_parent_refresh: (_listing) => `${createParentRefreshCount()}
16856
16862
  `,
16857
16863
  slicc_meta_transactions: ({ meta }) => `${meta?.reads ?? 0} ${meta?.writes ?? 0}
16858
16864
  `,