linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1 linux-next] befs: make export work with cold dcache
@ 2017-03-28 18:16 Fabian Frederick
  2017-03-28 19:35 ` Luis de Bethencourt
  2017-03-29 12:15 ` Luis de Bethencourt
  0 siblings, 2 replies; 3+ messages in thread
From: Fabian Frederick @ 2017-03-28 18:16 UTC (permalink / raw)
  To: Luis de Bethencourt; +Cc: Salah Triki, Alexander Viro, linux-kernel, fabf

based on commit b3b42c0deaa1
("fs/affs: make export work with cold dcache")

This adds get_parent function so that nfs client can still work after
cache drop (Tested on NFS v4 with echo 3 > /proc/sys/vm/drop_caches)

Signed-off-by: Fabian Frederick <fabf@skynet.be>
---
 fs/befs/linuxvfs.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
index c500e95..63e7c47 100644
--- a/fs/befs/linuxvfs.c
+++ b/fs/befs/linuxvfs.c
@@ -58,6 +58,7 @@ static struct dentry *befs_fh_to_dentry(struct super_block *sb,
 				struct fid *fid, int fh_len, int fh_type);
 static struct dentry *befs_fh_to_parent(struct super_block *sb,
 				struct fid *fid, int fh_len, int fh_type);
+static struct dentry *befs_get_parent(struct dentry *child);
 
 static const struct super_operations befs_sops = {
 	.alloc_inode	= befs_alloc_inode,	/* allocate a new inode */
@@ -93,6 +94,7 @@ static const struct address_space_operations befs_symlink_aops = {
 static const struct export_operations befs_export_operations = {
 	.fh_to_dentry	= befs_fh_to_dentry,
 	.fh_to_parent	= befs_fh_to_parent,
+	.get_parent	= befs_get_parent,
 };
 
 /*
@@ -667,6 +669,19 @@ static struct dentry *befs_fh_to_parent(struct super_block *sb,
 				    befs_nfs_get_inode);
 }
 
+static struct dentry *befs_get_parent(struct dentry *child)
+{
+	struct inode *parent;
+	struct befs_inode_info *befs_ino = BEFS_I(d_inode(child));
+
+	parent = befs_iget(child->d_sb,
+			   (unsigned long)befs_ino->i_parent.start);
+	if (IS_ERR(parent))
+		return ERR_CAST(parent);
+
+	return d_obtain_alias(parent);
+}
+
 enum {
 	Opt_uid, Opt_gid, Opt_charset, Opt_debug, Opt_err,
 };
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1 linux-next] befs: make export work with cold dcache
  2017-03-28 18:16 [PATCH 1/1 linux-next] befs: make export work with cold dcache Fabian Frederick
@ 2017-03-28 19:35 ` Luis de Bethencourt
  2017-03-29 12:15 ` Luis de Bethencourt
  1 sibling, 0 replies; 3+ messages in thread
From: Luis de Bethencourt @ 2017-03-28 19:35 UTC (permalink / raw)
  To: Fabian Frederick; +Cc: Salah Triki, Alexander Viro, linux-kernel

On 28/03/17 19:16, Fabian Frederick wrote:
> based on commit b3b42c0deaa1
> ("fs/affs: make export work with cold dcache")
> 
> This adds get_parent function so that nfs client can still work after
> cache drop (Tested on NFS v4 with echo 3 > /proc/sys/vm/drop_caches)
> 
> Signed-off-by: Fabian Frederick <fabf@skynet.be>
> ---

Cool!

I wrote something similar to this and then didn't got around to do
proper testing of it.

Will test your patch tomorrow and merge it if it is all good.

Thanks Fabian,
Luis

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1 linux-next] befs: make export work with cold dcache
  2017-03-28 18:16 [PATCH 1/1 linux-next] befs: make export work with cold dcache Fabian Frederick
  2017-03-28 19:35 ` Luis de Bethencourt
@ 2017-03-29 12:15 ` Luis de Bethencourt
  1 sibling, 0 replies; 3+ messages in thread
From: Luis de Bethencourt @ 2017-03-29 12:15 UTC (permalink / raw)
  To: Fabian Frederick; +Cc: Salah Triki, Alexander Viro, linux-kernel

On 28/03/17 19:16, Fabian Frederick wrote:
> based on commit b3b42c0deaa1
> ("fs/affs: make export work with cold dcache")
> 
> This adds get_parent function so that nfs client can still work after
> cache drop (Tested on NFS v4 with echo 3 > /proc/sys/vm/drop_caches)
> 
> Signed-off-by: Fabian Frederick <fabf@skynet.be>
>

Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>


Hi Fabian,

I tested this and it looks to work well.

Merged it into my for-next branch [0].

Thanks,
Luis


[0] https://github.com/luisbg/linux-befs/commits/for-next

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-29 12:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-28 18:16 [PATCH 1/1 linux-next] befs: make export work with cold dcache Fabian Frederick
2017-03-28 19:35 ` Luis de Bethencourt
2017-03-29 12:15 ` Luis de Bethencourt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).