forked from Imagelibrary/rtems
JFFS2: Add device identifier for the flash device
It is used in combination with the inode number to uniquely identify a file system node in the system.
This commit is contained in:
@@ -118,7 +118,8 @@ typedef struct rtems_jffs2_flash_control rtems_jffs2_flash_control;
|
||||
* .flash_size = FLASH_SIZE,
|
||||
* .read = flash_read,
|
||||
* .write = flash_write,
|
||||
* .erase = flash_erase
|
||||
* .erase = flash_erase,
|
||||
* .device_identifier = 0xc01dc0fe
|
||||
* }
|
||||
* };
|
||||
*
|
||||
@@ -265,6 +266,14 @@ struct rtems_jffs2_flash_control {
|
||||
* This operation is optional and the pointer may be @c NULL.
|
||||
*/
|
||||
rtems_jffs2_flash_destroy destroy;
|
||||
|
||||
/**
|
||||
* @brief The device identifier of the flash device.
|
||||
*
|
||||
* It is used in combination with the inode number to uniquely identify a
|
||||
* file system node in the system.
|
||||
*/
|
||||
dev_t device_identifier;
|
||||
};
|
||||
|
||||
typedef struct rtems_jffs2_compressor_control rtems_jffs2_compressor_control;
|
||||
|
||||
@@ -405,9 +405,12 @@ static int rtems_jffs2_fstat(
|
||||
)
|
||||
{
|
||||
struct _inode *inode = rtems_jffs2_get_inode_by_location(loc);
|
||||
struct super_block *sb = inode->i_sb;
|
||||
rtems_jffs2_flash_control *fc = sb->s_flash_control;
|
||||
|
||||
rtems_jffs2_do_lock(inode->i_sb);
|
||||
rtems_jffs2_do_lock(sb);
|
||||
|
||||
buf->st_dev = fc->device_identifier;
|
||||
buf->st_blksize = PAGE_SIZE;
|
||||
buf->st_mode = inode->i_mode;
|
||||
buf->st_ino = inode->i_ino;
|
||||
@@ -419,7 +422,7 @@ static int rtems_jffs2_fstat(
|
||||
buf->st_mtime = inode->i_mtime;
|
||||
buf->st_ctime = inode->i_ctime;
|
||||
|
||||
rtems_jffs2_do_unlock(inode->i_sb);
|
||||
rtems_jffs2_do_unlock(sb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user