public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Jörg Prante" <joergprante@gmx.de>
To: quintela@mandrakesoft.com
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: [PATCH] fixing supermount for > 2.4.19pre4
Date: Fri, 17 May 2002 01:36:22 +0200	[thread overview]
Message-ID: <200205162338.AWF04364@netmail.netcologne.de> (raw)
In-Reply-To: <E178TUb-0005Bh-00@the-village.bc.nu>

[-- Attachment #1: Type: text/plain, Size: 603 bytes --]

Hi,

in 2.4.19pre4, the dentry revalidation has been patched, and the VFS behavior 
has changed due to an NFS bugfix. All non-standard remote file systems (like 
supermount, ftpfs, etc.) are in conflict with the patch and may not operate 
correctly.

Alan Cox pointed out that non-standard remote file systems should get fixed 
for 2.4.19. So, here is my quick hack for supermount 0.7 that changes the 
return policy in the d_revalidate operation. Supermount should work now in 
2.4.19pre4 kernels and higher.

Other file systems with similar revalidate policy can get fixed accordingly.

Cheers,

Jörg

[-- Attachment #2: supermount-2.4.19pre8-fix.patch --]
[-- Type: text/x-diff, Size: 936 bytes --]

--- linux/fs/supermount/dentry_operations.c.orig	Fri May 17 00:36:21 2002
+++ linux/fs/supermount/dentry_operations.c	Fri May 17 01:16:06 2002
@@ -25,8 +25,9 @@
 
 	dump_dentry(dentry);
 
-	if (!subfs_go_online(dentry->d_sb))
-		goto bad_dentry;
+	if (!subfs_go_online(dentry->d_sb)) {
+		goto out;
+    }
 	spin_lock(&dcache_lock);
 	if (dentry->d_inode && is_inode_obsolete(dentry->d_inode)) {
 		supermount_debug("found old dentry: **%s**",
@@ -36,20 +37,21 @@
 	}
 	spin_unlock(&dcache_lock);
 	subd = get_subfs_dentry(dentry);
-	if (IS_ERR(subd))
+	if (IS_ERR(subd)) {
 		goto bad_dentry;
+	}
 
 	if (subd->d_op && subd->d_op->d_revalidate) {
 		supermount_debug("lowlevel revalidate");
 		rc = subd->d_op->d_revalidate(subd, flags);
 	}
 	dput(subd);
+	goto out;
+bad_dentry:
+	rc = 0;
 out:
 	subfs_go_inactive(dentry->d_sb);
 	return rc;
-bad_dentry:
-	rc = 0;
-	goto out;
 }
 
 struct dentry_operations supermount_dir_dops = {

  reply	other threads:[~2002-05-16 23:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-15  0:05 [PATCHSET] 2.4.19-pre8-jp12 Jörg Prante
2002-05-16  7:47 ` Pozsar Balazs
2002-05-16  9:05   ` Tomas Szepe
2002-05-16  9:19     ` Pozsar Balazs
2002-05-16 15:08     ` Robinson Maureira Castillo
2002-05-16 21:40       ` [PATCH 2.4.19pre8][RFC] remove-NFS-close-to-open from VFS (was Re: [PATCHSET] 2.4.19-pre8-jp12) Jörg Prante
2002-05-16 22:13         ` Alan Cox
2002-05-16 23:36           ` Jörg Prante [this message]
2002-05-17  3:04           ` Tomas Szepe
2002-05-17  3:43           ` Jan Harkes
2002-05-16 18:33   ` [PATCHSET] 2.4.19-pre8-jp12 Jörg Prante
2002-05-16 19:39   ` Jörg Prante
2002-05-17 23:19   ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2002-05-18 10:26 [PATCH] fixing supermount for > 2.4.19pre4 Marc-Christian Petersen
2002-05-18 11:37 ` Jörg Prante
2002-05-18 13:21   ` Marc-Christian Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200205162338.AWF04364@netmail.netcologne.de \
    --to=joergprante@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quintela@mandrakesoft.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox