From 6dc058bd126ba2f631e38233d899f58a04e0c74f Mon Sep 17 00:00:00 2001 From: Renzo Davoli Date: Sat, 10 Jul 2010 15:32:46 +0200 Subject: [PATCH] libext2fs: Add new function ext2fs_file_get_inode() This patch adds a very simple function: struct ext2_inode *ext2fs_file_get_inode(ext2_file_t file); which is useful for fuse-ext2 when it needs to read the inode of an open file. Signed-off-by: renzo davoli Signed-off-by: Theodore Ts'o --- lib/ext2fs/ext2fs.h | 1 + lib/ext2fs/fileio.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h index f3531c0..96dc54b 100644 --- a/lib/ext2fs/ext2fs.h +++ b/lib/ext2fs/ext2fs.h @@ -1014,6 +1014,7 @@ extern errcode_t ext2fs_file_open2(ext2_filsys fs, ext2_ino_t ino, extern errcode_t ext2fs_file_open(ext2_filsys fs, ext2_ino_t ino, int flags, ext2_file_t *ret); extern ext2_filsys ext2fs_file_get_fs(ext2_file_t file); +struct ext2_inode *ext2fs_file_get_inode(ext2_file_t file); extern errcode_t ext2fs_file_close(ext2_file_t file); extern errcode_t ext2fs_file_flush(ext2_file_t file); extern errcode_t ext2fs_file_read(ext2_file_t file, void *buf, diff --git a/lib/ext2fs/fileio.c b/lib/ext2fs/fileio.c index 2a80d16..f3a4d70 100644 --- a/lib/ext2fs/fileio.c +++ b/lib/ext2fs/fileio.c @@ -96,6 +96,16 @@ ext2_filsys ext2fs_file_get_fs(ext2_file_t file) } /* + * This function returns the pointer to the inode of a file from the structure + */ +struct ext2_inode *ext2fs_file_get_inode(ext2_file_t file) +{ + if (file->magic != EXT2_ET_MAGIC_EXT2_FILE) + return NULL; + return &file->inode; +} + +/* * This function flushes the dirty block buffer out to disk if * necessary. */ -- 1.8.3.1