spero che tu possa aiutarmi: Sto provando a determinare se il dispositivo è rimovibile o meno, tutto quello che ho è il nome del dispositivo (/ dev/sdc). In realtà, ho bisogno di determinare quando il file su supporto rimovibile o su disco locale per il percorso completo di questo file.get device flag per nome dispositivo
Ho provato a cercare nel current-> fs-> pwd e tutto quello che ho potuto trovare è un insieme di bandiere qui: * current-> fs-> pwd.mnt-> mnt_sb- > s_bdev-> bd_disk-> bandiere * dove insieme GENHD_FL_REMOVABLE per i dispositivi rimovibili
ma ottengo sempre gli stessi flag impostati (se ho capito, s_bdev punta sempre allo stesso dispositivo (/ dev/sda)).
Così ora ho il nome del dispositivo (/ dev/sdc) che contiene il mio file analizzando mtab, ma non riesco ancora a scoprirlo, rimuovendolo o meno.
C'è un modo per ottenere la struttura block_device in base al nome del dispositivo? (per esempio, "file" struttura possono essere ottenuti chiamando fd = open ("nome") fl = fged (fd) in cui i punti fl a "file" struttura)
Grazie, sembra che risolva il mio problema – Makc
Quindi, usando in questo modo, come posso determinare quale dei dispositivi a blocchi contiene il mio file aperto se ho solo percorso completo per questo file. – Makc
@Makc: Penso che tu possa usare 'vfs_stat', ti darà' struct kstat' in cui potrai confrontare 'dev_t' con il dispositivo a blocchi. – Hasturkun