Re: [PATCH 4/5] NFS: remove RPC PipeFS mount point reference from blocklayout routines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



29.11.2011 16:00, tao.peng@xxxxxxx пишет:
-----Original Message-----
From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-owner@xxxxxxxxxxxxxxx] On Behalf Of Stanislav
Kinsbursky
Sent: Tuesday, November 29, 2011 6:11 PM
To: Trond.Myklebust@xxxxxxxxxx
Cc: linux-nfs@xxxxxxxxxxxxxxx; xemul@xxxxxxxxxxxxx; neilb@xxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
kernel@xxxxxxxxxxxxxxx; jbottomley@xxxxxxxxxxxxx; bfields@xxxxxxxxxxxx; davem@xxxxxxxxxxxxx;
devel@xxxxxxxxxx
Subject: [PATCH 4/5] NFS: remove RPC PipeFS mount point reference from blocklayout routines

This is a cleanup patch. We don't need this reference anymore, because
blocklayout pipes dentries now creates and destroys in per-net operations and
on PipeFS mount/umount notification.
Note that nfs4blocklayout_register_net() now returns 0 instead of -ENOENT in
case of PipeFS superblock absence. This is ok, because blocklayout pipe dentry
will be created on PipeFS mount event.
When is the "pipefs mount event" going to happen? When inserting kernel modules or when user issues mount command?


When user issues mount command.
Kernel mounts of PipeFS has been removed with all these patch sets I've sent already.


Thanks,
Tao


Signed-off-by: Stanislav Kinsbursky<skinsbursky@xxxxxxxxxxxxx>

---
  fs/nfs/blocklayout/blocklayout.c |    9 +--------
  1 files changed, 1 insertions(+), 8 deletions(-)

diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index acf7ac9..8211ffd 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -1032,7 +1032,7 @@ static struct dentry *nfs4blocklayout_register_net(struct net *net,

  	pipefs_sb = rpc_get_sb_net(net);
  	if (!pipefs_sb)
-		return ERR_PTR(-ENOENT);
+		return 0;
  	dentry = nfs4blocklayout_register_sb(pipefs_sb, pipe);
  	rpc_put_sb_net(net);
  	return dentry;
@@ -1083,7 +1083,6 @@ static struct pernet_operations nfs4blocklayout_net_ops = {

  static int __init nfs4blocklayout_init(void)
  {
-	struct vfsmount *mnt;
  	int ret;

  	dprintk("%s: NFSv4 Block Layout Driver Registering...\n", __func__);
@@ -1093,12 +1092,6 @@ static int __init nfs4blocklayout_init(void)
  		goto out;

  	init_waitqueue_head(&bl_wq);
-
-	mnt = rpc_get_mount();
-	if (IS_ERR(mnt)) {
-		ret = PTR_ERR(mnt);
-		goto out_remove;
-	}
  	ret = rpc_pipefs_notifier_register(&nfs4blocklayout_block);
  	if (ret)
  		goto out_remove;

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
Best regards,
Stanislav Kinsbursky
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux