[Yaffs] [YAFFS] NFS export with YAFFS2

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Jean-Loup Sabatier
Date:  
To: yaffs
Old-Topics: Re: [Yaffs] Run yaffs as a linux application
Subject: [Yaffs] [YAFFS] NFS export with YAFFS2
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