summaryrefslogtreecommitdiffstats
path: root/fs/exofs/dir.c
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2009-03-22 11:47:26 +0100
committerBoaz Harrosh <bharrosh@panasas.com>2009-03-31 18:44:36 +0200
commit8cf74b3936f5c65975b68333727f0540ec8350f4 (patch)
tree99eda92b32dc7869d6f3a28215f5b854675db6b1 /fs/exofs/dir.c
parentexofs: super_operations and file_system_type (diff)
downloadlinux-8cf74b3936f5c65975b68333727f0540ec8350f4.tar.xz
linux-8cf74b3936f5c65975b68333727f0540ec8350f4.zip
exofs: export_operations
implement export_operations and set in superblock. It is now posible to export exofs via nfs Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Diffstat (limited to 'fs/exofs/dir.c')
-rw-r--r--fs/exofs/dir.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/exofs/dir.c b/fs/exofs/dir.c
index 6865605fb6ab..65b0c8c776a1 100644
--- a/fs/exofs/dir.c
+++ b/fs/exofs/dir.c
@@ -381,6 +381,21 @@ struct exofs_dir_entry *exofs_dotdot(struct inode *dir, struct page **p)
return de;
}
+ino_t exofs_parent_ino(struct dentry *child)
+{
+ struct page *page;
+ struct exofs_dir_entry *de;
+ ino_t ino;
+
+ de = exofs_dotdot(child->d_inode, &page);
+ if (!de)
+ return 0;
+
+ ino = le64_to_cpu(de->inode_no);
+ exofs_put_page(page);
+ return ino;
+}
+
ino_t exofs_inode_by_name(struct inode *dir, struct dentry *dentry)
{
ino_t res = 0;