summaryrefslogtreecommitdiff
path: root/fs/exofs/dir.c
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2009-03-22 12:47:26 +0200
committerBoaz Harrosh <bharrosh@panasas.com>2009-03-31 19:44:36 +0300
commit8cf74b3936f5c65975b68333727f0540ec8350f4 (patch)
tree99eda92b32dc7869d6f3a28215f5b854675db6b1 /fs/exofs/dir.c
parentba9e5e98ca2f808fe92b103a8e6ce5271b10cc89 (diff)
downloadlinux-3.10-8cf74b3936f5c65975b68333727f0540ec8350f4.tar.gz
linux-3.10-8cf74b3936f5c65975b68333727f0540ec8350f4.tar.bz2
linux-3.10-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 6865605fb6a..65b0c8c776a 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;