public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fixing supermount for > 2.4.19pre4
  2002-05-16 22:13 [PATCH 2.4.19pre8][RFC] remove-NFS-close-to-open from VFS (was Re: [PATCHSET] 2.4.19-pre8-jp12) Alan Cox
@ 2002-05-16 23:36 ` Jörg Prante
  0 siblings, 0 replies; 4+ messages in thread
From: Jörg Prante @ 2002-05-16 23:36 UTC (permalink / raw)
  To: quintela; +Cc: linux-kernel

[-- 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 = {

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

* Re: [PATCH] fixing supermount for > 2.4.19pre4
@ 2002-05-18 10:26 Marc-Christian Petersen
  2002-05-18 11:37 ` Jörg Prante
  0 siblings, 1 reply; 4+ messages in thread
From: Marc-Christian Petersen @ 2002-05-18 10:26 UTC (permalink / raw)
  To: linux-kernel; +Cc: Jörg Prante

Hi Joerg,

your patch for supermount does not work. Now it's even not possible to list 
the content via ls -lsa /mnt ... Mount hangs, no access is made, nothing.

Tested with your jp12 patchset and with my patchset wolk.

-- 
Kind regards
        Marc-Christian Petersen


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

* Re: [PATCH] fixing supermount for > 2.4.19pre4
  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
  0 siblings, 1 reply; 4+ messages in thread
From: Jörg Prante @ 2002-05-18 11:37 UTC (permalink / raw)
  To: Marc-Christian Petersen; +Cc: linux-kernel


> your patch for supermount does not work. Now it's even not possible to list
> the content via ls -lsa /mnt ... Mount hangs, no access is made, nothing.

Is supermount compiled into kernel or as a module? What drive, what media did 
you mount, what command did you issue? 

I tested it with supermount compiled into the kernel and

# mount -t supermount -o dev=/dev/hdb none /mnt/cdrom
# ls -l /mnt/cdrom

and

# cd /mnt/cdrom
# ls -l

# cd
# umount /mnt/cdrom

and it works fine for me, patched against 2.4.19-pre8-jp12, and /dev/hdb is 
an ISO 9660 CDROM in my DVD drive. No "stale NFS handles", clean mount and 
unmount, and with "debug" option I can see it works as a charme.

ftpfs is fixed in the same way but I did not reboot yet. 

Jörg

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

* Re: [PATCH] fixing supermount for > 2.4.19pre4
  2002-05-18 11:37 ` Jörg Prante
@ 2002-05-18 13:21   ` Marc-Christian Petersen
  0 siblings, 0 replies; 4+ messages in thread
From: Marc-Christian Petersen @ 2002-05-18 13:21 UTC (permalink / raw)
  To: Jörg Prante; +Cc: linux-kernel, mcp

Hi Joerg,

> > your patch for supermount does not work. Now it's even not possible to list
> > the content via ls -lsa /mnt ... Mount hangs, no access is made, nothing.
> Is supermount compiled into kernel or as a module? What drive, what media did 
> you mount, what command did you issue? 

err, sorry for no details in my first mail :( ... I have headache and
thinking is not good at all ;(

Its a module, an IDE 50x CD-ROM Drive, Company: LION and i used a ISO9660
CD. I used the following command:

mount -t supermount -o dev=/dev/cdrom none /mnt

/dev/cdrom is a symlink to /dev/scd0, i use ide-scsi for CD-ROM access.

> and it works fine for me, patched against 2.4.19-pre8-jp12, and /dev/hdb is 
> an ISO 9660 CDROM in my DVD drive. No "stale NFS handles", clean mount and 
> unmount, and with "debug" option I can see it works as a charme.
hmm, strange :) ... i'm going to test it a little bit more ... Another
CD-Drive, other CD's ...

Kind regards,
	Marc


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

end of thread, other threads:[~2002-05-18 13:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
  -- strict thread matches above, loose matches on Subject: below --
2002-05-16 22:13 [PATCH 2.4.19pre8][RFC] remove-NFS-close-to-open from VFS (was Re: [PATCHSET] 2.4.19-pre8-jp12) Alan Cox
2002-05-16 23:36 ` [PATCH] fixing supermount for > 2.4.19pre4 Jörg Prante

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox