장치이름으로 mount된 경로 찾기

wputer의 이미지

char *getMntDIR(char *fsname) {
	FILE *s_mount_table;
	struct mntent *s_mount_entry;
	s_mount_table = setmntent("/proc/mounts", "r");
	if(s_mount_table != ((FILE *)0)) {
		do {
			s_mount_entry = getmntent(s_mount_table);
 
 
			if(s_mount_entry == NULL) break;
 
			if(strncmp(s_mount_entry->mnt_fsname, fsname, strlen(fsname)) == 0) {
				return s_mount_entry->mnt_dir;
 
			}
 
		} while(1);
	}
	free(s_mount_entry);
	fclose(s_mount_table);
	return (char*)NULL;
}

더 효율적인 방법이 있을까요?