Skip to content

Instantly share code, notes, and snippets.

Problem chain

  1. When an NFS client mounts a FUSE-backed export, the NFS server tells the client whether the filesystem supports user xattrs.
  2. The server does this by calling xattr_supports_user_prefix() in xattr.c, which loops over the superblock's xattr handlers looking for one whose prefix starts with "user.".
  3. FUSE registers a single catch-all handler with .prefix = "" (empty string) in xattr.c. This handler delegates everything to userspace — it handles all namespaces, including user.*.
  4. But strncmp("", "user.", 5) doesn't match, so xattr_supports_user_prefix() returns -EOPNOTSUPP.
  5. The NFS server encodes Xattr_support = 0 in nfsd4_encode_fattr4_xattr_support() (nfs4xdr.c), and the NFS client disables all xattr operations.

The fix (fs/xattr.c)

@Jotschi
Jotschi / init
Created October 18, 2023 15:52
Fluxbox Theme
session.screen0.iconbar.iconTextPadding: 10
session.screen0.iconbar.wheelMode: Screen
session.screen0.iconbar.iconWidth: 70
session.screen0.iconbar.alignment: Right
session.screen0.iconbar.deiconifyMode: Follow
session.screen0.iconbar.mode: {static groups} (workspace)
session.screen0.iconbar.usePixmap: false
session.screen0.window.focus.alpha: 255
session.screen0.window.unfocus.alpha: 255
session.screen0.overlay.lineWidth: 1
@Jotschi
Jotschi / seitan.md
Last active September 11, 2023 11:48
Seitan Rezept

Zutaten

  • 250g Seitan
  • 25g - 50g Hefeflocken
  • 25g - 50g Haferflocken (grob gemahlen)
  • 1 Priese Salz
  • 2EL Gewürze oder flüssig Marinade

Optional

@Jotschi
Jotschi / LoraSDXL_TVA_40.json
Created July 30, 2023 22:38
TVA LyCORIS/LoKr config for kohya_ss
{
"LoRA_type": "LyCORIS/LoKr",
"adaptive_noise_scale": 0,
"additional_parameters": "",
"block_alphas": "",
"block_dims": "",
"block_lr_zero_threshold": "",
"bucket_no_upscale": true,
"bucket_reso_steps": 64,
"cache_latents": true,
@Jotschi
Jotschi / KnnVectorQueryTest.java
Created January 6, 2022 15:25
KnnVectorQueryTest
package io.metaloom.video4j.lucene;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.commons.io.FileUtils;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.KnnVectorField;
@Jotschi
Jotschi / HnswGraphTest.java
Last active January 2, 2022 04:40
HnswGraphTest - Working
package io.metaloom.video4j.lucene;
import static org.apache.lucene.search.DocIdSetIterator.NO_MORE_DOCS;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
@Jotschi
Jotschi / HnswGraphTest.java
Created December 25, 2021 03:17
HnswGraphTest
package io.metaloom.video4j.lucene;
import static org.apache.lucene.search.DocIdSetIterator.NO_MORE_DOCS;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
@Jotschi
Jotschi / th10-ota.c
Created October 16, 2021 15:07
Sonoff TH10 + AM2301 Sensor OTA Sketch
#include <DHT.h>
#include <DHT_U.h>
#include <ArduinoOTA.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <HampelFilter.h>
const char *ssid = "*********";
const char *password = "********";
@Jotschi
Jotschi / esp-scale.ino
Created July 14, 2020 21:33
ESP8266 Scale
#include <ESP8266WiFi.h>
#include "HX711.h"
#include <ShiftedLCD.h>
#include <SPI.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <ESP8266HTTPClient.h>
#include <WiFiClientSecureBearSSL.h>
#include <HampelFilter.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char* ssid = "SSID";
const char* password = "PW";
const int BUTTON_PIN = 0;
const int FART_PIN = 14;
byte mac[6];