Re: [autofs] autofs4 past 2.6.38: how to make it work?

2011-08-18 Thread Michael Tokarev
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?

2011-08-17 Thread 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?

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?

2011-08-17 Thread Ian Kent
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?

2011-08-16 Thread Michael Tokarev
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?

2011-08-16 Thread Ian Kent
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