Re: [autofs] autofs4 past 2.6.38: how to make it work?
17.08.2011 07:07, Ian Kent wrote: On Tue, 2011-08-16 at 00:02 +0400, Michael Tokarev wrote: After searching a bit more, especially after realizing it's not 2.6.37+ but 2.6.38+ (so I corrected $subject), I found a few references to this, especially https://bugzilla.redhat.com/show_bug.cgi?id=719607 and a few more (most of which are without answers). I tested the patch proposed in RH#719607 (attachtment #512209) - it restores functionality of automounter, at least as far as I can see. I think it should go to -stable, too... ;) That path (actually a different equivalent patch) is included in 3.1-rc. commit 5a30d8a2b8ddd5102c440c7e5a7c8e1fd729c818 VFS: Fix automount for negative autofs dentries There were major changes to the kernel automount code in the 2.6.38 and there have been a number of corrections along the way, with this patch being the last one for known problems. I see. Well, actually this very issue is more or less cosmetic for me for now, since it was just testing of stuff that revealed the problem - I tried to debug something else and come across a non-working automount, but actually my usage goes stright to a file deeper into the automounted filesystem so that part actually always worked, but it just seemed to be non-working when doing simple ls $topdir test. I recommend staying with 2.6.37 until 3.1 is available. I wish 2.6.37 were supported still, and 2.6.35 or better 2.6.32 were bootable on this machine (it needs a more recent brocade driver which works ok in 3.0, and also lots of scalability work went into recent kernels). So I have to use more recent kernel, and am facing this autofs issue. The good thing is that it's been found already, and fixed for a future release. Still, backporting some at least recent fixes to recent stable kernels may not be entirely bad, I think: there aren't many changes in this area since 3.0 for example, and 3.0 is the current stable kernel (2.6.39 received its last update). In 3.0, only two relevant commits are missing as far as I can see: this negative autofs dentries fix, and LOOKUP_CONTINUE change. The rest - again, ifaics - are merely cosmetics. I'm not sure about this LOOKUP_CONTINUE change, how relevant it is, but the two combined does not look bad for -stable. I think... :) I applied both to my 3.0 now, so it should fix all known issues as you say ;) Thank you! /mjt ___ autofs mailing list autofs@linux.kernel.org http://linux.kernel.org/mailman/listinfo/autofs
Re: [autofs] autofs4 past 2.6.38: how to make it work?
On Wed, 2011-08-17 at 10:27 +0400, Michael Tokarev wrote: In 3.0, only two relevant commits are missing as far as I can see: this negative autofs dentries fix, and LOOKUP_CONTINUE change. The rest - again, ifaics - are merely cosmetics. I'm not sure about this LOOKUP_CONTINUE change, how relevant it is, but the two combined does not look bad for -stable. I think... :) Not sure what the LOOKUP_CONTINUE change is, what does it look like or do you have a git commit number? There is actually one more change that needs to go in, although you might not see the problem. It is a fix for a lockdep problem. Ian ___ autofs mailing list autofs@linux.kernel.org http://linux.kernel.org/mailman/listinfo/autofs
Re: [autofs] autofs4 past 2.6.38: how to make it work?
On Wed, 2011-08-17 at 12:42 +0400, Michael Tokarev wrote: 17.08.2011 12:28, Ian Kent пишет: On Wed, 2011-08-17 at 10:27 +0400, Michael Tokarev wrote: In 3.0, only two relevant commits are missing as far as I can see: this negative autofs dentries fix, and LOOKUP_CONTINUE change. The rest - again, ifaics - are merely cosmetics. I'm not sure about this LOOKUP_CONTINUE change, how relevant it is, but the two combined does not look bad for -stable. I think... :) Not sure what the LOOKUP_CONTINUE change is, what does it look like or do you have a git commit number? commit 49084c3bb2055c401f3493c13edae14d49128ca0 Author: Al Viro v...@zeniv.linux.org.uk Date:Sat Jun 25 21:59:52 2011 -0400 Subject: kill LOOKUP_CONTINUE OK, that one shouldn't make any difference to autofs. Ian ___ autofs mailing list autofs@linux.kernel.org http://linux.kernel.org/mailman/listinfo/autofs
Re: [autofs] autofs4 past 2.6.38: how to make it work?
After searching a bit more, especially after realizing it's not 2.6.37+ but 2.6.38+ (so I corrected $subject), I found a few references to this, especially https://bugzilla.redhat.com/show_bug.cgi?id=719607 and a few more (most of which are without answers). I tested the patch proposed in RH#719607 (attachtment #512209) - it restores functionality of automounter, at least as far as I can see. I think it should go to -stable, too... ;) Thanks, /mjt 15.08.2011 23:38, Michael Tokarev wrote: Hello. I found out that since 2.6.37 kernel, my automount (neither debian version 5.0.4-3.2 nor the latest 5.0.6) does not work anymore. Automounter starts correctly, mounts - say - /misc, and stays there listening for events. But the problem is that no events gets delivered to it no matter how I try. Accesses to /misc/foo always returns immediately with ENOENT error, and automount (all threads of it) is sleeping without any activity whatsoever. I tried to bisect this issue, but faced some problems -- most kernels around the bad commit OOPSes while accessing /misc/foo. Here's the bisect log: # good: [22763c5cf3690a681551162c15d34d935308c8d7] Linux 2.6.32 git bisect good 22763c5cf3690a681551162c15d34d935308c8d7 # bad: [521cb40b0c44418a4fd36dc633f575813d59a43d] Linux 2.6.38 git bisect bad 521cb40b0c44418a4fd36dc633f575813d59a43d # skip: [b7ab39f631f505edc2bbdb86620d5493f995c9da] fs: dcache scale dentry refcount git bisect skip b7ab39f631f505edc2bbdb86620d5493f995c9da # good: [cb4b492ac7595aad10756fe0b04691f0965e0cfc] autofs4: rename dentry to expiring in autofs4_lookup_expiring() git bisect good cb4b492ac7595aad10756fe0b04691f0965e0cfc # good: [5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff] fs: dcache remove d_mounted git bisect good 5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff # skip: [ab90911ff90cdab59b31c045c3f0ae480d14f29d] Allow d_manage() to be used in RCU-walk mode git bisect skip ab90911ff90cdab59b31c045c3f0ae480d14f29d # skip: [cc53ce53c86924bfe98a12ea20b7465038a08792] Add a dentry op to allow processes to be held during pathwalk transit git bisect skip cc53ce53c86924bfe98a12ea20b7465038a08792 # skip: [6651149371b842715906311b4631b8489cebf7e8] autofs4: Clean up autofs4_free_ino() git bisect skip 6651149371b842715906311b4631b8489cebf7e8 # bad: [726a5e0688fd344110d8f2979d87f243a4ba1a48] autofs4: autofs4_get_inode() doesn't need autofs_info * argument anymore git bisect bad 726a5e0688fd344110d8f2979d87f243a4ba1a48 # skip: [9e3fea16ba386fa549a0b2de8a203e5d412997a0] autofs4: Fix wait validation git bisect skip 9e3fea16ba386fa549a0b2de8a203e5d412997a0 # bad: [14a2f00bde7668fe18d1c8355d26c7c96961e1f7] autofs4: autofs4_mkroot() is not different from autofs4_init_ino() git bisect bad 14a2f00bde7668fe18d1c8355d26c7c96961e1f7 # skip: [71e469db242c2eeb00faf9caf7d9e00150c00a6e] autofs4: Clean up dentry operations git bisect skip 71e469db242c2eeb00faf9caf7d9e00150c00a6e # bad: [c14cc63a63e94d490ac6517a555113c30d420db4] autofs4 - fix get_next_positive_dentry() git bisect bad c14cc63a63e94d490ac6517a555113c30d420db4 # skip: [e61da20a50d21725ff27571a6dff9468e4fb7146] autofs4: Clean up inode operations git bisect skip e61da20a50d21725ff27571a6dff9468e4fb7146 # skip: [dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623] autofs4: Add v4 pseudo direct mount support git bisect skip dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623 # skip: [8c13a676d5a56495c350f3141824a5ef6c6b4606] autofs4: Remove unused code git bisect skip 8c13a676d5a56495c350f3141824a5ef6c6b4606 # bad: [b650c858c26bd9ba29ebc82d30f09355845a294a] autofs4: Merge the remaining dentry ops tables git bisect bad b650c858c26bd9ba29ebc82d30f09355845a294a # skip: [b5b801779d59165c4ecf1009009109545bd1f642] autofs4: Add d_manage() dentry operation git bisect skip b5b801779d59165c4ecf1009009109545bd1f642 # skip: [b5b801779d59165c4ecf1009009109545bd1f642] autofs4: Add d_manage() dentry operation git bisect skip b5b801779d59165c4ecf1009009109545bd1f642 # skip: [b5b801779d59165c4ecf1009009109545bd1f642] autofs4: Add d_manage() dentry operation git bisect skip b5b801779d59165c4ecf1009009109545bd1f642 Kernel b5b801779d59165c4ecf1009009109545bd1f642 shows this OOPS: [ 11.700752] [ cut here ] [ 11.703371] kernel BUG at fs/dcache.c:1304! [ 11.703371] invalid opcode: [#1] SMP [ 11.703371] last sysfs file: /sys/devices/virtual/vc/vcsa6/dev [ 11.703371] CPU 0 [ 11.703371] Modules linked in: ext4 mbcache jbd2 crc16 virtio_net virtio_pci virtio_blk virtio virtio_ring nfs lockd nfs_acl auth_rpcgss sunrpc autofs4 [ 11.703371] [ 11.703371] Pid: 599, comm: automount Not tainted 2.6.37+ #36 /Bochs [ 11.703371] RIP: 0010:[810c290c] [810c290c] d_set_d_op+0x4c/0x60 [ 11.703371] RSP: 0018:88000794be70 EFLAGS: 00010286 [ 11.703371] RAX: 8800070d7380 RBX: 88000794fe00 RCX: 000e [ 11.703371] RDX:
Re: [autofs] autofs4 past 2.6.38: how to make it work?
On Tue, 2011-08-16 at 00:02 +0400, Michael Tokarev wrote: After searching a bit more, especially after realizing it's not 2.6.37+ but 2.6.38+ (so I corrected $subject), I found a few references to this, especially https://bugzilla.redhat.com/show_bug.cgi?id=719607 and a few more (most of which are without answers). I tested the patch proposed in RH#719607 (attachtment #512209) - it restores functionality of automounter, at least as far as I can see. I think it should go to -stable, too... ;) That path (actually a different equivalent patch) is included in 3.1-rc. There were major changes to the kernel automount code in the 2.6.38 and there have been a number of corrections along the way, with this patch being the last one for known problems. I recommend staying with 2.6.37 until 3.1 is available. Thanks, /mjt 15.08.2011 23:38, Michael Tokarev wrote: Hello. I found out that since 2.6.37 kernel, my automount (neither debian version 5.0.4-3.2 nor the latest 5.0.6) does not work anymore. Automounter starts correctly, mounts - say - /misc, and stays there listening for events. But the problem is that no events gets delivered to it no matter how I try. Accesses to /misc/foo always returns immediately with ENOENT error, and automount (all threads of it) is sleeping without any activity whatsoever. I tried to bisect this issue, but faced some problems -- most kernels around the bad commit OOPSes while accessing /misc/foo. Here's the bisect log: # good: [22763c5cf3690a681551162c15d34d935308c8d7] Linux 2.6.32 git bisect good 22763c5cf3690a681551162c15d34d935308c8d7 # bad: [521cb40b0c44418a4fd36dc633f575813d59a43d] Linux 2.6.38 git bisect bad 521cb40b0c44418a4fd36dc633f575813d59a43d # skip: [b7ab39f631f505edc2bbdb86620d5493f995c9da] fs: dcache scale dentry refcount git bisect skip b7ab39f631f505edc2bbdb86620d5493f995c9da # good: [cb4b492ac7595aad10756fe0b04691f0965e0cfc] autofs4: rename dentry to expiring in autofs4_lookup_expiring() git bisect good cb4b492ac7595aad10756fe0b04691f0965e0cfc # good: [5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff] fs: dcache remove d_mounted git bisect good 5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff # skip: [ab90911ff90cdab59b31c045c3f0ae480d14f29d] Allow d_manage() to be used in RCU-walk mode git bisect skip ab90911ff90cdab59b31c045c3f0ae480d14f29d # skip: [cc53ce53c86924bfe98a12ea20b7465038a08792] Add a dentry op to allow processes to be held during pathwalk transit git bisect skip cc53ce53c86924bfe98a12ea20b7465038a08792 # skip: [6651149371b842715906311b4631b8489cebf7e8] autofs4: Clean up autofs4_free_ino() git bisect skip 6651149371b842715906311b4631b8489cebf7e8 # bad: [726a5e0688fd344110d8f2979d87f243a4ba1a48] autofs4: autofs4_get_inode() doesn't need autofs_info * argument anymore git bisect bad 726a5e0688fd344110d8f2979d87f243a4ba1a48 # skip: [9e3fea16ba386fa549a0b2de8a203e5d412997a0] autofs4: Fix wait validation git bisect skip 9e3fea16ba386fa549a0b2de8a203e5d412997a0 # bad: [14a2f00bde7668fe18d1c8355d26c7c96961e1f7] autofs4: autofs4_mkroot() is not different from autofs4_init_ino() git bisect bad 14a2f00bde7668fe18d1c8355d26c7c96961e1f7 # skip: [71e469db242c2eeb00faf9caf7d9e00150c00a6e] autofs4: Clean up dentry operations git bisect skip 71e469db242c2eeb00faf9caf7d9e00150c00a6e # bad: [c14cc63a63e94d490ac6517a555113c30d420db4] autofs4 - fix get_next_positive_dentry() git bisect bad c14cc63a63e94d490ac6517a555113c30d420db4 # skip: [e61da20a50d21725ff27571a6dff9468e4fb7146] autofs4: Clean up inode operations git bisect skip e61da20a50d21725ff27571a6dff9468e4fb7146 # skip: [dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623] autofs4: Add v4 pseudo direct mount support git bisect skip dd89f90d2deb9aa5bc8e1b15d726ff5c0bb2b623 # skip: [8c13a676d5a56495c350f3141824a5ef6c6b4606] autofs4: Remove unused code git bisect skip 8c13a676d5a56495c350f3141824a5ef6c6b4606 # bad: [b650c858c26bd9ba29ebc82d30f09355845a294a] autofs4: Merge the remaining dentry ops tables git bisect bad b650c858c26bd9ba29ebc82d30f09355845a294a # skip: [b5b801779d59165c4ecf1009009109545bd1f642] autofs4: Add d_manage() dentry operation git bisect skip b5b801779d59165c4ecf1009009109545bd1f642 # skip: [b5b801779d59165c4ecf1009009109545bd1f642] autofs4: Add d_manage() dentry operation git bisect skip b5b801779d59165c4ecf1009009109545bd1f642 # skip: [b5b801779d59165c4ecf1009009109545bd1f642] autofs4: Add d_manage() dentry operation git bisect skip b5b801779d59165c4ecf1009009109545bd1f642 Kernel b5b801779d59165c4ecf1009009109545bd1f642 shows this OOPS: [ 11.700752] [ cut here ] [ 11.703371] kernel BUG at fs/dcache.c:1304! [ 11.703371] invalid opcode: [#1] SMP [ 11.703371] last sysfs file: /sys/devices/virtual/vc/vcsa6/dev [ 11.703371] CPU 0 [ 11.703371] Modules linked in: ext4