Attualmente sto cercando di ottenere un inode per un dato pathname in una funzione del kernel. Tutto quello che ho a disposizione è il percorso completo. Ho provato i tentativi come:Ottenere inode dal percorso in Linux Kernel
user_path_at(AT_FDCWD, buffer, LOOKUP_FOLLOW, &path);
Ma la dentatura in quel percorso dato non è valida, sembra risultare. Poi ho pensato di provare a stat() e ottenere il numero di inode da quello. Tuttavia, questo mi dà solo un numero, non un inode di struct. Non conosco un modo per convertire un numero di inode in un inode senza prendere un inode esistente e attraversare l'intero elenco di inode. E non so nemmeno se funzionerebbe. Ma certamente non voglio farlo.
C'è un modo semplice per ottenere un inode di struct da un percorso di char * nel kernel?
Mi ha appena colpito (dopo circa 3 ore) che stat() sarà sufficiente per le mie esigenze, poiché ho solo bisogno delle informazioni. Sono diventato così deciso a ottenere l'inode che ho parzialmente perso la vista del mio obiettivo. E lo sto facendo all'interno del kernel. Quindi, eseguire stat() non è in realtà ottimale, ma lo farà. –
Il collegamento è morto. Ecco perché le risposte solo per link sono cattive. – MSalters