Good morning, all,
I'd need some advice and information about a problem I've got with NFS
and YAFFS2...
We are trying to export a YAFFS2 partition through an NFS export...
When you try to do so with a standard YAFFS2 on a Linux version greater
than 2.6, you get the following error message:
"exp_export: export of invalid fs type."
To allow the NFS export, with Linux 2.6.16, you only had to make 2 minor
changes in yaffs_fs.c :
1) Add an empty struct :
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,9))
/* Just declare a zero structure as a NULL value implies
* using the default functions of expfs.
*/
static struct export_operations yaffs_export_ops ;
#endif
2) And to make sure that the superblock points at it by adding a line
into "yaffs_internal_read_super"
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,9))
sb->s_export_op = &yaffs_export_ops;
#endif
However, on a kernel 2.6.25, it gets tricky: We need to define 3
callback functions in the struct export_operations:
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,9))
/* Just declare a zero structure as a NULL value implies
* using the default functions of expfs.
*/
static struct export_operations yaffs_export_ops =
{
.fh_to_dentry = yaffs2_fh_to_dentry,
.fh_to_parent = yaffs2_fh_to_parent,
.get_parent = yaffs2_get_parent
} ;
#endif
The generic implementation of the callback functions (.fh_to_dentry,
.fh_to_parent, .get_parent) does not work.
Anyone has an idea about how to implement these functions?
Thank you very much for your reading and thanks in advance for your
advices,
Regards,
Jean-Loup Sabatier