Re: [RFC] freeing unlinked file indefinitely delayed

2015-07-13 Thread Ben Myers
Hey Al,

On Mon, Jul 13, 2015 at 08:56:46PM +0100, Al Viro wrote:
> On Mon, Jul 13, 2015 at 01:17:51PM -0500, Ben Myers wrote:
> > > For one thing, this patch does *not* check for i_nlink at all.
> > 
> > I agree that no checking of i_nlink has the advantage of brevity.
> > Anyone who is using dentry.d_fsdata with an open_by_handle workload (if
> > there are any) will be affected.
> 
> Translate, please.  What does d_fsdata have to anything above?

If my understanding of your patch is correct, any disconnected dentries will be
killed immediately at dput instead of being put on the dentry lru.  I have some
code that I think may rely on the old behavior with regard to
DCACHE_DISCONNECTED.  That is, the disconnected dentry sits on the lru and there
are lots of open_by_handle calls and nothing to keep a ref on the inode between
open_by_handle/close except that dentry's ref.  Maybe there are better ways to
do that and I just need to look for a workaround.

I wonder if there are others who will be affected by this change in behavior.
In particular, if there are filesystems that need to keep internal state in
d_fsdata across open_by_handle calls.  They won't be able to use d_fsdata
very well anymore for this workload.

> > > For another, there's no such thing as 'filesystems internal lock' for
> > > i_nlink protection - that's handled by i_mutex...  And what does
> > > iget() have to do with any of that?
> > 
> > i_mutex is good enough only for local filesystems.
> > Network/clustered/distributed filesystems need to take an internal lock
> > to provide exclusion for this .unlink with a .link on another host.
> > That's where I'm coming from with iget().  
> > 
> > Maybe plumbing i_op.unlink with another argument to return i_nlink is
> > something to consider?  A helper for the few filesystems that need to do
> > this might be good enough in the near term.
> 
> 
> 
> a) iget() had been gone since way back
> b) it never had been called by VFS - it's a filesystem's responsibility
> c) again, what the hell does iget() or its replacements have to do with
> dentry eviction?  It does *NOT* affect dentry refcount.  Never had.

I misspoke with regard to iget.  It is the locking for i_nlink that I am
concerned about.

> d) checks for _inode_ retention in icache are done by filesystem code, which
> is certainly free to use its locks.  Incidentally, for normal filesystems
> no locks are needed at all - everything that changes ->i_nlink is holding
> a referfence to in-core inode, so in a situation when its refcount is zero
> and ->i_lock is held (providing an exclusion with icache lookups), ->i_nlink
> is guaranteed to be stable.

Thanks for that explanation, that's what I needed.  For filesystems which have a
distributed lock manager involved on multiple hosts, i_nlink is not stable on an
individual host even with i_lock held.  You would also need to hold whatever
finer-grained lock the filesystem is protecting i_nlink with.  So the VFS
_can't_ know when i_nlink has gone to zero, only the filesystem can.  That's
what I was trying to get at.

> e) why would VFS possibly want to know if there are links remaining after
> successful ->unlink()?

The VFS wouldn't.  I guess the argument goes that it would be nice to keep the
old behavior and still cache disconnected dentries, and leave it to the
filesystems which require it to destroy the anonymous dentries in ->unlink when
they they know that i_nlink has gone to zero, having taken whatever internal
locks they need to use to adequately protect i_nlink from other hosts.  Thats
where a helper to prune disconnected dentries would come in handy.
 
> I'm sorry, but you are not making any sense...

I'm sorry for the confusion, it took me a little awhile to digest this.  The
change in caching behavior could affect more than nfs.  Any filesystem which
expects disconnected dentries to remain cached is affected.

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] freeing unlinked file indefinitely delayed

2015-07-13 Thread Ben Myers
Hey Al,

On Sun, Jul 12, 2015 at 04:00:35PM +0100, Al Viro wrote:
> On Wed, Jul 08, 2015 at 10:41:43AM -0500, Ben Myers wrote:
> 
> > The bug rings a bell for me so I will stick my neck out instead of
> > lurking.  Don't you need to sample that link count under the filesystems
> > internal lock in order to avoid an unlink/iget race?  I suggest creating
> > a helper to prune disconnected dentries which a filesystem could call in
> > .unlink.  That would avoid the risk of unintended side effects with the
> > d_alloc/d_free/icache approach and have provable link count correctness.
> 
> For one thing, this patch does *not* check for i_nlink at all.

I agree that no checking of i_nlink has the advantage of brevity.
Anyone who is using dentry.d_fsdata with an open_by_handle workload (if
there are any) will be affected.

> For another, there's no such thing as 'filesystems internal lock' for
> i_nlink protection - that's handled by i_mutex...  And what does
> iget() have to do with any of that?

i_mutex is good enough only for local filesystems.
Network/clustered/distributed filesystems need to take an internal lock
to provide exclusion for this .unlink with a .link on another host.
That's where I'm coming from with iget().  

Maybe plumbing i_op.unlink with another argument to return i_nlink is
something to consider?  A helper for the few filesystems that need to do
this might be good enough in the near term.

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] freeing unlinked file indefinitely delayed

2015-07-13 Thread Ben Myers
Hey Al,

On Sun, Jul 12, 2015 at 04:00:35PM +0100, Al Viro wrote:
 On Wed, Jul 08, 2015 at 10:41:43AM -0500, Ben Myers wrote:
 
  The bug rings a bell for me so I will stick my neck out instead of
  lurking.  Don't you need to sample that link count under the filesystems
  internal lock in order to avoid an unlink/iget race?  I suggest creating
  a helper to prune disconnected dentries which a filesystem could call in
  .unlink.  That would avoid the risk of unintended side effects with the
  d_alloc/d_free/icache approach and have provable link count correctness.
 
 For one thing, this patch does *not* check for i_nlink at all.

I agree that no checking of i_nlink has the advantage of brevity.
Anyone who is using dentry.d_fsdata with an open_by_handle workload (if
there are any) will be affected.

 For another, there's no such thing as 'filesystems internal lock' for
 i_nlink protection - that's handled by i_mutex...  And what does
 iget() have to do with any of that?

i_mutex is good enough only for local filesystems.
Network/clustered/distributed filesystems need to take an internal lock
to provide exclusion for this .unlink with a .link on another host.
That's where I'm coming from with iget().  

Maybe plumbing i_op.unlink with another argument to return i_nlink is
something to consider?  A helper for the few filesystems that need to do
this might be good enough in the near term.

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] freeing unlinked file indefinitely delayed

2015-07-13 Thread Ben Myers
Hey Al,

On Mon, Jul 13, 2015 at 08:56:46PM +0100, Al Viro wrote:
 On Mon, Jul 13, 2015 at 01:17:51PM -0500, Ben Myers wrote:
   For one thing, this patch does *not* check for i_nlink at all.
  
  I agree that no checking of i_nlink has the advantage of brevity.
  Anyone who is using dentry.d_fsdata with an open_by_handle workload (if
  there are any) will be affected.
 
 Translate, please.  What does d_fsdata have to anything above?

If my understanding of your patch is correct, any disconnected dentries will be
killed immediately at dput instead of being put on the dentry lru.  I have some
code that I think may rely on the old behavior with regard to
DCACHE_DISCONNECTED.  That is, the disconnected dentry sits on the lru and there
are lots of open_by_handle calls and nothing to keep a ref on the inode between
open_by_handle/close except that dentry's ref.  Maybe there are better ways to
do that and I just need to look for a workaround.

I wonder if there are others who will be affected by this change in behavior.
In particular, if there are filesystems that need to keep internal state in
d_fsdata across open_by_handle calls.  They won't be able to use d_fsdata
very well anymore for this workload.

   For another, there's no such thing as 'filesystems internal lock' for
   i_nlink protection - that's handled by i_mutex...  And what does
   iget() have to do with any of that?
  
  i_mutex is good enough only for local filesystems.
  Network/clustered/distributed filesystems need to take an internal lock
  to provide exclusion for this .unlink with a .link on another host.
  That's where I'm coming from with iget().  
  
  Maybe plumbing i_op.unlink with another argument to return i_nlink is
  something to consider?  A helper for the few filesystems that need to do
  this might be good enough in the near term.
 
 
 
 a) iget() had been gone since way back
 b) it never had been called by VFS - it's a filesystem's responsibility
 c) again, what the hell does iget() or its replacements have to do with
 dentry eviction?  It does *NOT* affect dentry refcount.  Never had.

I misspoke with regard to iget.  It is the locking for i_nlink that I am
concerned about.

 d) checks for _inode_ retention in icache are done by filesystem code, which
 is certainly free to use its locks.  Incidentally, for normal filesystems
 no locks are needed at all - everything that changes -i_nlink is holding
 a referfence to in-core inode, so in a situation when its refcount is zero
 and -i_lock is held (providing an exclusion with icache lookups), -i_nlink
 is guaranteed to be stable.

Thanks for that explanation, that's what I needed.  For filesystems which have a
distributed lock manager involved on multiple hosts, i_nlink is not stable on an
individual host even with i_lock held.  You would also need to hold whatever
finer-grained lock the filesystem is protecting i_nlink with.  So the VFS
_can't_ know when i_nlink has gone to zero, only the filesystem can.  That's
what I was trying to get at.

 e) why would VFS possibly want to know if there are links remaining after
 successful -unlink()?

The VFS wouldn't.  I guess the argument goes that it would be nice to keep the
old behavior and still cache disconnected dentries, and leave it to the
filesystems which require it to destroy the anonymous dentries in -unlink when
they they know that i_nlink has gone to zero, having taken whatever internal
locks they need to use to adequately protect i_nlink from other hosts.  Thats
where a helper to prune disconnected dentries would come in handy.
 
 I'm sorry, but you are not making any sense...

I'm sorry for the confusion, it took me a little awhile to digest this.  The
change in caching behavior could affect more than nfs.  Any filesystem which
expects disconnected dentries to remain cached is affected.

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] freeing unliked file indefinitely delayed

2015-07-08 Thread Ben Myers
Hey Al,

On Wed, Jul 08, 2015 at 02:42:38AM +0100, Al Viro wrote:
>   Normally opening a file, unlinking it and then closing will have
> the inode freed upon close() (provided that it's not otherwise busy and
> has no remaining links, of course).  However, there's one case where that
> does *not* happen.  Namely, if you open it by fhandle with cold dcache,
> then unlink() and close().
> 
>   In normal case you get d_delete() in unlink(2) notice that dentry
> is busy and unhash it; on the final dput() it will be forcibly evicted from
> dcache, triggering iput() and inode removal.  In this case, though, we end
> up with *two* dentries - disconnected (created by open-by-fhandle) and
> regular one (used by unlink()).  The latter will have its reference to inode
> dropped just fine, but the former will not - it's considered hashed (it
> is on the ->s_anon list), so it will stay around until the memory pressure
> will finally do it in.  As the result, we have the final iput() delayed
> indefinitely.  It's trivial to reproduce -
> 
> #define _GNU_SOURCE
> #include 
> #include 
> #include 
> 
> void flush_dcache(void)
> {
> system("mount -o remount,rw /");
> }
> 
> static char buf[20 * 1024 * 1024];
> 
> main()
> {
> int fd;
> union { 
> struct file_handle f;
> char buf[MAX_HANDLE_SZ];
> } x;
> int m;
> 
> x.f.handle_bytes = sizeof(x);
> chdir("/root");
> mkdir("foo", 0700);
> fd = open("foo/bar", O_CREAT | O_RDWR, 0600);
> close(fd);
> name_to_handle_at(AT_FDCWD, "foo/bar", , , 0);
> flush_dcache();
> fd = open_by_handle_at(AT_FDCWD, , O_RDWR);
> unlink("foo/bar");
> write(fd, buf, sizeof(buf));
> system("df .");   /* 20Mb eaten */
> close(fd);
> system("df .");   /* should've freed those 20Mb */
> flush_dcache();
> system("df .");   /* should be the same as #2 */
> }
> 
> will spit out something like
> Filesystem 1K-blocks   Used Available Use% Mounted on
> /dev/root 322023 303843  1131 100% /
> Filesystem 1K-blocks   Used Available Use% Mounted on
> /dev/root 322023 303843  1131 100% /
> Filesystem 1K-blocks   Used Available Use% Mounted on
> /dev/root 322023 283282 21692  93% /
> - inode gets freed only when dentry is finally evicted (here we trigger
> than by remount; normally it would've happened in response to memory
> pressure hell knows when).
> 
> IMO it's a bug.  Between the close() and final flush_dcache() the file has
> no surviving links, is *not* busy, won't show up in fuser/lsof/whatnot
> output, and yet it's still not freed.  I'm not saying that it's realistically
> exploitable (albeit with nfsd it might be), but it's a very unpleasant
> self-LART.
> 
> FWIW, my prefered fix would be simply to have the final dput() treat
> disconnected dentries as "kill on sight"; checking for i_nlink of the
> inode, as Bruce suggested several years ago, will *not* work, simply
> because having another link to that file and unlinking it after close
> will reproduce the situation - disconnected dentry sticks around in
> dcache past its final dput() and past the last unlink() of our file.
> Theoretically it might cause an overhead for nfsd (no_subtree_check v3
> export might see more d_alloc()/d_free(); icache retention will still
> prevent constant rereading the inode from disk).  _IF_ that proves to
> be noticable, we might need to come up with something more elaborate
> (e.g. have unlink() and rename() kick disconnected aliases out if the link
> count has reached 0), but it's more complex and needs careful ananlysis
> of correctness - we need to prove that there's no way to miss the link
> count reaching 0.

The bug rings a bell for me so I will stick my neck out instead of
lurking.  Don't you need to sample that link count under the filesystems
internal lock in order to avoid an unlink/iget race?  I suggest creating
a helper to prune disconnected dentries which a filesystem could call in
.unlink.  That would avoid the risk of unintended side effects with the
d_alloc/d_free/icache approach and have provable link count correctness.

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] freeing unliked file indefinitely delayed

2015-07-08 Thread Ben Myers
Hey Al,

On Wed, Jul 08, 2015 at 02:42:38AM +0100, Al Viro wrote:
   Normally opening a file, unlinking it and then closing will have
 the inode freed upon close() (provided that it's not otherwise busy and
 has no remaining links, of course).  However, there's one case where that
 does *not* happen.  Namely, if you open it by fhandle with cold dcache,
 then unlink() and close().
 
   In normal case you get d_delete() in unlink(2) notice that dentry
 is busy and unhash it; on the final dput() it will be forcibly evicted from
 dcache, triggering iput() and inode removal.  In this case, though, we end
 up with *two* dentries - disconnected (created by open-by-fhandle) and
 regular one (used by unlink()).  The latter will have its reference to inode
 dropped just fine, but the former will not - it's considered hashed (it
 is on the -s_anon list), so it will stay around until the memory pressure
 will finally do it in.  As the result, we have the final iput() delayed
 indefinitely.  It's trivial to reproduce -
 
 #define _GNU_SOURCE
 #include sys/types.h
 #include sys/stat.h
 #include fcntl.h
 
 void flush_dcache(void)
 {
 system(mount -o remount,rw /);
 }
 
 static char buf[20 * 1024 * 1024];
 
 main()
 {
 int fd;
 union { 
 struct file_handle f;
 char buf[MAX_HANDLE_SZ];
 } x;
 int m;
 
 x.f.handle_bytes = sizeof(x);
 chdir(/root);
 mkdir(foo, 0700);
 fd = open(foo/bar, O_CREAT | O_RDWR, 0600);
 close(fd);
 name_to_handle_at(AT_FDCWD, foo/bar, x.f, m, 0);
 flush_dcache();
 fd = open_by_handle_at(AT_FDCWD, x.f, O_RDWR);
 unlink(foo/bar);
 write(fd, buf, sizeof(buf));
 system(df .);   /* 20Mb eaten */
 close(fd);
 system(df .);   /* should've freed those 20Mb */
 flush_dcache();
 system(df .);   /* should be the same as #2 */
 }
 
 will spit out something like
 Filesystem 1K-blocks   Used Available Use% Mounted on
 /dev/root 322023 303843  1131 100% /
 Filesystem 1K-blocks   Used Available Use% Mounted on
 /dev/root 322023 303843  1131 100% /
 Filesystem 1K-blocks   Used Available Use% Mounted on
 /dev/root 322023 283282 21692  93% /
 - inode gets freed only when dentry is finally evicted (here we trigger
 than by remount; normally it would've happened in response to memory
 pressure hell knows when).
 
 IMO it's a bug.  Between the close() and final flush_dcache() the file has
 no surviving links, is *not* busy, won't show up in fuser/lsof/whatnot
 output, and yet it's still not freed.  I'm not saying that it's realistically
 exploitable (albeit with nfsd it might be), but it's a very unpleasant
 self-LART.
 
 FWIW, my prefered fix would be simply to have the final dput() treat
 disconnected dentries as kill on sight; checking for i_nlink of the
 inode, as Bruce suggested several years ago, will *not* work, simply
 because having another link to that file and unlinking it after close
 will reproduce the situation - disconnected dentry sticks around in
 dcache past its final dput() and past the last unlink() of our file.
 Theoretically it might cause an overhead for nfsd (no_subtree_check v3
 export might see more d_alloc()/d_free(); icache retention will still
 prevent constant rereading the inode from disk).  _IF_ that proves to
 be noticable, we might need to come up with something more elaborate
 (e.g. have unlink() and rename() kick disconnected aliases out if the link
 count has reached 0), but it's more complex and needs careful ananlysis
 of correctness - we need to prove that there's no way to miss the link
 count reaching 0.

The bug rings a bell for me so I will stick my neck out instead of
lurking.  Don't you need to sample that link count under the filesystems
internal lock in order to avoid an unlink/iget race?  I suggest creating
a helper to prune disconnected dentries which a filesystem could call in
.unlink.  That would avoid the risk of unintended side effects with the
d_alloc/d_free/icache approach and have provable link count correctness.

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PULL] XFS fix for 3.14-rc2

2014-02-06 Thread Ben Myers
On Thu, Feb 06, 2014 at 01:34:53PM -0800, Linus Torvalds wrote:
> I have no idea why you keep re-sending this.
> 
> It got merged a week ago. See commit f1499382f114.

Ok, there it is.  Sorry for the noise.

Thanks,
Ben 

> On Thu, Feb 6, 2014 at 9:31 AM, Ben Myers  wrote:
> > Hi Linus,
> >
> >Please pull this xfs update for 3.14.  This is to allow logical sector 
> > sized
> >direct io on advanced format disks.  Eric expressed a desire to get this 
> > fix
> >in 3.14 because this bug affects some virtualization packages.
> >
> > Thanks,
> > Ben
> >
> > The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:
> >
> >   Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
> > 16:03:18 -0600)
> >
> > are available in the git repository at:
> >
> >
> >   git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2
> >
> > for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:
> >
> >   xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)
> >
> > 
> > xfs: update #2 for v3.14-rc1
> >
> > - allow logical sector sized direct io on 'advanced format' 4k/512 disk.
> >
> > 
> > Eric Sandeen (3):
> >   xfs: clean up xfs_buftarg
> >   xfs: rename xfs_buftarg structure members
> >   xfs: allow logical-sector sized O_DIRECT
> >
> >  fs/xfs/xfs_buf.c   | 14 +-
> >  fs/xfs/xfs_buf.h   | 20 +---
> >  fs/xfs/xfs_file.c  |  7 +--
> >  fs/xfs/xfs_ioctl.c |  2 +-
> >  4 files changed, 32 insertions(+), 11 deletions(-)
> 
> ___
> xfs mailing list
> x...@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS fix for 3.14-rc2

2014-02-06 Thread Ben Myers
Hi Linus,

   Please pull this xfs update for 3.14.  This is to allow logical sector sized
   direct io on advanced format disks.  Eric expressed a desire to get this fix
   in 3.14 because this bug affects some virtualization packages.

Thanks,
Ben

The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:

  Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
16:03:18 -0600)

are available in the git repository at:


  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2

for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:

  xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)


xfs: update #2 for v3.14-rc1

- allow logical sector sized direct io on 'advanced format' 4k/512 disk.


Eric Sandeen (3):
  xfs: clean up xfs_buftarg
  xfs: rename xfs_buftarg structure members
  xfs: allow logical-sector sized O_DIRECT

 fs/xfs/xfs_buf.c   | 14 +-
 fs/xfs/xfs_buf.h   | 20 +---
 fs/xfs/xfs_file.c  |  7 +--
 fs/xfs/xfs_ioctl.c |  2 +-
 4 files changed, 32 insertions(+), 11 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS fix for 3.14-rc2

2014-02-06 Thread Ben Myers
Hi Linus,

   Please pull this xfs update for 3.14.  This is to allow logical sector sized
   direct io on advanced format disks.  Eric expressed a desire to get this fix
   in 3.14 because this bug affects some virtualization packages.

Thanks,
Ben

The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:

  Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
16:03:18 -0600)

are available in the git repository at:


  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2

for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:

  xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)


xfs: update #2 for v3.14-rc1

- allow logical sector sized direct io on 'advanced format' 4k/512 disk.


Eric Sandeen (3):
  xfs: clean up xfs_buftarg
  xfs: rename xfs_buftarg structure members
  xfs: allow logical-sector sized O_DIRECT

 fs/xfs/xfs_buf.c   | 14 +-
 fs/xfs/xfs_buf.h   | 20 +---
 fs/xfs/xfs_file.c  |  7 +--
 fs/xfs/xfs_ioctl.c |  2 +-
 4 files changed, 32 insertions(+), 11 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PULL] XFS fix for 3.14-rc2

2014-02-06 Thread Ben Myers
On Thu, Feb 06, 2014 at 01:34:53PM -0800, Linus Torvalds wrote:
 I have no idea why you keep re-sending this.
 
 It got merged a week ago. See commit f1499382f114.

Ok, there it is.  Sorry for the noise.

Thanks,
Ben 

 On Thu, Feb 6, 2014 at 9:31 AM, Ben Myers b...@sgi.com wrote:
  Hi Linus,
 
 Please pull this xfs update for 3.14.  This is to allow logical sector 
  sized
 direct io on advanced format disks.  Eric expressed a desire to get this 
  fix
 in 3.14 because this bug affects some virtualization packages.
 
  Thanks,
  Ben
 
  The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:
 
Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
  16:03:18 -0600)
 
  are available in the git repository at:
 
 
git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2
 
  for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:
 
xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)
 
  
  xfs: update #2 for v3.14-rc1
 
  - allow logical sector sized direct io on 'advanced format' 4k/512 disk.
 
  
  Eric Sandeen (3):
xfs: clean up xfs_buftarg
xfs: rename xfs_buftarg structure members
xfs: allow logical-sector sized O_DIRECT
 
   fs/xfs/xfs_buf.c   | 14 +-
   fs/xfs/xfs_buf.h   | 20 +---
   fs/xfs/xfs_file.c  |  7 +--
   fs/xfs/xfs_ioctl.c |  2 +-
   4 files changed, 32 insertions(+), 11 deletions(-)
 
 ___
 xfs mailing list
 x...@oss.sgi.com
 http://oss.sgi.com/mailman/listinfo/xfs
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PULL] XFS update #2 for 3.14-rc1

2014-02-03 Thread Ben Myers
Hey Linus,

On Tue, Jan 28, 2014 at 07:12:09PM -0600, Ben Myers wrote:
>Please pull this xfs update for 3.14.  This is to allow logical sector 
> sized
>direct io on advanced format disks.

Could you pick this up for -rc2?

Thanks,
Ben

> The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:
> 
>   Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
> 16:03:18 -0600)
> 
> are available in the git repository at:
> 
> 
>   git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2
> 
> for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:
> 
>   xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)
> 
> 
> xfs: update #2 for v3.14-rc1
> 
> - allow logical sector sized direct io on 'advanced format' 4k/512 disk.
> 
> 
> Eric Sandeen (3):
>   xfs: clean up xfs_buftarg
>   xfs: rename xfs_buftarg structure members
>   xfs: allow logical-sector sized O_DIRECT
> 
>  fs/xfs/xfs_buf.c   | 14 +-
>  fs/xfs/xfs_buf.h   | 20 +---
>  fs/xfs/xfs_file.c  |  7 +--
>  fs/xfs/xfs_ioctl.c |  2 +-
>  4 files changed, 32 insertions(+), 11 deletions(-)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [GIT PULL] XFS update #2 for 3.14-rc1

2014-02-03 Thread Ben Myers
Hey Linus,

On Tue, Jan 28, 2014 at 07:12:09PM -0600, Ben Myers wrote:
Please pull this xfs update for 3.14.  This is to allow logical sector 
 sized
direct io on advanced format disks.

Could you pick this up for -rc2?

Thanks,
Ben

 The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:
 
   Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
 16:03:18 -0600)
 
 are available in the git repository at:
 
 
   git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2
 
 for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:
 
   xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)
 
 
 xfs: update #2 for v3.14-rc1
 
 - allow logical sector sized direct io on 'advanced format' 4k/512 disk.
 
 
 Eric Sandeen (3):
   xfs: clean up xfs_buftarg
   xfs: rename xfs_buftarg structure members
   xfs: allow logical-sector sized O_DIRECT
 
  fs/xfs/xfs_buf.c   | 14 +-
  fs/xfs/xfs_buf.h   | 20 +---
  fs/xfs/xfs_file.c  |  7 +--
  fs/xfs/xfs_ioctl.c |  2 +-
  4 files changed, 32 insertions(+), 11 deletions(-)
 --
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS update #2 for 3.14-rc1

2014-01-28 Thread Ben Myers
Hi Linus,

   Please pull this xfs update for 3.14.  This is to allow logical sector sized
   direct io on advanced format disks.

Thanks,
Ben

The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:

  Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
16:03:18 -0600)

are available in the git repository at:


  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2

for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:

  xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)


xfs: update #2 for v3.14-rc1

- allow logical sector sized direct io on 'advanced format' 4k/512 disk.


Eric Sandeen (3):
  xfs: clean up xfs_buftarg
  xfs: rename xfs_buftarg structure members
  xfs: allow logical-sector sized O_DIRECT

 fs/xfs/xfs_buf.c   | 14 +-
 fs/xfs/xfs_buf.h   | 20 +---
 fs/xfs/xfs_file.c  |  7 +--
 fs/xfs/xfs_ioctl.c |  2 +-
 4 files changed, 32 insertions(+), 11 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS update #2 for 3.14-rc1

2014-01-28 Thread Ben Myers
Hi Linus,

   Please pull this xfs update for 3.14.  This is to allow logical sector sized
   direct io on advanced format disks.

Thanks,
Ben

The following changes since commit bf3964c188d686424ff7b69a45941851b9f437f0:

  Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
16:03:18 -0600)

are available in the git repository at:


  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1-2

for you to fetch changes up to 7c71ee78031c248dca13fc94dea9a4cc217db6cf:

  xfs: allow logical-sector sized O_DIRECT (2014-01-24 11:55:42 -0600)


xfs: update #2 for v3.14-rc1

- allow logical sector sized direct io on 'advanced format' 4k/512 disk.


Eric Sandeen (3):
  xfs: clean up xfs_buftarg
  xfs: rename xfs_buftarg structure members
  xfs: allow logical-sector sized O_DIRECT

 fs/xfs/xfs_buf.c   | 14 +-
 fs/xfs/xfs_buf.h   | 20 +---
 fs/xfs/xfs_file.c  |  7 +--
 fs/xfs/xfs_ioctl.c |  2 +-
 4 files changed, 32 insertions(+), 11 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS updates for 3.14-rc1

2014-01-22 Thread Ben Myers
Hi Linus,

   Please pull these XFS updates for 3.14-rc1.  This is primarily bug fixes,
   many of which you already have.  New stuff includes a series to decouple the
   in-memory and on-disk log format, helpers in the area of inode clusters, and
   i_version handling.

   We decided to try to use more topic branches this release, so there are some
   merge commits in there on account of that.  I'm afraid I didn't do a good
   job of putting meaningful comments in the first couple of merges.  Sorry
   about that.  I think I have the hang of it now.

Thanks,
 Ben

The following changes since commit dc1ccc48159d63eca5089e507c82c7d22ef60839:

  Linux 3.13-rc2 (2013-11-29 12:57:14 -0800)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1

for you to fetch changes up to bf3964c188d686424ff7b69a45941851b9f437f0:

  Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
16:03:18 -0600)



xfs: update for v3.14-rc1

For 3.14-rc1 there are fixes in the areas of remote attributes, discard,
growfs, memory leaks in recovery, directory v2, quotas, the MAINTAINERS
file, allocation alignment, extent list locking, and in
xfs_bmapi_allocate.  There are cleanups in xfs_setsize_buftarg, removing
unused macros, quotas, setattr, and freeing of inode clusters.  The
in-memory and on-disk log format have been decoupled, a common helper to
calculate the number of blocks in an inode cluster has been added, and
handling of i_version has been pulled into the filesystems that use it.

- cleanup in xfs_setsize_buftarg
- removal of remaining unused flags for vop toss/flush/flushinval
- fix for memory corruption in xfs_attrlist_by_handle
- fix for out-of-date comment in xfs_trans_dqlockedjoin
- fix for discard if range length is less than one block
- fix for overrun of agfl buffer using growfs on v4 superblock filesystems
- pull i_version handling out into the filesystems that use it
- don't leak recovery items on error
- fix for memory leak in xfs_dir2_node_removename
- several cleanups for quotas
- fix bad assertion in xfs_qm_vop_create_dqattach
- cleanup for xfs_setattr_mode, and add xfs_setattr_time
- fix quota assert in xfs_setattr_nonsize
- fix an infinite loop when turning off group/project quota before user
  quota
- fix for temporary buffer allocation failure in xfs_dir2_block_to_sf
  with large directory block sizes
- fix Dave's email address in MAINTAINERS
- cleanup calculation of freed inode cluster blocks
- fix alignment of initial file allocations to match filesystem geometry
- decouple in-memory and on-disk log format
- introduce a common helper to calculate the number of filesystem
  blocks in an inode cluster
- fixes for extent list locking
- fix for off-by-one in xfs_attr3_rmt_verify
- fix for missing destroy_work_on_stack in xfs_bmapi_allocate


Ben Myers (6):
  xfs: fix calculation of freed inode cluster blocks
  Merge branch 'xfs-factor-icluster-macros' into for-next
  Merge branch 'xfs-for-linus-v3.13-rc5' into for-next
  xfs: reinstate the ilock in xfs_readdir
  Merge branch 'xfs-misc' into for-next
  Merge branch 'xfs-extent-list-locking-fixes' into for-next

Christoph Hellwig (26):
  xfs: remove unused FI_ flags
  xfs: fix the comment explaining xfs_trans_dqlockedjoin
  fs: fix iversion handling
  xfs: tiny xfs_setattr_mode cleanup
  xfs: add xfs_setattr_time
  xfs: remove duplicate code in xlog_cil_insert_format_items
  xfs: refactor xfs_buf_item_format_segment
  xfs: refactor xfs_inode_item_size
  xfs: refactor xfs_inode_item_format
  xfs: introduce xlog_copy_iovec
  xfs: format log items write directly into the linear CIL buffer
  xfs: format logged extents directly into the CIL
  xfs: remove the inode log format from the inode log item
  xfs: remove the dquot log format from the dquot log item
  xfs: remove the quotaoff log format from the quotaoff log item
  xfs: remove xfsbdstrat error
  xfs: no need to lock the inode in xfs_find_handle
  xfs: remove xfs_iunlock_map_shared
  xfs: rename xfs_ilock_map_shared
  xfs: add xfs_ilock_attr_map_shared
  xfs: take the ilock around xfs_bmapi_read in xfs_zero_remaining_bytes
  xfs: use xfs_ilock_data_map_shared in xfs_qm_dqtobp
  xfs: use xfs_ilock_data_map_shared in xfs_qm_dqiterate
  xfs: use xfs_ilock_attr_map_shared in xfs_attr_get
  xfs: use xfs_ilock_attr_map_shared in xfs_attr_list_int
  xfs: assert that we hold the ilock for extent map access

Chuansheng Liu (1):
  xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()

Dan Carpenter (2):
  xfs: underflow bug in xfs_attrlist_by_handle()
  xfs: underflow bug in xfs_attrlist_by_handle()

Dave Chinner (7):
  xfs: growfs overruns AGFL buffer on V4

[GIT PULL] XFS updates for 3.14-rc1

2014-01-22 Thread Ben Myers
Hi Linus,

   Please pull these XFS updates for 3.14-rc1.  This is primarily bug fixes,
   many of which you already have.  New stuff includes a series to decouple the
   in-memory and on-disk log format, helpers in the area of inode clusters, and
   i_version handling.

   We decided to try to use more topic branches this release, so there are some
   merge commits in there on account of that.  I'm afraid I didn't do a good
   job of putting meaningful comments in the first couple of merges.  Sorry
   about that.  I think I have the hang of it now.

Thanks,
 Ben

The following changes since commit dc1ccc48159d63eca5089e507c82c7d22ef60839:

  Linux 3.13-rc2 (2013-11-29 12:57:14 -0800)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.14-rc1

for you to fetch changes up to bf3964c188d686424ff7b69a45941851b9f437f0:

  Merge branch 'xfs-extent-list-locking-fixes' into for-next (2014-01-09 
16:03:18 -0600)



xfs: update for v3.14-rc1

For 3.14-rc1 there are fixes in the areas of remote attributes, discard,
growfs, memory leaks in recovery, directory v2, quotas, the MAINTAINERS
file, allocation alignment, extent list locking, and in
xfs_bmapi_allocate.  There are cleanups in xfs_setsize_buftarg, removing
unused macros, quotas, setattr, and freeing of inode clusters.  The
in-memory and on-disk log format have been decoupled, a common helper to
calculate the number of blocks in an inode cluster has been added, and
handling of i_version has been pulled into the filesystems that use it.

- cleanup in xfs_setsize_buftarg
- removal of remaining unused flags for vop toss/flush/flushinval
- fix for memory corruption in xfs_attrlist_by_handle
- fix for out-of-date comment in xfs_trans_dqlockedjoin
- fix for discard if range length is less than one block
- fix for overrun of agfl buffer using growfs on v4 superblock filesystems
- pull i_version handling out into the filesystems that use it
- don't leak recovery items on error
- fix for memory leak in xfs_dir2_node_removename
- several cleanups for quotas
- fix bad assertion in xfs_qm_vop_create_dqattach
- cleanup for xfs_setattr_mode, and add xfs_setattr_time
- fix quota assert in xfs_setattr_nonsize
- fix an infinite loop when turning off group/project quota before user
  quota
- fix for temporary buffer allocation failure in xfs_dir2_block_to_sf
  with large directory block sizes
- fix Dave's email address in MAINTAINERS
- cleanup calculation of freed inode cluster blocks
- fix alignment of initial file allocations to match filesystem geometry
- decouple in-memory and on-disk log format
- introduce a common helper to calculate the number of filesystem
  blocks in an inode cluster
- fixes for extent list locking
- fix for off-by-one in xfs_attr3_rmt_verify
- fix for missing destroy_work_on_stack in xfs_bmapi_allocate


Ben Myers (6):
  xfs: fix calculation of freed inode cluster blocks
  Merge branch 'xfs-factor-icluster-macros' into for-next
  Merge branch 'xfs-for-linus-v3.13-rc5' into for-next
  xfs: reinstate the ilock in xfs_readdir
  Merge branch 'xfs-misc' into for-next
  Merge branch 'xfs-extent-list-locking-fixes' into for-next

Christoph Hellwig (26):
  xfs: remove unused FI_ flags
  xfs: fix the comment explaining xfs_trans_dqlockedjoin
  fs: fix iversion handling
  xfs: tiny xfs_setattr_mode cleanup
  xfs: add xfs_setattr_time
  xfs: remove duplicate code in xlog_cil_insert_format_items
  xfs: refactor xfs_buf_item_format_segment
  xfs: refactor xfs_inode_item_size
  xfs: refactor xfs_inode_item_format
  xfs: introduce xlog_copy_iovec
  xfs: format log items write directly into the linear CIL buffer
  xfs: format logged extents directly into the CIL
  xfs: remove the inode log format from the inode log item
  xfs: remove the dquot log format from the dquot log item
  xfs: remove the quotaoff log format from the quotaoff log item
  xfs: remove xfsbdstrat error
  xfs: no need to lock the inode in xfs_find_handle
  xfs: remove xfs_iunlock_map_shared
  xfs: rename xfs_ilock_map_shared
  xfs: add xfs_ilock_attr_map_shared
  xfs: take the ilock around xfs_bmapi_read in xfs_zero_remaining_bytes
  xfs: use xfs_ilock_data_map_shared in xfs_qm_dqtobp
  xfs: use xfs_ilock_data_map_shared in xfs_qm_dqiterate
  xfs: use xfs_ilock_attr_map_shared in xfs_attr_get
  xfs: use xfs_ilock_attr_map_shared in xfs_attr_list_int
  xfs: assert that we hold the ilock for extent map access

Chuansheng Liu (1):
  xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()

Dan Carpenter (2):
  xfs: underflow bug in xfs_attrlist_by_handle()
  xfs: underflow bug in xfs_attrlist_by_handle()

Dave Chinner (7):
  xfs: growfs overruns AGFL buffer on V4

[GIT PULL] XFS bugfixes for 3.13-rc8

2014-01-10 Thread Ben Myers
Hi Linus,

Please pull these fixes for XFS.  Here we have a bugfix for an
off-by-one in the remote attribute verifier that results in a forced
shutdown which you can hit with v5 superblock by creating a 64k xattr,
and a fix for a missing destroy_work_on_stack() in the allocation
worker.  It's a bit late, but they are both fairly straightforward.

Thanks,
Ben

The following changes since commit ac8809f9ab01a73de1a47b5a37bd8dcca8712fb3:

  xfs: abort metadata writeback on permanent errors (2013-12-17 09:40:23 -0600)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc8

for you to fetch changes up to 1f4a63bf019524c96e79f088cd717b96ef00a249:

  xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK() 
(2014-01-10 12:39:38 -0600)


xfs: bugfixes for 3.13-rc8

- fix off-by-one in xfs_attr3_rmt_verify
- fix missing destroy_work_on_stack() in xfs_bmapi_allocate


Chuansheng Liu (1):
  xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()

Jie Liu (1):
  xfs: fix off-by-one error in xfs_attr3_rmt_verify

 fs/xfs/xfs_attr_remote.c | 2 +-
 fs/xfs/xfs_bmap_util.c   | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] vfs: Fix possible NULL pointer dereference in inode_permission()

2014-01-10 Thread Ben Myers
Christoph,

On Fri, Jan 10, 2014 at 01:31:48AM -0800, Christoph Hellwig wrote:
> On Fri, Jan 10, 2014 at 12:06:42AM +, Al Viro wrote:
> > Check what XFS is doing ;-/  That's where those call_rcu() have come from.
> > Sure, we can separate the simple "just do call_rcu(...->free_inode)" case
> > and hit it whenever full ->free_inode is there and ->destroy_inode isn't.
> > Not too pretty, but removal of tons of boilerplate might be worth doing
> > that anyway.  But ->destroy_inode() is still needed for cases where fs
> > has its own idea of inode lifetime rules.  Again, check what XFS is doing
> > in that area...
> 
> Btw, I'd really love to get rid of the XFS ->destroy_inode abuse, it's
> been a long time thorn in the flesh.

I believe this behavior is related to freeing of an inode cluster.

> What's really needed there to make XFS behave more similar to everyone
> else is a way for the filesystem to say: "I can't actually free this
> inode right now, but I'll come back to you later".

This test might read something like:  "If my link count has gone to zero, and I
am the last inode in my cluster to be freed, and there are other inodes from my
cluster incore, I cannot be freed."

Should be doable.  Maybe there are other reasons.

-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] vfs: Fix possible NULL pointer dereference in inode_permission()

2014-01-10 Thread Ben Myers
Christoph,

On Fri, Jan 10, 2014 at 01:31:48AM -0800, Christoph Hellwig wrote:
 On Fri, Jan 10, 2014 at 12:06:42AM +, Al Viro wrote:
  Check what XFS is doing ;-/  That's where those call_rcu() have come from.
  Sure, we can separate the simple just do call_rcu(...-free_inode) case
  and hit it whenever full -free_inode is there and -destroy_inode isn't.
  Not too pretty, but removal of tons of boilerplate might be worth doing
  that anyway.  But -destroy_inode() is still needed for cases where fs
  has its own idea of inode lifetime rules.  Again, check what XFS is doing
  in that area...
 
 Btw, I'd really love to get rid of the XFS -destroy_inode abuse, it's
 been a long time thorn in the flesh.

I believe this behavior is related to freeing of an inode cluster.

 What's really needed there to make XFS behave more similar to everyone
 else is a way for the filesystem to say: I can't actually free this
 inode right now, but I'll come back to you later.

This test might read something like:  If my link count has gone to zero, and I
am the last inode in my cluster to be freed, and there are other inodes from my
cluster incore, I cannot be freed.

Should be doable.  Maybe there are other reasons.

-Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS bugfixes for 3.13-rc8

2014-01-10 Thread Ben Myers
Hi Linus,

Please pull these fixes for XFS.  Here we have a bugfix for an
off-by-one in the remote attribute verifier that results in a forced
shutdown which you can hit with v5 superblock by creating a 64k xattr,
and a fix for a missing destroy_work_on_stack() in the allocation
worker.  It's a bit late, but they are both fairly straightforward.

Thanks,
Ben

The following changes since commit ac8809f9ab01a73de1a47b5a37bd8dcca8712fb3:

  xfs: abort metadata writeback on permanent errors (2013-12-17 09:40:23 -0600)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc8

for you to fetch changes up to 1f4a63bf019524c96e79f088cd717b96ef00a249:

  xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK() 
(2014-01-10 12:39:38 -0600)


xfs: bugfixes for 3.13-rc8

- fix off-by-one in xfs_attr3_rmt_verify
- fix missing destroy_work_on_stack() in xfs_bmapi_allocate


Chuansheng Liu (1):
  xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()

Jie Liu (1):
  xfs: fix off-by-one error in xfs_attr3_rmt_verify

 fs/xfs/xfs_attr_remote.c | 2 +-
 fs/xfs/xfs_bmap_util.c   | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 2/3] xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()

2014-01-07 Thread Ben Myers
On Tue, Jan 07, 2014 at 07:21:05PM +0800, Jeff Liu wrote:
> Hi Chuansheng,
> 
> On 01/07 2014 16:53 PM, Chuansheng Liu wrote:
> > 
> > In case CONFIG_DEBUG_OBJECTS_WORK is defined, it is needed to
> > call destroy_work_on_stack() which frees the debug object to pair
> > with INIT_WORK_ONSTACK().
> > 
> > Signed-off-by: Liu, Chuansheng 
> > ---
> >  fs/xfs/xfs_bmap_util.c |1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c
> > index 1394106..82e0dab 100644
> > --- a/fs/xfs/xfs_bmap_util.c
> > +++ b/fs/xfs/xfs_bmap_util.c
> > @@ -287,6 +287,7 @@ xfs_bmapi_allocate(
> > INIT_WORK_ONSTACK(>work, xfs_bmapi_allocate_worker);
> > queue_work(xfs_alloc_wq, >work);
> > wait_for_completion();
> > +   destroy_work_on_stack(>work);
> > return args->result;
> >  }
> 
> Thanks for your patch and it work fine for my testing.  I missed this in an
> old commit: [ 3b876c8f2a xfs: fix debug_object WARN at xfs_alloc_vextent() ] 

Looks good to me too.
Reviewed-by: Ben Myers 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 2/3] xfs: Calling destroy_work_on_stack() to pair with INIT_WORK_ONSTACK()

2014-01-07 Thread Ben Myers
On Tue, Jan 07, 2014 at 07:21:05PM +0800, Jeff Liu wrote:
 Hi Chuansheng,
 
 On 01/07 2014 16:53 PM, Chuansheng Liu wrote:
  
  In case CONFIG_DEBUG_OBJECTS_WORK is defined, it is needed to
  call destroy_work_on_stack() which frees the debug object to pair
  with INIT_WORK_ONSTACK().
  
  Signed-off-by: Liu, Chuansheng chuansheng@intel.com
  ---
   fs/xfs/xfs_bmap_util.c |1 +
   1 file changed, 1 insertion(+)
  
  diff --git a/fs/xfs/xfs_bmap_util.c b/fs/xfs/xfs_bmap_util.c
  index 1394106..82e0dab 100644
  --- a/fs/xfs/xfs_bmap_util.c
  +++ b/fs/xfs/xfs_bmap_util.c
  @@ -287,6 +287,7 @@ xfs_bmapi_allocate(
  INIT_WORK_ONSTACK(args-work, xfs_bmapi_allocate_worker);
  queue_work(xfs_alloc_wq, args-work);
  wait_for_completion(done);
  +   destroy_work_on_stack(args-work);
  return args-result;
   }
 
 Thanks for your patch and it work fine for my testing.  I missed this in an
 old commit: [ 3b876c8f2a xfs: fix debug_object WARN at xfs_alloc_vextent() ] 

Looks good to me too.
Reviewed-by: Ben Myers b...@sgi.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS bugfixes for 3.13-rc5

2013-12-19 Thread Ben Myers
Hi Linus,

   Please pull these fixes for XFS.  This contains fixes for some asserts
   related to project quotas, a memory leak, a hang when disabling group or
   project quotas before disabling user quotas, Dave's email address, several
   fixes for the alignment of file allocation to stripe unit/width geometry, a
   fix for an assertion with xfs_zero_remaining_bytes, and the behavior of
   metadata writeback in the face of IO errors.

Thanks,
Ben

The following changes since commit f94c44573e7c22860e2c3dfe349c45f72ba35ad3:

  xfs: growfs overruns AGFL buffer on V4 filesystems (2013-12-10 10:04:27 -0600)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc5

for you to fetch changes up to ac8809f9ab01a73de1a47b5a37bd8dcca8712fb3:

  xfs: abort metadata writeback on permanent errors (2013-12-17 09:40:23 -0600)


xfs: bugfixes for 3.13-rc5

- fix memory leak in xfs_dir2_node_removename
- fix quota assertion in xfs_setattr_size
- fix quota assertions in xfs_qm_vop_create_dqattach
- fix for hang when disabling group and project quotas before
  disabling user quotas
- fix Dave Chinner's email address in MAINTAINERS
- fix for file allocation alignment
- fix for assertion in xfs_buf_stale by removing xfsbdstrat
- fix for alignment with swalloc mount option
- fix for "retry forever" semantics on IO errors


Christoph Hellwig (1):
  xfs: remove xfsbdstrat error

Dave Chinner (3):
  xfs: align initial file allocations correctly
  xfs: swalloc doesn't align allocations properly
  xfs: abort metadata writeback on permanent errors

Jie Liu (3):
  xfs: fix false assertion at xfs_qm_vop_create_dqattach
  xfs: fix assertion failure at xfs_setattr_nonsize
  xfs: fix infinite loop by detaching the group/project hints from user 
dquot

Mark Tinguely (1):
  xfs: fix memory leak in xfs_dir2_node_removename

Namjae Jeon (1):
  MAINTAINERS: fix incorrect mail address of XFS maintainer

 MAINTAINERS  |  2 +-
 fs/xfs/xfs_bmap.c| 32 ++-
 fs/xfs/xfs_bmap_util.c   | 14 +++--
 fs/xfs/xfs_buf.c | 37 +-
 fs/xfs/xfs_buf.h | 11 ---
 fs/xfs/xfs_buf_item.c| 21 +++--
 fs/xfs/xfs_dir2_node.c   | 26 
 fs/xfs/xfs_iops.c|  3 +-
 fs/xfs/xfs_log_recover.c | 13 ++--
 fs/xfs/xfs_qm.c  | 80 
 fs/xfs/xfs_trans_buf.c   | 13 +++-
 11 files changed, 168 insertions(+), 84 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS bugfixes for 3.13-rc5

2013-12-19 Thread Ben Myers
Hi Linus,

   Please pull these fixes for XFS.  This contains fixes for some asserts
   related to project quotas, a memory leak, a hang when disabling group or
   project quotas before disabling user quotas, Dave's email address, several
   fixes for the alignment of file allocation to stripe unit/width geometry, a
   fix for an assertion with xfs_zero_remaining_bytes, and the behavior of
   metadata writeback in the face of IO errors.

Thanks,
Ben

The following changes since commit f94c44573e7c22860e2c3dfe349c45f72ba35ad3:

  xfs: growfs overruns AGFL buffer on V4 filesystems (2013-12-10 10:04:27 -0600)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc5

for you to fetch changes up to ac8809f9ab01a73de1a47b5a37bd8dcca8712fb3:

  xfs: abort metadata writeback on permanent errors (2013-12-17 09:40:23 -0600)


xfs: bugfixes for 3.13-rc5

- fix memory leak in xfs_dir2_node_removename
- fix quota assertion in xfs_setattr_size
- fix quota assertions in xfs_qm_vop_create_dqattach
- fix for hang when disabling group and project quotas before
  disabling user quotas
- fix Dave Chinner's email address in MAINTAINERS
- fix for file allocation alignment
- fix for assertion in xfs_buf_stale by removing xfsbdstrat
- fix for alignment with swalloc mount option
- fix for retry forever semantics on IO errors


Christoph Hellwig (1):
  xfs: remove xfsbdstrat error

Dave Chinner (3):
  xfs: align initial file allocations correctly
  xfs: swalloc doesn't align allocations properly
  xfs: abort metadata writeback on permanent errors

Jie Liu (3):
  xfs: fix false assertion at xfs_qm_vop_create_dqattach
  xfs: fix assertion failure at xfs_setattr_nonsize
  xfs: fix infinite loop by detaching the group/project hints from user 
dquot

Mark Tinguely (1):
  xfs: fix memory leak in xfs_dir2_node_removename

Namjae Jeon (1):
  MAINTAINERS: fix incorrect mail address of XFS maintainer

 MAINTAINERS  |  2 +-
 fs/xfs/xfs_bmap.c| 32 ++-
 fs/xfs/xfs_bmap_util.c   | 14 +++--
 fs/xfs/xfs_buf.c | 37 +-
 fs/xfs/xfs_buf.h | 11 ---
 fs/xfs/xfs_buf_item.c| 21 +++--
 fs/xfs/xfs_dir2_node.c   | 26 
 fs/xfs/xfs_iops.c|  3 +-
 fs/xfs/xfs_log_recover.c | 13 ++--
 fs/xfs/xfs_qm.c  | 80 
 fs/xfs/xfs_trans_buf.c   | 13 +++-
 11 files changed, 168 insertions(+), 84 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS bugfixes for 3.13-rc4

2013-12-10 Thread Ben Myers
Hi Linus,

   Please pull these bugfixes for xfs.  There is a security fix for memory
   corruption in xfs_attrlist_by_handle, a fix for trim, and a fix for buffer
   overrun in the agfl when growing filesystems with a v4 superblock.

Thanks,
Ben

The following changes since commit dc1ccc48159d63eca5089e507c82c7d22ef60839:

  Linux 3.13-rc2 (2013-11-29 12:57:14 -0800)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc4

for you to fetch changes up to f94c44573e7c22860e2c3dfe349c45f72ba35ad3:

  xfs: growfs overruns AGFL buffer on V4 filesystems (2013-12-10 10:04:27 -0600)


xfs: bugfixes for 3.13-rc4

- fix for buffer overrun in agfl with growfs on v4 superblock
- return EINVAL if requested discard length is less than a block
- fix possible memory corruption in xfs_attrlist_by_handle()


Dan Carpenter (1):
  xfs: underflow bug in xfs_attrlist_by_handle()

Dave Chinner (1):
  xfs: growfs overruns AGFL buffer on V4 filesystems

Jie Liu (1):
  xfs: don't perform discard if the given range length is less than block 
size

 fs/xfs/xfs_discard.c | 5 +++--
 fs/xfs/xfs_fsops.c   | 6 +-
 fs/xfs/xfs_ioctl.c   | 3 ++-
 fs/xfs/xfs_ioctl32.c | 3 ++-
 4 files changed, 12 insertions(+), 5 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS security fix never sent to -stable?

2013-12-10 Thread Ben Myers
Hi,

On Tue, Dec 10, 2013 at 08:31:23AM -0600, Eric Sandeen wrote:
> On 12/10/13, 7:15 AM, Josh Boyer wrote:
> > On Tue, Dec 10, 2013 at 2:56 AM, Greg KH  wrote:
> >> On Tue, Dec 10, 2013 at 10:55:23AM +1100, Dave Chinner wrote:
> >>> [cc xfs list, cc sta...@vger.kernel.org]
> >>>
> >>> On Mon, Dec 09, 2013 at 08:17:09AM -0500, Josh Boyer wrote:
>  On Mon, Dec 9, 2013 at 7:15 AM, Luis Henriques
>   wrote:
> > On Thu, Dec 05, 2013 at 04:35:50PM -0800, Kees Cook wrote:
> >> Hi,
> >>
> >> It looks like 8c567a7fab6e086a0284eee2db82348521e7120c ("xfs: add
> >> capability check to free eofblocks ioctl") is a security fix that was
> >> never sent to -stable? From what I can see, it was introduced in 3.8
> >> by 8ca149de80478441352a8622ea15fae7de703ced ("xfs: add
> >> XFS_IOC_FREE_EOFBLOCKS ioctl").
> >>
> >> I don't see this in the 3.8.y tree. Should it be added there and newer?
> >
> > Thanks Kees, I'm queuing it for the 3.11 kernel.
> 
>  There's also this one:
> 
>  http://thread.gmane.org/gmane.comp.file-systems.xfs.general/57654
> 
>  It fixes CVE-2013-6382
> >>>
> >>> First I've heard about it there being a CVE for that bug. Since when
> >>> has it been considered best practice to publish CVEs without first
> >>> (or ever) directly contacting the relevant upstream developers?
> >>>
> >>> But, regardless of how broken I think the CVE process is, commit
> >>> 071c529 ("xfs: underflow bug in xfs_attrlist_by_handle()") should be
> >>> picked up by the stable kernels.
> >>
> >> I don't see that commit in Linus's tree, is it not there yet?
> > 
> > Not yet.  Ben said it's applied but I'm not sure where that is.
> 
> xfs git tree:
> 
> http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=commitdiff;h=071c529eb672648ee8ca3f90944bcbcc730b4c06

I'll send a pull request containing this commit this afternoon.

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS bugfixes for 3.13-rc4

2013-12-10 Thread Ben Myers
Hi Linus,

   Please pull these bugfixes for xfs.  There is a security fix for memory
   corruption in xfs_attrlist_by_handle, a fix for trim, and a fix for buffer
   overrun in the agfl when growing filesystems with a v4 superblock.

Thanks,
Ben

The following changes since commit dc1ccc48159d63eca5089e507c82c7d22ef60839:

  Linux 3.13-rc2 (2013-11-29 12:57:14 -0800)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc4

for you to fetch changes up to f94c44573e7c22860e2c3dfe349c45f72ba35ad3:

  xfs: growfs overruns AGFL buffer on V4 filesystems (2013-12-10 10:04:27 -0600)


xfs: bugfixes for 3.13-rc4

- fix for buffer overrun in agfl with growfs on v4 superblock
- return EINVAL if requested discard length is less than a block
- fix possible memory corruption in xfs_attrlist_by_handle()


Dan Carpenter (1):
  xfs: underflow bug in xfs_attrlist_by_handle()

Dave Chinner (1):
  xfs: growfs overruns AGFL buffer on V4 filesystems

Jie Liu (1):
  xfs: don't perform discard if the given range length is less than block 
size

 fs/xfs/xfs_discard.c | 5 +++--
 fs/xfs/xfs_fsops.c   | 6 +-
 fs/xfs/xfs_ioctl.c   | 3 ++-
 fs/xfs/xfs_ioctl32.c | 3 ++-
 4 files changed, 12 insertions(+), 5 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS security fix never sent to -stable?

2013-12-10 Thread Ben Myers
Hi,

On Tue, Dec 10, 2013 at 08:31:23AM -0600, Eric Sandeen wrote:
 On 12/10/13, 7:15 AM, Josh Boyer wrote:
  On Tue, Dec 10, 2013 at 2:56 AM, Greg KH gre...@linuxfoundation.org wrote:
  On Tue, Dec 10, 2013 at 10:55:23AM +1100, Dave Chinner wrote:
  [cc xfs list, cc sta...@vger.kernel.org]
 
  On Mon, Dec 09, 2013 at 08:17:09AM -0500, Josh Boyer wrote:
  On Mon, Dec 9, 2013 at 7:15 AM, Luis Henriques
  luis.henriq...@canonical.com wrote:
  On Thu, Dec 05, 2013 at 04:35:50PM -0800, Kees Cook wrote:
  Hi,
 
  It looks like 8c567a7fab6e086a0284eee2db82348521e7120c (xfs: add
  capability check to free eofblocks ioctl) is a security fix that was
  never sent to -stable? From what I can see, it was introduced in 3.8
  by 8ca149de80478441352a8622ea15fae7de703ced (xfs: add
  XFS_IOC_FREE_EOFBLOCKS ioctl).
 
  I don't see this in the 3.8.y tree. Should it be added there and newer?
 
  Thanks Kees, I'm queuing it for the 3.11 kernel.
 
  There's also this one:
 
  http://thread.gmane.org/gmane.comp.file-systems.xfs.general/57654
 
  It fixes CVE-2013-6382
 
  First I've heard about it there being a CVE for that bug. Since when
  has it been considered best practice to publish CVEs without first
  (or ever) directly contacting the relevant upstream developers?
 
  But, regardless of how broken I think the CVE process is, commit
  071c529 (xfs: underflow bug in xfs_attrlist_by_handle()) should be
  picked up by the stable kernels.
 
  I don't see that commit in Linus's tree, is it not there yet?
  
  Not yet.  Ben said it's applied but I'm not sure where that is.
 
 xfs git tree:
 
 http://oss.sgi.com/cgi-bin/gitweb.cgi?p=xfs/xfs.git;a=commitdiff;h=071c529eb672648ee8ca3f90944bcbcc730b4c06

I'll send a pull request containing this commit this afternoon.

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] update xfs maintainers

2013-11-14 Thread Ben Myers
On Thu, Nov 14, 2013 at 05:22:26PM +1100, Dave Chinner wrote:
> On Fri, Nov 08, 2013 at 04:03:10PM -0600, Ben Myers wrote:
> > From: Ben Myers 
> > 
> > xfs: update maintainers 
> > 
> > Add Dave as maintainer of XFS.
> > 
> > Signed-off-by: Ben Myers 
> > ---
> >  MAINTAINERS |2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > Index: b/MAINTAINERS
> > ===
> > --- a/MAINTAINERS   2013-11-08 15:20:18.935186245 -0600
> > +++ b/MAINTAINERS   2013-11-08 15:22:50.685245977 -0600
> > @@ -9387,8 +9387,8 @@ F:drivers/xen/*swiotlb*
> >  
> >  XFS FILESYSTEM
> >  P: Silicon Graphics Inc
> > +M: Dave Chinner 
> >  M: Ben Myers 
> > -M: Alex Elder 
> >  M: x...@oss.sgi.com
> >  L: x...@oss.sgi.com
> >  W: http://oss.sgi.com/projects/xfs
> 
> Reviewed-by: Dave Chinner 

Applied.  ;)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] update xfs maintainers

2013-11-14 Thread Ben Myers
On Thu, Nov 14, 2013 at 05:22:26PM +1100, Dave Chinner wrote:
 On Fri, Nov 08, 2013 at 04:03:10PM -0600, Ben Myers wrote:
  From: Ben Myers b...@sgi.com
  
  xfs: update maintainers 
  
  Add Dave as maintainer of XFS.
  
  Signed-off-by: Ben Myers b...@sgi.com
  ---
   MAINTAINERS |2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
  
  Index: b/MAINTAINERS
  ===
  --- a/MAINTAINERS   2013-11-08 15:20:18.935186245 -0600
  +++ b/MAINTAINERS   2013-11-08 15:22:50.685245977 -0600
  @@ -9387,8 +9387,8 @@ F:drivers/xen/*swiotlb*
   
   XFS FILESYSTEM
   P: Silicon Graphics Inc
  +M: Dave Chinner dchin...@fromorbit.com
   M: Ben Myers b...@sgi.com
  -M: Alex Elder el...@kernel.org
   M: x...@oss.sgi.com
   L: x...@oss.sgi.com
   W: http://oss.sgi.com/projects/xfs
 
 Reviewed-by: Dave Chinner da...@fromorbit.com

Applied.  ;)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS update for 3.13-rc1

2013-11-13 Thread Ben Myers
Hi Linus,

Please pull these XFS updates for 3.13-rc1.  It's kind of a random
assortment.  There is more rearrangement to make libxfs sync with the
kernel, the differences between v2 and v3 were abstracted into an ops
vector, xfs_inactive was reworked, along with the preallocation and hole
punch codepaths.  Plenty of bugfixes, and cleanups too.

Thanks,
Ben

The following changes since commit 272b98c6455f00884f0350f775c5342358ebb73f:

  Linux 3.12-rc1 (2013-09-16 16:17:51 -0400)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc1

for you to fetch changes up to 359d992bcd398273637cd9edde10afca953783c4:

  xfs: simplify kmem_{zone_}zalloc (2013-11-06 16:31:27 -0600)


xfs: update for v3.13-rc1

For 3.13-rc1 we have an eclectic assortment of bugfixes, cleanups, and
refactoring.  Bugfixes that stand out are the fix for the AGF/AGI
deadlock, incore extent list fixes, verifier fixes for v4 superblocks
and growfs, and memory leaks.  There are some asserts, warnings, and
strings that were cleaned up.  There was further rearrangement of code
to make libxfs and the kernel sync up more easily, differences between
v2 and v3 directory code were abstracted using an ops vector,
xfs_inactive was reworked, and the preallocation/hole punching code was
refactored.

- simplify kmem_zone_zalloc
- add traces for AGF/AGI read ops
- add additional AIL traces
- fix xfs_remove AGF vs AGI deadlock
- fix the extent count of new incore extent page in the indirection array
- don't fail bad secondary superblocks verification on v4 filesystems
  due to unzeroed bits after v4 fields
- fix possible NULL dereference in xlog_verify_iclog
- remove redundant assert in xfs_dir2_leafn_split
- prevent stack overflows from page cache allocation
- fix some sparse warnings
- fix directory block format verifier to check the leaf entry count
- abstract the differences in dir2/dir3 via an ops vector
- continue process of reorganization to make libxfs/kernel code merges easier
- refactor the preallocation and hole punching code
- fix for growfs and verifiers
- remove unnecessary scary corruption error when probing non-xfs filesystems
- remove extra newlines from strings passed to printk
- prevent deadlock trying to cover an active log
- rework xfs_inactive()
- add the inode directory type support to XFS_IOC_FSGEOM
- cleanup (remove) usage of is_bad_inode
- fix miscalculation in xfs_iext_realloc_direct which results in oversized
  direct extent list
- remove unnecessary count arg to xfs_iomap_write_allocate
- fix memory leak in xlog_recover_add_to_trans
- check superblock instead of block magic to determine if dtype field
  is present
- fix lockdep annotation due to project quotas
- fix regression in xfs_node_toosmall which can lead to incorrect directory
  btree node collapse
- make log recovery verify filesystem uuid of recovering blocks
- fix XFS_IOC_FREE_EOFBLOCKS definition
- remove invalid assert in xfs_inode_free
- fix for AIL lock regression


Ben Myers (1):
  xfs: remove usage of is_bad_inode

Brian Foster (4):
  xfs: push down inactive transaction mgmt for remote symlinks
  xfs: push down inactive transaction mgmt for truncate
  xfs: push down inactive transaction mgmt for ifree
  xfs: clean up xfs_inactive() error handling, kill VN_INACTIVE_[NO]CACHE

Christoph Hellwig (5):
  xfs: always take the iolock around xfs_setattr_size
  xfs: remove the unused XFS_ATTR_NONBLOCK flag
  xfs: always hold the iolock when calling xfs_change_file_space
  xfs: simplify the fallocate path
  xfs: fold xfs_change_file_space into xfs_ioc_space

Dave Chinner (30):
  xfs: lock the AIL before removing the buffer item
  xfs: asserting lock not held during freeing not valid
  xfs: fix XFS_IOC_FREE_EOFBLOCKS definition
  xfs: log recovery lsn ordering needs uuid check
  xfs: lockdep needs to know about 3 dquot-deep nesting
  xfs: dirent dtype presence is dependent on directory magic numbers
  xfs: prevent deadlock trying to cover an active log
  xfs: create a shared header file for format-related information
  xfs: unify directory/attribute format definitions
  xfs: split dquot buffer operations out
  xfs: remove unused transaction callback variables
  xfs: decouple log and transaction headers
  xfs: decouple inode and bmap btree header files
  xfs: split xfs_rtalloc.c for userspace sanity
  xfs: abstract the differences in dir2/dir3 via an ops vector
  xfs: vectorise remaining shortform dir2 ops
  xfs: vectorise directory data operations
  xfs: vectorise directory data operations part 2
  xfs: vectorise directory leaf operations
  xfs: vectorise DA btree operations
  xfs: vectorise encoding/decoding directory headers
  xfs: convert directory vector

[GIT PULL] XFS update for 3.13-rc1

2013-11-13 Thread Ben Myers
Hi Linus,

Please pull these XFS updates for 3.13-rc1.  It's kind of a random
assortment.  There is more rearrangement to make libxfs sync with the
kernel, the differences between v2 and v3 were abstracted into an ops
vector, xfs_inactive was reworked, along with the preallocation and hole
punch codepaths.  Plenty of bugfixes, and cleanups too.

Thanks,
Ben

The following changes since commit 272b98c6455f00884f0350f775c5342358ebb73f:

  Linux 3.12-rc1 (2013-09-16 16:17:51 -0400)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.13-rc1

for you to fetch changes up to 359d992bcd398273637cd9edde10afca953783c4:

  xfs: simplify kmem_{zone_}zalloc (2013-11-06 16:31:27 -0600)


xfs: update for v3.13-rc1

For 3.13-rc1 we have an eclectic assortment of bugfixes, cleanups, and
refactoring.  Bugfixes that stand out are the fix for the AGF/AGI
deadlock, incore extent list fixes, verifier fixes for v4 superblocks
and growfs, and memory leaks.  There are some asserts, warnings, and
strings that were cleaned up.  There was further rearrangement of code
to make libxfs and the kernel sync up more easily, differences between
v2 and v3 directory code were abstracted using an ops vector,
xfs_inactive was reworked, and the preallocation/hole punching code was
refactored.

- simplify kmem_zone_zalloc
- add traces for AGF/AGI read ops
- add additional AIL traces
- fix xfs_remove AGF vs AGI deadlock
- fix the extent count of new incore extent page in the indirection array
- don't fail bad secondary superblocks verification on v4 filesystems
  due to unzeroed bits after v4 fields
- fix possible NULL dereference in xlog_verify_iclog
- remove redundant assert in xfs_dir2_leafn_split
- prevent stack overflows from page cache allocation
- fix some sparse warnings
- fix directory block format verifier to check the leaf entry count
- abstract the differences in dir2/dir3 via an ops vector
- continue process of reorganization to make libxfs/kernel code merges easier
- refactor the preallocation and hole punching code
- fix for growfs and verifiers
- remove unnecessary scary corruption error when probing non-xfs filesystems
- remove extra newlines from strings passed to printk
- prevent deadlock trying to cover an active log
- rework xfs_inactive()
- add the inode directory type support to XFS_IOC_FSGEOM
- cleanup (remove) usage of is_bad_inode
- fix miscalculation in xfs_iext_realloc_direct which results in oversized
  direct extent list
- remove unnecessary count arg to xfs_iomap_write_allocate
- fix memory leak in xlog_recover_add_to_trans
- check superblock instead of block magic to determine if dtype field
  is present
- fix lockdep annotation due to project quotas
- fix regression in xfs_node_toosmall which can lead to incorrect directory
  btree node collapse
- make log recovery verify filesystem uuid of recovering blocks
- fix XFS_IOC_FREE_EOFBLOCKS definition
- remove invalid assert in xfs_inode_free
- fix for AIL lock regression


Ben Myers (1):
  xfs: remove usage of is_bad_inode

Brian Foster (4):
  xfs: push down inactive transaction mgmt for remote symlinks
  xfs: push down inactive transaction mgmt for truncate
  xfs: push down inactive transaction mgmt for ifree
  xfs: clean up xfs_inactive() error handling, kill VN_INACTIVE_[NO]CACHE

Christoph Hellwig (5):
  xfs: always take the iolock around xfs_setattr_size
  xfs: remove the unused XFS_ATTR_NONBLOCK flag
  xfs: always hold the iolock when calling xfs_change_file_space
  xfs: simplify the fallocate path
  xfs: fold xfs_change_file_space into xfs_ioc_space

Dave Chinner (30):
  xfs: lock the AIL before removing the buffer item
  xfs: asserting lock not held during freeing not valid
  xfs: fix XFS_IOC_FREE_EOFBLOCKS definition
  xfs: log recovery lsn ordering needs uuid check
  xfs: lockdep needs to know about 3 dquot-deep nesting
  xfs: dirent dtype presence is dependent on directory magic numbers
  xfs: prevent deadlock trying to cover an active log
  xfs: create a shared header file for format-related information
  xfs: unify directory/attribute format definitions
  xfs: split dquot buffer operations out
  xfs: remove unused transaction callback variables
  xfs: decouple log and transaction headers
  xfs: decouple inode and bmap btree header files
  xfs: split xfs_rtalloc.c for userspace sanity
  xfs: abstract the differences in dir2/dir3 via an ops vector
  xfs: vectorise remaining shortform dir2 ops
  xfs: vectorise directory data operations
  xfs: vectorise directory data operations part 2
  xfs: vectorise directory leaf operations
  xfs: vectorise DA btree operations
  xfs: vectorise encoding/decoding directory headers
  xfs: convert directory vector

Re: XFS leadership and a new co-maintainer candidate

2013-11-12 Thread Ben Myers
Hey,

On Tue, Nov 12, 2013 at 09:32:53AM -0800, Christoph Hellwig wrote:
> On Fri, Nov 08, 2013 at 02:46:06PM -0600, Ben Myers wrote:
> > That really didn't happen Christoph.  It's not in my tree or in a pull 
> > request.
> 
> I'll take my back room complain back then, but I still think that this
> is not a useful way to discuss something like this.

Thanks.  Tact, Ben, Tact.  ;)

> > Linus, let me know what you want to do.  I do think we're doing a fair job
> > over here, and (geez) I'm just trying to add Mark as my backup since Alex
> > is too busy.  I know the RH people want more control, and that's
> > understandable, but they really don't need to replace me to get their code
> > in.  Ouch.
> 
> I'd really like to see more diversity in XFS maintainers.  The SGI focus has
> defintively been an issue again and again because it seems when one SGI
> person is too busy the others usually are as well.  As mentioned before
> there's also been historically a way too high turnover, with the associated
> transition pains.

I think diversity in XFS maintainers is a great idea.  How wide of a net are
you suggesting we cast?  I guess it sort of depends upon what you feel is the
purpose of the file.
 
> By making sure we have a broader base for the maintainers, and a more open
> infrastructure we'll all win.

Agreed.

> Note that we already had that sort
> of instructure on kernel.org, but gave up on it because many people
> perceived the effort to re-gain the kernel.org accounts to high.

It is a little difficult to find your way into the web of trust.  Not everyone
is in a position to make way to a conference, or to meet people in person.  And
even then it can be intimidating to ask for a signature.
 
> I would also really like to get a clarification on "I know the RH people want
> more control, and that's understandable, but they really don't need to
> replace me to get their code in".  What specific people are you worried about
> an what code?  What makes "the RH people" less worthy to their code in than
> "the SGI" people.

I'm convinced we're having this discussion for the right reasons, so let's let
that line of discussion die where it is.  

Regards,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS leadership and a new co-maintainer candidate

2013-11-12 Thread Ben Myers
Hey,

On Tue, Nov 12, 2013 at 09:32:53AM -0800, Christoph Hellwig wrote:
 On Fri, Nov 08, 2013 at 02:46:06PM -0600, Ben Myers wrote:
  That really didn't happen Christoph.  It's not in my tree or in a pull 
  request.
 
 I'll take my back room complain back then, but I still think that this
 is not a useful way to discuss something like this.

Thanks.  Tact, Ben, Tact.  ;)

  Linus, let me know what you want to do.  I do think we're doing a fair job
  over here, and (geez) I'm just trying to add Mark as my backup since Alex
  is too busy.  I know the RH people want more control, and that's
  understandable, but they really don't need to replace me to get their code
  in.  Ouch.
 
 I'd really like to see more diversity in XFS maintainers.  The SGI focus has
 defintively been an issue again and again because it seems when one SGI
 person is too busy the others usually are as well.  As mentioned before
 there's also been historically a way too high turnover, with the associated
 transition pains.

I think diversity in XFS maintainers is a great idea.  How wide of a net are
you suggesting we cast?  I guess it sort of depends upon what you feel is the
purpose of the file.
 
 By making sure we have a broader base for the maintainers, and a more open
 infrastructure we'll all win.

Agreed.

 Note that we already had that sort
 of instructure on kernel.org, but gave up on it because many people
 perceived the effort to re-gain the kernel.org accounts to high.

It is a little difficult to find your way into the web of trust.  Not everyone
is in a position to make way to a conference, or to meet people in person.  And
even then it can be intimidating to ask for a signature.
 
 I would also really like to get a clarification on I know the RH people want
 more control, and that's understandable, but they really don't need to
 replace me to get their code in.  What specific people are you worried about
 an what code?  What makes the RH people less worthy to their code in than
 the SGI people.

I'm convinced we're having this discussion for the right reasons, so let's let
that line of discussion die where it is.  

Regards,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] update xfs maintainers

2013-11-10 Thread Ben Myers
Hey Dave,

On Mon, Nov 11, 2013 at 10:12:41AM +1100, Dave Chinner wrote:
> On Sat, Nov 09, 2013 at 06:30:49PM -0600, Ben Myers wrote:
> > On Sat, Nov 09, 2013 at 05:51:30PM -0600, Ben Myers wrote:
> > > On Sat, Nov 09, 2013 at 10:44:24AM +1100, NeilBrown wrote:
> > > > On Sat, 9 Nov 2013 06:59:00 +0800 Zhi Yong Wu  
> > > > wrote:
> > > > > On Sat, Nov 9, 2013 at 6:03 AM, Ben Myers  wrote:
> > > > > > On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
> > > > > >> On 11/08/2013 03:46 PM, Ben Myers wrote:
> > > > > >> >Hey Christoph,
> > > > > >> >
> > > > > >> >On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
> > > > > >> >>On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
> > > > > >> >>>Mark is replacing Alex as my backup because Alex is really busy 
> > > > > >> >>>at
> > > > > >> >>>Linaro and asked to be taken off awhile ago.  The holiday 
> > > > > >> >>>season is
> > > > > >> >>>coming up and I fully intend to go off my meds, turn in to 
> > > > > >> >>>Fonzy the
> > > > > >> >>>bear, and eat my hat.  I need someone to watch the shop while 
> > > > > >> >>>I'm off
> > > > > >> >>>exploring on Mars.  I trust Mark to do that because he is 
> > > > > >> >>>totally
> > > > > >> >>>awesome.
> > > > > >> >>
> > > > > >> >>Doing this as an unilateral decisions is not something that will 
> > > > > >> >>win you
> > > > > >> >>a fan base.
> > > > > >> >It's posted for review.
> > > > > >> >
> > > > > >> >>While we never had anything reassembling a democracy in Linux 
> > > > > >> >>Kernel
> > > > > >> >>development making decisions without even contacting the major
> > > > > >> >>contributor is wrong, twice so if the maintainer is a relatively 
> > > > > >> >>minor
> > > > > >> >>contributor to start with.
> > > > > >> >>
> > > > > >> >>Just because it recent came up elsewhere I'd like to recite the
> > > > > >> >>definition from Trond here again:
> > > > > >> >>
> > > > > >> >>
> > > > > >> >> http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
> 
> Yup, and my take on the role of a Maintainer is here:
> 
> http://oss.sgi.com/archives/xfs/2013-08/msg00633.html
> 
> > > > > >  P: Silicon Graphics Inc
> > > > > > +M: Dave Chinner 
> 
> I flattered by this, but there is a reason I've resisted taking this
> position for a long time. Mainly for the reasons already mentioned:
> 
> > > > Indeed.  And does he even want the job?  I heard Linus say in a recent
> > > > interview that being a maintainer is a $#!+ job. 
> > > 
> > > I've found that it can be a little bit stressful sometimes and it tends to
> > > crowd out feature work, so I guess I agree with him.  It turns out to be 
> > > an
> > > excellent weight loss plan.
> 
> which are all true, but I'm already pulling most patches off the
> list, applying them to my own trees, testing them and reviewing
> them. Hence juggling them into a stable, non-rebasing git tree
> branch on a server somewhere isn't a huge amount of extra work...
> 
> > > > Is it really best for the
> > > > most active developers to be burdened with that extra work?
> > > > 
> > > > (hmm.. maybe I should add Dave to the Cc here .. but no-one else did so 
> > > > best
> > > > leave him alone to code in peace).
> > > 
> > > Dave, what do you want to do here?  Which email?  What sort of 
> > > arrangement?  I
> > > gather that you probably do want the job, and I know you'll be fantastic. 
> > >  Do
> > > you want to do it all yourself?  Maybe split it up?
> > 
> > I should have also suggested that we can add you to this file and just keep 
> > our
> > existing arrangements.  That seems appropriate to me, befitting of your
> >

Re: [PATCH] update xfs maintainers

2013-11-10 Thread Ben Myers
Hey Dave,

On Mon, Nov 11, 2013 at 10:12:41AM +1100, Dave Chinner wrote:
 On Sat, Nov 09, 2013 at 06:30:49PM -0600, Ben Myers wrote:
  On Sat, Nov 09, 2013 at 05:51:30PM -0600, Ben Myers wrote:
   On Sat, Nov 09, 2013 at 10:44:24AM +1100, NeilBrown wrote:
On Sat, 9 Nov 2013 06:59:00 +0800 Zhi Yong Wu zwu.ker...@gmail.com 
wrote:
 On Sat, Nov 9, 2013 at 6:03 AM, Ben Myers b...@sgi.com wrote:
  On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
  On 11/08/2013 03:46 PM, Ben Myers wrote:
  Hey Christoph,
  
  On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
  On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
  Mark is replacing Alex as my backup because Alex is really busy 
  at
  Linaro and asked to be taken off awhile ago.  The holiday 
  season is
  coming up and I fully intend to go off my meds, turn in to 
  Fonzy the
  bear, and eat my hat.  I need someone to watch the shop while 
  I'm off
  exploring on Mars.  I trust Mark to do that because he is 
  totally
  awesome.
  
  Doing this as an unilateral decisions is not something that will 
  win you
  a fan base.
  It's posted for review.
  
  While we never had anything reassembling a democracy in Linux 
  Kernel
  development making decisions without even contacting the major
  contributor is wrong, twice so if the maintainer is a relatively 
  minor
  contributor to start with.
  
  Just because it recent came up elsewhere I'd like to recite the
  definition from Trond here again:
  
  
   http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
 
 Yup, and my take on the role of a Maintainer is here:
 
 http://oss.sgi.com/archives/xfs/2013-08/msg00633.html
 
   P: Silicon Graphics Inc
  +M: Dave Chinner dchin...@fromorbit.com
 
 I flattered by this, but there is a reason I've resisted taking this
 position for a long time. Mainly for the reasons already mentioned:
 
Indeed.  And does he even want the job?  I heard Linus say in a recent
interview that being a maintainer is a $#!+ job. 
   
   I've found that it can be a little bit stressful sometimes and it tends to
   crowd out feature work, so I guess I agree with him.  It turns out to be 
   an
   excellent weight loss plan.
 
 which are all true, but I'm already pulling most patches off the
 list, applying them to my own trees, testing them and reviewing
 them. Hence juggling them into a stable, non-rebasing git tree
 branch on a server somewhere isn't a huge amount of extra work...
 
Is it really best for the
most active developers to be burdened with that extra work?

(hmm.. maybe I should add Dave to the Cc here .. but no-one else did so 
best
leave him alone to code in peace).
   
   Dave, what do you want to do here?  Which email?  What sort of 
   arrangement?  I
   gather that you probably do want the job, and I know you'll be fantastic. 
Do
   you want to do it all yourself?  Maybe split it up?
  
  I should have also suggested that we can add you to this file and just keep 
  our
  existing arrangements.  That seems appropriate to me, befitting of your
  achievements, the work you've been doing, and I'm willing to keep on as I 
  am.
 
 OK, I've read the thread and had a think about it. My thoughts are
 as follows
 
 I'm not interested in being a co-maintainer in name only or only as
 a backup to only be used when Ben goes on holidays.
 
 Co-maintainer means SGI is giving me all the access and admin rights
 needed to commit and maintain git trees on oss.sgi.com (including
 creating new trees) at any time, at any point in a release cycle,
 etc. i.e. I can do anything that Ben can currently do on
 oss.sgi.com from XFS POV...
 
 Co-maintainer is not a kernel-tree only deal. It's for everything
 XFS related: kernel code, xfsprogs, xfstests and xfsdump.
 
 Co-maintainer does not mean Dave does everything. Yes, I can do a
 lot of the heavy lifting, but I'm very happy for Ben to continue
 committing patches he reviews and handling userspace releases and
 pushing stuff to Linus and so on.  There's some logistics we need to
 work out here so we aren't going to step on each other's toes, but
 there's no unsolvable issues here.
 
 Co-maintainer is not a role I will perform with a Red Hat on. I will
 review and sign off on anything in my co-maintainer role as
 da...@fromorbit.com. Hence I hope to be able to maintain a clear
 distinction between the duties I perform on behalf of the community
 and code that I write on Red Hat's behalf.
 
 Lastly, being a maintainer doesn't solve the problem of review
 latency of the code I write. I'm hoping that everyone understands
 that maintainers are still dependent on the receiving help from the
 community they serve to get their own work done.
 
 Ben, let's talk more about

Re: [PATCH] update xfs maintainers

2013-11-09 Thread Ben Myers
Dave,

On Sat, Nov 09, 2013 at 05:51:30PM -0600, Ben Myers wrote:
> Hey Neil,
> 
> On Sat, Nov 09, 2013 at 10:44:24AM +1100, NeilBrown wrote:
> > On Sat, 9 Nov 2013 06:59:00 +0800 Zhi Yong Wu  wrote:
> > 
> > > On Sat, Nov 9, 2013 at 6:03 AM, Ben Myers  wrote:
> > > > Hey Ric,
> > > >
> > > > On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
> > > >> On 11/08/2013 03:46 PM, Ben Myers wrote:
> > > >> >Hey Christoph,
> > > >> >
> > > >> >On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
> > > >> >>On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
> > > >> >>>Mark is replacing Alex as my backup because Alex is really busy at
> > > >> >>>Linaro and asked to be taken off awhile ago.  The holiday season is
> > > >> >>>coming up and I fully intend to go off my meds, turn in to Fonzy the
> > > >> >>>bear, and eat my hat.  I need someone to watch the shop while I'm 
> > > >> >>>off
> > > >> >>>exploring on Mars.  I trust Mark to do that because he is totally
> > > >> >>>awesome.
> > > >> >>
> > > >> >>Doing this as an unilateral decisions is not something that will win 
> > > >> >>you
> > > >> >>a fan base.
> > > >> >It's posted for review.
> > > >> >
> > > >> >>While we never had anything reassembling a democracy in Linux Kernel
> > > >> >>development making decisions without even contacting the major
> > > >> >>contributor is wrong, twice so if the maintainer is a relatively 
> > > >> >>minor
> > > >> >>contributor to start with.
> > > >> >>
> > > >> >>Just because it recent came up elsewhere I'd like to recite the
> > > >> >>definition from Trond here again:
> > > >> >>
> > > >> >>
> > > >> >> http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
> > > >> >>
> > > >> >>By many of the creative roles enlisted there it's clear that Dave 
> > > >> >>should
> > > >> >>be the maintainer.  He's been the main contributor and chief 
> > > >> >>architect
> > > >> >>for XFS for many year, while the maintainers came and went at the 
> > > >> >>mercy
> > > >> >>of SGI.  This is not meant to bad mouth either of you as I think 
> > > >> >>you're
> > > >> >>doing a reasonably good job compared to other maintainers, but at the
> > > >> >>same time the direction is set by other people that have a much 
> > > >> >>longer
> > > >> >>involvement with the project, and having them officially in control
> > > >> >>would help us forward a lot.  It would also avoid having to spend
> > > >> >>considerable resources to train every new generation of SGI 
> > > >> >>maintainer.
> > > >> >>
> > > >> >>Coming to and end I would like to maintain Dave Chinner as the 
> > > >> >>primary
> > > >> >>XFS maintainer for all the work he has done as biggest contributor 
> > > >> >>and
> > > >> >>architect of XFS since longer than I can remember, and I would love 
> > > >> >>to
> > > >> >>retain Ben Myers as a co-maintainer for all the good work he has done
> > > >> >>maintaining and reviewing patches since November 2011.
> > > >> >I think we're doing a decent job too.  So thanks for that much at 
> > > >> >least.  ;)
> > > >> >>I would also like to use this post as a public venue to condemn the
> > > >> >>unilateral smokey backroom decisions about XFS maintainership that 
> > > >> >>SGI is
> > > >> >>trying to enforce on the community.
> > > >> >That really didn't happen Christoph.  It's not in my tree or in a 
> > > >> >pull request.
> > > >> >
> > > >> >Linus, let me know what you want to do.  I do think we're doing a 
> > > >> >fair job over
> > > >> >here, and (geez) 

Re: [PATCH] update xfs maintainers

2013-11-09 Thread Ben Myers
Hey Neil,

On Sat, Nov 09, 2013 at 10:44:24AM +1100, NeilBrown wrote:
> On Sat, 9 Nov 2013 06:59:00 +0800 Zhi Yong Wu  wrote:
> 
> > On Sat, Nov 9, 2013 at 6:03 AM, Ben Myers  wrote:
> > > Hey Ric,
> > >
> > > On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
> > >> On 11/08/2013 03:46 PM, Ben Myers wrote:
> > >> >Hey Christoph,
> > >> >
> > >> >On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
> > >> >>On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
> > >> >>>Mark is replacing Alex as my backup because Alex is really busy at
> > >> >>>Linaro and asked to be taken off awhile ago.  The holiday season is
> > >> >>>coming up and I fully intend to go off my meds, turn in to Fonzy the
> > >> >>>bear, and eat my hat.  I need someone to watch the shop while I'm off
> > >> >>>exploring on Mars.  I trust Mark to do that because he is totally
> > >> >>>awesome.
> > >> >>
> > >> >>Doing this as an unilateral decisions is not something that will win 
> > >> >>you
> > >> >>a fan base.
> > >> >It's posted for review.
> > >> >
> > >> >>While we never had anything reassembling a democracy in Linux Kernel
> > >> >>development making decisions without even contacting the major
> > >> >>contributor is wrong, twice so if the maintainer is a relatively minor
> > >> >>contributor to start with.
> > >> >>
> > >> >>Just because it recent came up elsewhere I'd like to recite the
> > >> >>definition from Trond here again:
> > >> >>
> > >> >>
> > >> >> http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
> > >> >>
> > >> >>By many of the creative roles enlisted there it's clear that Dave 
> > >> >>should
> > >> >>be the maintainer.  He's been the main contributor and chief architect
> > >> >>for XFS for many year, while the maintainers came and went at the mercy
> > >> >>of SGI.  This is not meant to bad mouth either of you as I think you're
> > >> >>doing a reasonably good job compared to other maintainers, but at the
> > >> >>same time the direction is set by other people that have a much longer
> > >> >>involvement with the project, and having them officially in control
> > >> >>would help us forward a lot.  It would also avoid having to spend
> > >> >>considerable resources to train every new generation of SGI maintainer.
> > >> >>
> > >> >>Coming to and end I would like to maintain Dave Chinner as the primary
> > >> >>XFS maintainer for all the work he has done as biggest contributor and
> > >> >>architect of XFS since longer than I can remember, and I would love to
> > >> >>retain Ben Myers as a co-maintainer for all the good work he has done
> > >> >>maintaining and reviewing patches since November 2011.
> > >> >I think we're doing a decent job too.  So thanks for that much at 
> > >> >least.  ;)
> > >> >>I would also like to use this post as a public venue to condemn the
> > >> >>unilateral smokey backroom decisions about XFS maintainership that SGI 
> > >> >>is
> > >> >>trying to enforce on the community.
> > >> >That really didn't happen Christoph.  It's not in my tree or in a pull 
> > >> >request.
> > >> >
> > >> >Linus, let me know what you want to do.  I do think we're doing a fair 
> > >> >job over
> > >> >here, and (geez) I'm just trying to add Mark as my backup since Alex is 
> > >> >too
> > >> >busy.  I know the RH people want more control, and that's 
> > >> >understandable, but
> > >> >they really don't need to replace me to get their code in.  Ouch.
> > >> >
> > >> >Thanks,
> > >> > Ben
> > >>
> > >> Christoph is not a Red Hat person.
> > >>
> > >> Jeff is from Oracle.
> > >>
> > >> This is not a Red Hat vs SGI thing,
> > >
> > > Sorry if my read on that was wrong.
> > >
> > >> Dave simply has earned the right
> >

Re: [PATCH] update xfs maintainers

2013-11-09 Thread Ben Myers
On Fri, Nov 08, 2013 at 06:32:33PM -0500, Ric Wheeler wrote:
> On 11/08/2013 05:17 PM, Ben Myers wrote:
> >Hey Ric,
> >
> >On Fri, Nov 08, 2013 at 05:07:45PM -0500, Ric Wheeler wrote:
> >>On 11/08/2013 05:03 PM, Ben Myers wrote:
> >>>Hey Ric,
> >>>
> >>>On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
> >>>>On 11/08/2013 03:46 PM, Ben Myers wrote:
> >>>>>Hey Christoph,
> >>>>>
> >>>>>On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
> >>>>>>On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
> >>>>>>>Mark is replacing Alex as my backup because Alex is really busy at
> >>>>>>>Linaro and asked to be taken off awhile ago.  The holiday season is
> >>>>>>>coming up and I fully intend to go off my meds, turn in to Fonzy the
> >>>>>>>bear, and eat my hat.  I need someone to watch the shop while I'm off
> >>>>>>>exploring on Mars.  I trust Mark to do that because he is totally
> >>>>>>>awesome.
> >>>>>>Doing this as an unilateral decisions is not something that will win you
> >>>>>>a fan base.
> >>>>>It's posted for review.
> >>>>>
> >>>>>>While we never had anything reassembling a democracy in Linux Kernel
> >>>>>>development making decisions without even contacting the major
> >>>>>>contributor is wrong, twice so if the maintainer is a relatively minor
> >>>>>>contributor to start with.
> >>>>>>
> >>>>>>Just because it recent came up elsewhere I'd like to recite the
> >>>>>>definition from Trond here again:
> >>>>>>
> >>>>>>
> >>>>>> http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
> >>>>>>
> >>>>>>By many of the creative roles enlisted there it's clear that Dave should
> >>>>>>be the maintainer.  He's been the main contributor and chief architect
> >>>>>>for XFS for many year, while the maintainers came and went at the mercy
> >>>>>>of SGI.  This is not meant to bad mouth either of you as I think you're
> >>>>>>doing a reasonably good job compared to other maintainers, but at the
> >>>>>>same time the direction is set by other people that have a much longer
> >>>>>>involvement with the project, and having them officially in control
> >>>>>>would help us forward a lot.  It would also avoid having to spend
> >>>>>>considerable resources to train every new generation of SGI maintainer.
> >>>>>>
> >>>>>>Coming to and end I would like to maintain Dave Chinner as the primary
> >>>>>>XFS maintainer for all the work he has done as biggest contributor and
> >>>>>>architect of XFS since longer than I can remember, and I would love to
> >>>>>>retain Ben Myers as a co-maintainer for all the good work he has done
> >>>>>>maintaining and reviewing patches since November 2011.
> >>>>>I think we're doing a decent job too.  So thanks for that much at least. 
> >>>>> ;)
> >>>>>>I would also like to use this post as a public venue to condemn the
> >>>>>>unilateral smokey backroom decisions about XFS maintainership that SGI 
> >>>>>>is
> >>>>>>trying to enforce on the community.
> >>>>>That really didn't happen Christoph.  It's not in my tree or in a pull 
> >>>>>request.
> >>>>>
> >>>>>Linus, let me know what you want to do.  I do think we're doing a fair 
> >>>>>job over
> >>>>>here, and (geez) I'm just trying to add Mark as my backup since Alex is 
> >>>>>too
> >>>>>busy.  I know the RH people want more control, and that's 
> >>>>>understandable, but
> >>>>>they really don't need to replace me to get their code in.  Ouch.
> >>>>>
> >>>>>Thanks,
> >>>>> Ben
> >>>>Christoph is not a Red Hat person.
> >>>>
> >>>>Jeff is from Oracle.
> >>>>
> >>>>This is not a Red Hat vs SGI thing,
> >>>Sorry if my read on that was wrong.
> >>I do appreciate the work and effort you and the SGI team put in but
> >>think that this will be a good way to keep the community happier and
> >>even more productive going forward.
> >>
> >>>>Dave simply has earned the right
> >>>>to take on the formal leadership role of maintainer.
> >>>Then we're gonna need some Reviewed-bys.  ;)
> >>Those should come from the developers, thanks!
> >I actually do need your Reviewed-by.   We'll try and get this one in 3.13.  
> >;)
> >
> >Thanks,
> > Ben
> 
> Happy to do that - I do think that Dave mostly posts from his
> redhat.com account, but he can comment once he gets back online.
> 
> Reviewed-by: Ric Wheeler 

Thanks Ric.  ;)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] update xfs maintainers

2013-11-09 Thread Ben Myers
On Fri, Nov 08, 2013 at 06:32:33PM -0500, Ric Wheeler wrote:
 On 11/08/2013 05:17 PM, Ben Myers wrote:
 Hey Ric,
 
 On Fri, Nov 08, 2013 at 05:07:45PM -0500, Ric Wheeler wrote:
 On 11/08/2013 05:03 PM, Ben Myers wrote:
 Hey Ric,
 
 On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
 On 11/08/2013 03:46 PM, Ben Myers wrote:
 Hey Christoph,
 
 On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
 On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
 Mark is replacing Alex as my backup because Alex is really busy at
 Linaro and asked to be taken off awhile ago.  The holiday season is
 coming up and I fully intend to go off my meds, turn in to Fonzy the
 bear, and eat my hat.  I need someone to watch the shop while I'm off
 exploring on Mars.  I trust Mark to do that because he is totally
 awesome.
 Doing this as an unilateral decisions is not something that will win you
 a fan base.
 It's posted for review.
 
 While we never had anything reassembling a democracy in Linux Kernel
 development making decisions without even contacting the major
 contributor is wrong, twice so if the maintainer is a relatively minor
 contributor to start with.
 
 Just because it recent came up elsewhere I'd like to recite the
 definition from Trond here again:
 
 
  http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
 
 By many of the creative roles enlisted there it's clear that Dave should
 be the maintainer.  He's been the main contributor and chief architect
 for XFS for many year, while the maintainers came and went at the mercy
 of SGI.  This is not meant to bad mouth either of you as I think you're
 doing a reasonably good job compared to other maintainers, but at the
 same time the direction is set by other people that have a much longer
 involvement with the project, and having them officially in control
 would help us forward a lot.  It would also avoid having to spend
 considerable resources to train every new generation of SGI maintainer.
 
 Coming to and end I would like to maintain Dave Chinner as the primary
 XFS maintainer for all the work he has done as biggest contributor and
 architect of XFS since longer than I can remember, and I would love to
 retain Ben Myers as a co-maintainer for all the good work he has done
 maintaining and reviewing patches since November 2011.
 I think we're doing a decent job too.  So thanks for that much at least. 
  ;)
 I would also like to use this post as a public venue to condemn the
 unilateral smokey backroom decisions about XFS maintainership that SGI 
 is
 trying to enforce on the community.
 That really didn't happen Christoph.  It's not in my tree or in a pull 
 request.
 
 Linus, let me know what you want to do.  I do think we're doing a fair 
 job over
 here, and (geez) I'm just trying to add Mark as my backup since Alex is 
 too
 busy.  I know the RH people want more control, and that's 
 understandable, but
 they really don't need to replace me to get their code in.  Ouch.
 
 Thanks,
  Ben
 Christoph is not a Red Hat person.
 
 Jeff is from Oracle.
 
 This is not a Red Hat vs SGI thing,
 Sorry if my read on that was wrong.
 I do appreciate the work and effort you and the SGI team put in but
 think that this will be a good way to keep the community happier and
 even more productive going forward.
 
 Dave simply has earned the right
 to take on the formal leadership role of maintainer.
 Then we're gonna need some Reviewed-bys.  ;)
 Those should come from the developers, thanks!
 I actually do need your Reviewed-by.   We'll try and get this one in 3.13.  
 ;)
 
 Thanks,
  Ben
 
 Happy to do that - I do think that Dave mostly posts from his
 redhat.com account, but he can comment once he gets back online.
 
 Reviewed-by: Ric Wheeler rwhee...@redhat.com

Thanks Ric.  ;)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] update xfs maintainers

2013-11-09 Thread Ben Myers
Hey Neil,

On Sat, Nov 09, 2013 at 10:44:24AM +1100, NeilBrown wrote:
 On Sat, 9 Nov 2013 06:59:00 +0800 Zhi Yong Wu zwu.ker...@gmail.com wrote:
 
  On Sat, Nov 9, 2013 at 6:03 AM, Ben Myers b...@sgi.com wrote:
   Hey Ric,
  
   On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
   On 11/08/2013 03:46 PM, Ben Myers wrote:
   Hey Christoph,
   
   On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
   On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
   Mark is replacing Alex as my backup because Alex is really busy at
   Linaro and asked to be taken off awhile ago.  The holiday season is
   coming up and I fully intend to go off my meds, turn in to Fonzy the
   bear, and eat my hat.  I need someone to watch the shop while I'm off
   exploring on Mars.  I trust Mark to do that because he is totally
   awesome.
   
   Doing this as an unilateral decisions is not something that will win 
   you
   a fan base.
   It's posted for review.
   
   While we never had anything reassembling a democracy in Linux Kernel
   development making decisions without even contacting the major
   contributor is wrong, twice so if the maintainer is a relatively minor
   contributor to start with.
   
   Just because it recent came up elsewhere I'd like to recite the
   definition from Trond here again:
   
   
http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
   
   By many of the creative roles enlisted there it's clear that Dave 
   should
   be the maintainer.  He's been the main contributor and chief architect
   for XFS for many year, while the maintainers came and went at the mercy
   of SGI.  This is not meant to bad mouth either of you as I think you're
   doing a reasonably good job compared to other maintainers, but at the
   same time the direction is set by other people that have a much longer
   involvement with the project, and having them officially in control
   would help us forward a lot.  It would also avoid having to spend
   considerable resources to train every new generation of SGI maintainer.
   
   Coming to and end I would like to maintain Dave Chinner as the primary
   XFS maintainer for all the work he has done as biggest contributor and
   architect of XFS since longer than I can remember, and I would love to
   retain Ben Myers as a co-maintainer for all the good work he has done
   maintaining and reviewing patches since November 2011.
   I think we're doing a decent job too.  So thanks for that much at 
   least.  ;)
   I would also like to use this post as a public venue to condemn the
   unilateral smokey backroom decisions about XFS maintainership that SGI 
   is
   trying to enforce on the community.
   That really didn't happen Christoph.  It's not in my tree or in a pull 
   request.
   
   Linus, let me know what you want to do.  I do think we're doing a fair 
   job over
   here, and (geez) I'm just trying to add Mark as my backup since Alex is 
   too
   busy.  I know the RH people want more control, and that's 
   understandable, but
   they really don't need to replace me to get their code in.  Ouch.
   
   Thanks,
Ben
  
   Christoph is not a Red Hat person.
  
   Jeff is from Oracle.
  
   This is not a Red Hat vs SGI thing,
  
   Sorry if my read on that was wrong.
  
   Dave simply has earned the right
   to take on the formal leadership role of maintainer.
  
   Then we're gonna need some Reviewed-bys.  ;)
  
   From: Ben Myers b...@sgi.com
  
   xfs: update maintainers
  
   Add Dave as maintainer of XFS.
  
   Signed-off-by: Ben Myers b...@sgi.com
   ---
MAINTAINERS |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
  
   Index: b/MAINTAINERS
   ===
   --- a/MAINTAINERS   2013-11-08 15:20:18.935186245 -0600
   +++ b/MAINTAINERS   2013-11-08 15:22:50.685245977 -0600
   @@ -9387,8 +9387,8 @@ F:drivers/xen/*swiotlb*
  
XFS FILESYSTEM
P: Silicon Graphics Inc
   +M: Dave Chinner dchin...@fromorbit.com
  Use his personal private mail account? I guess that you should ask for
  his opinion at first, or it is more appropriate that he submit this
  patch by himself.

If y'all don't mind, I'd like to have authored this one.  ;)
 
 Indeed.  And does he even want the job?  I heard Linus say in a recent
 interview that being a maintainer is a $#!+ job. 

I've found that it can be a little bit stressful sometimes and it tends to
crowd out feature work, so I guess I agree with him.  It turns out to be an
excellent weight loss plan.

 Is it really best for the
 most active developers to be burdened with that extra work?
 
 (hmm.. maybe I should add Dave to the Cc here .. but no-one else did so best
 leave him alone to code in peace).

Dave, what do you want to do here?  Which email?  What sort of arrangement?  I
gather that you probably do want the job, and I know you'll be fantastic.  Do
you want to do

Re: [PATCH] update xfs maintainers

2013-11-09 Thread Ben Myers
Dave,

On Sat, Nov 09, 2013 at 05:51:30PM -0600, Ben Myers wrote:
 Hey Neil,
 
 On Sat, Nov 09, 2013 at 10:44:24AM +1100, NeilBrown wrote:
  On Sat, 9 Nov 2013 06:59:00 +0800 Zhi Yong Wu zwu.ker...@gmail.com wrote:
  
   On Sat, Nov 9, 2013 at 6:03 AM, Ben Myers b...@sgi.com wrote:
Hey Ric,
   
On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
On 11/08/2013 03:46 PM, Ben Myers wrote:
Hey Christoph,

On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
Mark is replacing Alex as my backup because Alex is really busy at
Linaro and asked to be taken off awhile ago.  The holiday season is
coming up and I fully intend to go off my meds, turn in to Fonzy the
bear, and eat my hat.  I need someone to watch the shop while I'm 
off
exploring on Mars.  I trust Mark to do that because he is totally
awesome.

Doing this as an unilateral decisions is not something that will win 
you
a fan base.
It's posted for review.

While we never had anything reassembling a democracy in Linux Kernel
development making decisions without even contacting the major
contributor is wrong, twice so if the maintainer is a relatively 
minor
contributor to start with.

Just because it recent came up elsewhere I'd like to recite the
definition from Trond here again:


 http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html

By many of the creative roles enlisted there it's clear that Dave 
should
be the maintainer.  He's been the main contributor and chief 
architect
for XFS for many year, while the maintainers came and went at the 
mercy
of SGI.  This is not meant to bad mouth either of you as I think 
you're
doing a reasonably good job compared to other maintainers, but at the
same time the direction is set by other people that have a much 
longer
involvement with the project, and having them officially in control
would help us forward a lot.  It would also avoid having to spend
considerable resources to train every new generation of SGI 
maintainer.

Coming to and end I would like to maintain Dave Chinner as the 
primary
XFS maintainer for all the work he has done as biggest contributor 
and
architect of XFS since longer than I can remember, and I would love 
to
retain Ben Myers as a co-maintainer for all the good work he has done
maintaining and reviewing patches since November 2011.
I think we're doing a decent job too.  So thanks for that much at 
least.  ;)
I would also like to use this post as a public venue to condemn the
unilateral smokey backroom decisions about XFS maintainership that 
SGI is
trying to enforce on the community.
That really didn't happen Christoph.  It's not in my tree or in a 
pull request.

Linus, let me know what you want to do.  I do think we're doing a 
fair job over
here, and (geez) I'm just trying to add Mark as my backup since Alex 
is too
busy.  I know the RH people want more control, and that's 
understandable, but
they really don't need to replace me to get their code in.  Ouch.

Thanks,
 Ben
   
Christoph is not a Red Hat person.
   
Jeff is from Oracle.
   
This is not a Red Hat vs SGI thing,
   
Sorry if my read on that was wrong.
   
Dave simply has earned the right
to take on the formal leadership role of maintainer.
   
Then we're gonna need some Reviewed-bys.  ;)
   
From: Ben Myers b...@sgi.com
   
xfs: update maintainers
   
Add Dave as maintainer of XFS.
   
Signed-off-by: Ben Myers b...@sgi.com
---
 MAINTAINERS |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
   
Index: b/MAINTAINERS
===
--- a/MAINTAINERS   2013-11-08 15:20:18.935186245 -0600
+++ b/MAINTAINERS   2013-11-08 15:22:50.685245977 -0600
@@ -9387,8 +9387,8 @@ F:drivers/xen/*swiotlb*
   
 XFS FILESYSTEM
 P: Silicon Graphics Inc
+M: Dave Chinner dchin...@fromorbit.com
   Use his personal private mail account? I guess that you should ask for
   his opinion at first, or it is more appropriate that he submit this
   patch by himself.
 
 If y'all don't mind, I'd like to have authored this one.  ;)
  
  Indeed.  And does he even want the job?  I heard Linus say in a recent
  interview that being a maintainer is a $#!+ job. 
 
 I've found that it can be a little bit stressful sometimes and it tends to
 crowd out feature work, so I guess I agree with him.  It turns out to be an
 excellent weight loss plan.
 
  Is it really best for the
  most active developers to be burdened with that extra work?
  
  (hmm.. maybe I should add Dave to the Cc here

Re: [PATCH] update xfs maintainers

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 05:07:45PM -0500, Ric Wheeler wrote:
> On 11/08/2013 05:03 PM, Ben Myers wrote:
> >Hey Ric,
> >
> >On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
> >>On 11/08/2013 03:46 PM, Ben Myers wrote:
> >>>Hey Christoph,
> >>>
> >>>On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
> >>>>On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
> >>>>>Mark is replacing Alex as my backup because Alex is really busy at
> >>>>>Linaro and asked to be taken off awhile ago.  The holiday season is
> >>>>>coming up and I fully intend to go off my meds, turn in to Fonzy the
> >>>>>bear, and eat my hat.  I need someone to watch the shop while I'm off
> >>>>>exploring on Mars.  I trust Mark to do that because he is totally
> >>>>>awesome.
> >>>>Doing this as an unilateral decisions is not something that will win you
> >>>>a fan base.
> >>>It's posted for review.
> >>>
> >>>>While we never had anything reassembling a democracy in Linux Kernel
> >>>>development making decisions without even contacting the major
> >>>>contributor is wrong, twice so if the maintainer is a relatively minor
> >>>>contributor to start with.
> >>>>
> >>>>Just because it recent came up elsewhere I'd like to recite the
> >>>>definition from Trond here again:
> >>>>
> >>>>  
> >>>> http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
> >>>>
> >>>>By many of the creative roles enlisted there it's clear that Dave should
> >>>>be the maintainer.  He's been the main contributor and chief architect
> >>>>for XFS for many year, while the maintainers came and went at the mercy
> >>>>of SGI.  This is not meant to bad mouth either of you as I think you're
> >>>>doing a reasonably good job compared to other maintainers, but at the
> >>>>same time the direction is set by other people that have a much longer
> >>>>involvement with the project, and having them officially in control
> >>>>would help us forward a lot.  It would also avoid having to spend
> >>>>considerable resources to train every new generation of SGI maintainer.
> >>>>
> >>>>Coming to and end I would like to maintain Dave Chinner as the primary
> >>>>XFS maintainer for all the work he has done as biggest contributor and
> >>>>architect of XFS since longer than I can remember, and I would love to
> >>>>retain Ben Myers as a co-maintainer for all the good work he has done
> >>>>maintaining and reviewing patches since November 2011.
> >>>I think we're doing a decent job too.  So thanks for that much at least.  
> >>>;)
> >>>>I would also like to use this post as a public venue to condemn the
> >>>>unilateral smokey backroom decisions about XFS maintainership that SGI is
> >>>>trying to enforce on the community.
> >>>That really didn't happen Christoph.  It's not in my tree or in a pull 
> >>>request.
> >>>
> >>>Linus, let me know what you want to do.  I do think we're doing a fair job 
> >>>over
> >>>here, and (geez) I'm just trying to add Mark as my backup since Alex is too
> >>>busy.  I know the RH people want more control, and that's understandable, 
> >>>but
> >>>they really don't need to replace me to get their code in.  Ouch.
> >>>
> >>>Thanks,
> >>>   Ben
> >>Christoph is not a Red Hat person.
> >>
> >>Jeff is from Oracle.
> >>
> >>This is not a Red Hat vs SGI thing,
> >Sorry if my read on that was wrong.
> 
> I do appreciate the work and effort you and the SGI team put in but
> think that this will be a good way to keep the community happier and
> even more productive going forward.
>
> >>Dave simply has earned the right
> >>to take on the formal leadership role of maintainer.
> >Then we're gonna need some Reviewed-bys.  ;)
> 
> Those should come from the developers, thanks!

I actually do need your Reviewed-by.   We'll try and get this one in 3.13.  ;)

Thanks,
Ben

> >From: Ben Myers 
> >
> >xfs: update maintainers
> >
> >Add Dave as maintainer of XFS.
> >
> >Signed-off-by: Ben Myers 
> >---
> >  MAINTAINERS |2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >Index: b/MAINTAINERS
> >===
> >--- a/MAINTAINERS2013-11-08 15:20:18.935186245 -0600
> >+++ b/MAINTAINERS2013-11-08 15:22:50.685245977 -0600
> >@@ -9387,8 +9387,8 @@ F: drivers/xen/*swiotlb*
> >  XFS FILESYSTEM
> >  P: Silicon Graphics Inc
> >+M:  Dave Chinner 
> >  M: Ben Myers 
> >-M:  Alex Elder 
> >  M: x...@oss.sgi.com
> >  L: x...@oss.sgi.com
> >  W: http://oss.sgi.com/projects/xfs
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] update xfs maintainers

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
> On 11/08/2013 03:46 PM, Ben Myers wrote:
> >Hey Christoph,
> >
> >On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
> >>On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
> >>>Mark is replacing Alex as my backup because Alex is really busy at
> >>>Linaro and asked to be taken off awhile ago.  The holiday season is
> >>>coming up and I fully intend to go off my meds, turn in to Fonzy the
> >>>bear, and eat my hat.  I need someone to watch the shop while I'm off
> >>>exploring on Mars.  I trust Mark to do that because he is totally
> >>>awesome.
> >>
> >>Doing this as an unilateral decisions is not something that will win you
> >>a fan base.
> >It's posted for review.
> >
> >>While we never had anything reassembling a democracy in Linux Kernel
> >>development making decisions without even contacting the major
> >>contributor is wrong, twice so if the maintainer is a relatively minor
> >>contributor to start with.
> >>
> >>Just because it recent came up elsewhere I'd like to recite the
> >>definition from Trond here again:
> >>
> >>
> >> http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
> >>
> >>By many of the creative roles enlisted there it's clear that Dave should
> >>be the maintainer.  He's been the main contributor and chief architect
> >>for XFS for many year, while the maintainers came and went at the mercy
> >>of SGI.  This is not meant to bad mouth either of you as I think you're
> >>doing a reasonably good job compared to other maintainers, but at the
> >>same time the direction is set by other people that have a much longer
> >>involvement with the project, and having them officially in control
> >>would help us forward a lot.  It would also avoid having to spend
> >>considerable resources to train every new generation of SGI maintainer.
> >>
> >>Coming to and end I would like to maintain Dave Chinner as the primary
> >>XFS maintainer for all the work he has done as biggest contributor and
> >>architect of XFS since longer than I can remember, and I would love to
> >>retain Ben Myers as a co-maintainer for all the good work he has done
> >>maintaining and reviewing patches since November 2011.
> >I think we're doing a decent job too.  So thanks for that much at least.  ;)
> >>I would also like to use this post as a public venue to condemn the
> >>unilateral smokey backroom decisions about XFS maintainership that SGI is
> >>trying to enforce on the community.
> >That really didn't happen Christoph.  It's not in my tree or in a pull 
> >request.
> >
> >Linus, let me know what you want to do.  I do think we're doing a fair job 
> >over
> >here, and (geez) I'm just trying to add Mark as my backup since Alex is too
> >busy.  I know the RH people want more control, and that's understandable, but
> >they really don't need to replace me to get their code in.  Ouch.
> >
> >Thanks,
> > Ben
> 
> Christoph is not a Red Hat person.
> 
> Jeff is from Oracle.
> 
> This is not a Red Hat vs SGI thing,

Sorry if my read on that was wrong.
   
> Dave simply has earned the right
> to take on the formal leadership role of maintainer.

Then we're gonna need some Reviewed-bys.  ;)

From: Ben Myers 

xfs: update maintainers 

Add Dave as maintainer of XFS.

Signed-off-by: Ben Myers 
---
 MAINTAINERS |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/MAINTAINERS
===
--- a/MAINTAINERS   2013-11-08 15:20:18.935186245 -0600
+++ b/MAINTAINERS   2013-11-08 15:22:50.685245977 -0600
@@ -9387,8 +9387,8 @@ F:drivers/xen/*swiotlb*
 
 XFS FILESYSTEM
 P: Silicon Graphics Inc
+M: Dave Chinner 
 M: Ben Myers 
-M: Alex Elder 
 M: x...@oss.sgi.com
 L: x...@oss.sgi.com
 W: http://oss.sgi.com/projects/xfs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS leadership and a new co-maintainer candidate

2013-11-08 Thread Ben Myers
Hey Christoph,

On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
> On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
> > Mark is replacing Alex as my backup because Alex is really busy at
> > Linaro and asked to be taken off awhile ago.  The holiday season is
> > coming up and I fully intend to go off my meds, turn in to Fonzy the
> > bear, and eat my hat.  I need someone to watch the shop while I'm off
> > exploring on Mars.  I trust Mark to do that because he is totally
> > awesome.
> 
> 
> Doing this as an unilateral decisions is not something that will win you
> a fan base.

It's posted for review.

> While we never had anything reassembling a democracy in Linux Kernel
> development making decisions without even contacting the major
> contributor is wrong, twice so if the maintainer is a relatively minor
> contributor to start with.
> 
> Just because it recent came up elsewhere I'd like to recite the
> definition from Trond here again:
> 
>   
> http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
> 
> By many of the creative roles enlisted there it's clear that Dave should
> be the maintainer.  He's been the main contributor and chief architect
> for XFS for many year, while the maintainers came and went at the mercy
> of SGI.  This is not meant to bad mouth either of you as I think you're
> doing a reasonably good job compared to other maintainers, but at the
> same time the direction is set by other people that have a much longer
> involvement with the project, and having them officially in control
> would help us forward a lot.  It would also avoid having to spend
> considerable resources to train every new generation of SGI maintainer.
> 
> Coming to and end I would like to maintain Dave Chinner as the primary
> XFS maintainer for all the work he has done as biggest contributor and
> architect of XFS since longer than I can remember, and I would love to
> retain Ben Myers as a co-maintainer for all the good work he has done
> maintaining and reviewing patches since November 2011.

I think we're doing a decent job too.  So thanks for that much at least.  ;)
 
> I would also like to use this post as a public venue to condemn the
> unilateral smokey backroom decisions about XFS maintainership that SGI is
> trying to enforce on the community.

That really didn't happen Christoph.  It's not in my tree or in a pull request.

Linus, let me know what you want to do.  I do think we're doing a fair job over
here, and (geez) I'm just trying to add Mark as my backup since Alex is too
busy.  I know the RH people want more control, and that's understandable, but
they really don't need to replace me to get their code in.  Ouch.

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS leadership and a new co-maintainer candidate

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 01:09:32PM -0500, Ric Wheeler wrote:
> On 11/08/2013 01:03 PM, Ben Myers wrote:
> >Hey Ric,
> >
> >On Fri, Nov 08, 2013 at 06:03:41AM -0500, Ric Wheeler wrote:
> >>In the XFS community, we have 2 clear leaders in terms of
> >>contributions of significant feaures and depth of knowledge -
> >>Christoph and Dave.
> >>
> >>If you look at the number of patches submitted by developers since
> >>3.0 who have more than 10 patches, we get the following:
> >>
> >> 319 Author: Dave Chinner 
> >> 163 Author: Christoph Hellwig 
> >>  51 Author: Christoph Hellwig 
> >>  35 Author: Linus Torvalds 
> >>  34 Author: Chandra Seetharaman 
> >>  29 Author: Al Viro 
> >>  28 Author: Brian Foster 
> >>  25 Author: Zhi Yong Wu 
> >>  24 Author: Jeff Liu 
> >>  21 Author: Jie Liu 
> >>  20 Author: Mark Tinguely 
> >>  16 Author: Dave Chinner 
> >>  12 Author: Eric Sandeen 
> >>  12 Author: Carlos Maiolino 
> >>
> >>If we as a community had more capacity for patch review, Dave's
> >>numbers would have jumped up even higher :)
> >>
> >>It is certainly very welcome to bring new developers into our
> >>community, but if we are going to add a co-maintainer for XFS, we
> >>really need to have one of our two leading developers in that role.
> >Mark is replacing Alex as my backup because Alex is really busy at
> >Linaro and asked to be taken off awhile ago.  The holiday season is
> >coming up and I fully intend to go off my meds, turn in to Fonzy the
> >bear, and eat my hat.  I need someone to watch the shop while I'm off
> >exploring on Mars.  I trust Mark to do that because he is totally
> >awesome.
> >
> >-Ben
> 
> I don't mean any disrepect to you or to Mark,
   
Don't worry about it, I have plenty to spare.  ;P

> but maintainership is
> something that you earn over time by proving yourself in the
> community as a developer and a leader of the technology on a
> personal level.
>
> It is not something that gets managed by the community of developers
> and has the key role of keeping the most frequent developers engaged
> and happy.  That has not been working for us as a community lately.
> 
> Dave Chinner is the obvious person to take on the maintainer role as
> someone who has an order of magnitude more code contributed than
> either of you (even combined).
> 
> Christoph, if he has time, would also be an excellent candidate.

Eric is also a good choice.  I'd be happy to add all three.

-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS leadership and a new co-maintainer candidate

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 06:03:41AM -0500, Ric Wheeler wrote:
> In the XFS community, we have 2 clear leaders in terms of
> contributions of significant feaures and depth of knowledge -
> Christoph and Dave.
> 
> If you look at the number of patches submitted by developers since
> 3.0 who have more than 10 patches, we get the following:
> 
> 319 Author: Dave Chinner 
> 163 Author: Christoph Hellwig 
>  51 Author: Christoph Hellwig 
>  35 Author: Linus Torvalds 
>  34 Author: Chandra Seetharaman 
>  29 Author: Al Viro 
>  28 Author: Brian Foster 
>  25 Author: Zhi Yong Wu 
>  24 Author: Jeff Liu 
>  21 Author: Jie Liu 
>  20 Author: Mark Tinguely 
>  16 Author: Dave Chinner 
>  12 Author: Eric Sandeen 
>  12 Author: Carlos Maiolino 
> 
> If we as a community had more capacity for patch review, Dave's
> numbers would have jumped up even higher :)
> 
> It is certainly very welcome to bring new developers into our
> community, but if we are going to add a co-maintainer for XFS, we
> really need to have one of our two leading developers in that role.

Mark is replacing Alex as my backup because Alex is really busy at
Linaro and asked to be taken off awhile ago.  The holiday season is
coming up and I fully intend to go off my meds, turn in to Fonzy the
bear, and eat my hat.  I need someone to watch the shop while I'm off
exploring on Mars.  I trust Mark to do that because he is totally
awesome.

-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS leadership and a new co-maintainer candidate

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 06:03:41AM -0500, Ric Wheeler wrote:
 In the XFS community, we have 2 clear leaders in terms of
 contributions of significant feaures and depth of knowledge -
 Christoph and Dave.
 
 If you look at the number of patches submitted by developers since
 3.0 who have more than 10 patches, we get the following:
 
 319 Author: Dave Chinner dchin...@redhat.com
 163 Author: Christoph Hellwig h...@infradead.org
  51 Author: Christoph Hellwig h...@lst.de
  35 Author: Linus Torvalds torva...@linux-foundation.org
  34 Author: Chandra Seetharaman sekha...@us.ibm.com
  29 Author: Al Viro v...@zeniv.linux.org.uk
  28 Author: Brian Foster bfos...@redhat.com
  25 Author: Zhi Yong Wu wu...@linux.vnet.ibm.com
  24 Author: Jeff Liu jeff@oracle.com
  21 Author: Jie Liu jeff@oracle.com
  20 Author: Mark Tinguely tingu...@sgi.com
  16 Author: Dave Chinner da...@fromorbit.com
  12 Author: Eric Sandeen sand...@redhat.com
  12 Author: Carlos Maiolino cmaiol...@redhat.com
 
 If we as a community had more capacity for patch review, Dave's
 numbers would have jumped up even higher :)
 
 It is certainly very welcome to bring new developers into our
 community, but if we are going to add a co-maintainer for XFS, we
 really need to have one of our two leading developers in that role.

Mark is replacing Alex as my backup because Alex is really busy at
Linaro and asked to be taken off awhile ago.  The holiday season is
coming up and I fully intend to go off my meds, turn in to Fonzy the
bear, and eat my hat.  I need someone to watch the shop while I'm off
exploring on Mars.  I trust Mark to do that because he is totally
awesome.

-Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS leadership and a new co-maintainer candidate

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 01:09:32PM -0500, Ric Wheeler wrote:
 On 11/08/2013 01:03 PM, Ben Myers wrote:
 Hey Ric,
 
 On Fri, Nov 08, 2013 at 06:03:41AM -0500, Ric Wheeler wrote:
 In the XFS community, we have 2 clear leaders in terms of
 contributions of significant feaures and depth of knowledge -
 Christoph and Dave.
 
 If you look at the number of patches submitted by developers since
 3.0 who have more than 10 patches, we get the following:
 
  319 Author: Dave Chinner dchin...@redhat.com
  163 Author: Christoph Hellwig h...@infradead.org
   51 Author: Christoph Hellwig h...@lst.de
   35 Author: Linus Torvalds torva...@linux-foundation.org
   34 Author: Chandra Seetharaman sekha...@us.ibm.com
   29 Author: Al Viro v...@zeniv.linux.org.uk
   28 Author: Brian Foster bfos...@redhat.com
   25 Author: Zhi Yong Wu wu...@linux.vnet.ibm.com
   24 Author: Jeff Liu jeff@oracle.com
   21 Author: Jie Liu jeff@oracle.com
   20 Author: Mark Tinguely tingu...@sgi.com
   16 Author: Dave Chinner da...@fromorbit.com
   12 Author: Eric Sandeen sand...@redhat.com
   12 Author: Carlos Maiolino cmaiol...@redhat.com
 
 If we as a community had more capacity for patch review, Dave's
 numbers would have jumped up even higher :)
 
 It is certainly very welcome to bring new developers into our
 community, but if we are going to add a co-maintainer for XFS, we
 really need to have one of our two leading developers in that role.
 Mark is replacing Alex as my backup because Alex is really busy at
 Linaro and asked to be taken off awhile ago.  The holiday season is
 coming up and I fully intend to go off my meds, turn in to Fonzy the
 bear, and eat my hat.  I need someone to watch the shop while I'm off
 exploring on Mars.  I trust Mark to do that because he is totally
 awesome.
 
 -Ben
 
 I don't mean any disrepect to you or to Mark,
   
Don't worry about it, I have plenty to spare.  ;P

 but maintainership is
 something that you earn over time by proving yourself in the
 community as a developer and a leader of the technology on a
 personal level.

 It is not something that gets managed by the community of developers
 and has the key role of keeping the most frequent developers engaged
 and happy.  That has not been working for us as a community lately.
 
 Dave Chinner is the obvious person to take on the maintainer role as
 someone who has an order of magnitude more code contributed than
 either of you (even combined).
 
 Christoph, if he has time, would also be an excellent candidate.

Eric is also a good choice.  I'd be happy to add all three.

-Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: XFS leadership and a new co-maintainer candidate

2013-11-08 Thread Ben Myers
Hey Christoph,

On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
 On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
  Mark is replacing Alex as my backup because Alex is really busy at
  Linaro and asked to be taken off awhile ago.  The holiday season is
  coming up and I fully intend to go off my meds, turn in to Fonzy the
  bear, and eat my hat.  I need someone to watch the shop while I'm off
  exploring on Mars.  I trust Mark to do that because he is totally
  awesome.
 
 
 Doing this as an unilateral decisions is not something that will win you
 a fan base.

It's posted for review.

 While we never had anything reassembling a democracy in Linux Kernel
 development making decisions without even contacting the major
 contributor is wrong, twice so if the maintainer is a relatively minor
 contributor to start with.
 
 Just because it recent came up elsewhere I'd like to recite the
 definition from Trond here again:
 
   
 http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
 
 By many of the creative roles enlisted there it's clear that Dave should
 be the maintainer.  He's been the main contributor and chief architect
 for XFS for many year, while the maintainers came and went at the mercy
 of SGI.  This is not meant to bad mouth either of you as I think you're
 doing a reasonably good job compared to other maintainers, but at the
 same time the direction is set by other people that have a much longer
 involvement with the project, and having them officially in control
 would help us forward a lot.  It would also avoid having to spend
 considerable resources to train every new generation of SGI maintainer.
 
 Coming to and end I would like to maintain Dave Chinner as the primary
 XFS maintainer for all the work he has done as biggest contributor and
 architect of XFS since longer than I can remember, and I would love to
 retain Ben Myers as a co-maintainer for all the good work he has done
 maintaining and reviewing patches since November 2011.

I think we're doing a decent job too.  So thanks for that much at least.  ;)
 
 I would also like to use this post as a public venue to condemn the
 unilateral smokey backroom decisions about XFS maintainership that SGI is
 trying to enforce on the community.

That really didn't happen Christoph.  It's not in my tree or in a pull request.

Linus, let me know what you want to do.  I do think we're doing a fair job over
here, and (geez) I'm just trying to add Mark as my backup since Alex is too
busy.  I know the RH people want more control, and that's understandable, but
they really don't need to replace me to get their code in.  Ouch.

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] update xfs maintainers

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
 On 11/08/2013 03:46 PM, Ben Myers wrote:
 Hey Christoph,
 
 On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
 On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
 Mark is replacing Alex as my backup because Alex is really busy at
 Linaro and asked to be taken off awhile ago.  The holiday season is
 coming up and I fully intend to go off my meds, turn in to Fonzy the
 bear, and eat my hat.  I need someone to watch the shop while I'm off
 exploring on Mars.  I trust Mark to do that because he is totally
 awesome.
 
 Doing this as an unilateral decisions is not something that will win you
 a fan base.
 It's posted for review.
 
 While we never had anything reassembling a democracy in Linux Kernel
 development making decisions without even contacting the major
 contributor is wrong, twice so if the maintainer is a relatively minor
 contributor to start with.
 
 Just because it recent came up elsewhere I'd like to recite the
 definition from Trond here again:
 
 
  http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
 
 By many of the creative roles enlisted there it's clear that Dave should
 be the maintainer.  He's been the main contributor and chief architect
 for XFS for many year, while the maintainers came and went at the mercy
 of SGI.  This is not meant to bad mouth either of you as I think you're
 doing a reasonably good job compared to other maintainers, but at the
 same time the direction is set by other people that have a much longer
 involvement with the project, and having them officially in control
 would help us forward a lot.  It would also avoid having to spend
 considerable resources to train every new generation of SGI maintainer.
 
 Coming to and end I would like to maintain Dave Chinner as the primary
 XFS maintainer for all the work he has done as biggest contributor and
 architect of XFS since longer than I can remember, and I would love to
 retain Ben Myers as a co-maintainer for all the good work he has done
 maintaining and reviewing patches since November 2011.
 I think we're doing a decent job too.  So thanks for that much at least.  ;)
 I would also like to use this post as a public venue to condemn the
 unilateral smokey backroom decisions about XFS maintainership that SGI is
 trying to enforce on the community.
 That really didn't happen Christoph.  It's not in my tree or in a pull 
 request.
 
 Linus, let me know what you want to do.  I do think we're doing a fair job 
 over
 here, and (geez) I'm just trying to add Mark as my backup since Alex is too
 busy.  I know the RH people want more control, and that's understandable, but
 they really don't need to replace me to get their code in.  Ouch.
 
 Thanks,
  Ben
 
 Christoph is not a Red Hat person.
 
 Jeff is from Oracle.
 
 This is not a Red Hat vs SGI thing,

Sorry if my read on that was wrong.
   
 Dave simply has earned the right
 to take on the formal leadership role of maintainer.

Then we're gonna need some Reviewed-bys.  ;)

From: Ben Myers b...@sgi.com

xfs: update maintainers 

Add Dave as maintainer of XFS.

Signed-off-by: Ben Myers b...@sgi.com
---
 MAINTAINERS |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/MAINTAINERS
===
--- a/MAINTAINERS   2013-11-08 15:20:18.935186245 -0600
+++ b/MAINTAINERS   2013-11-08 15:22:50.685245977 -0600
@@ -9387,8 +9387,8 @@ F:drivers/xen/*swiotlb*
 
 XFS FILESYSTEM
 P: Silicon Graphics Inc
+M: Dave Chinner dchin...@fromorbit.com
 M: Ben Myers b...@sgi.com
-M: Alex Elder el...@kernel.org
 M: x...@oss.sgi.com
 L: x...@oss.sgi.com
 W: http://oss.sgi.com/projects/xfs
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] update xfs maintainers

2013-11-08 Thread Ben Myers
Hey Ric,

On Fri, Nov 08, 2013 at 05:07:45PM -0500, Ric Wheeler wrote:
 On 11/08/2013 05:03 PM, Ben Myers wrote:
 Hey Ric,
 
 On Fri, Nov 08, 2013 at 03:50:21PM -0500, Ric Wheeler wrote:
 On 11/08/2013 03:46 PM, Ben Myers wrote:
 Hey Christoph,
 
 On Fri, Nov 08, 2013 at 11:34:24AM -0800, Christoph Hellwig wrote:
 On Fri, Nov 08, 2013 at 12:03:37PM -0600, Ben Myers wrote:
 Mark is replacing Alex as my backup because Alex is really busy at
 Linaro and asked to be taken off awhile ago.  The holiday season is
 coming up and I fully intend to go off my meds, turn in to Fonzy the
 bear, and eat my hat.  I need someone to watch the shop while I'm off
 exploring on Mars.  I trust Mark to do that because he is totally
 awesome.
 Doing this as an unilateral decisions is not something that will win you
 a fan base.
 It's posted for review.
 
 While we never had anything reassembling a democracy in Linux Kernel
 development making decisions without even contacting the major
 contributor is wrong, twice so if the maintainer is a relatively minor
 contributor to start with.
 
 Just because it recent came up elsewhere I'd like to recite the
 definition from Trond here again:
 
   
  http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/66.html
 
 By many of the creative roles enlisted there it's clear that Dave should
 be the maintainer.  He's been the main contributor and chief architect
 for XFS for many year, while the maintainers came and went at the mercy
 of SGI.  This is not meant to bad mouth either of you as I think you're
 doing a reasonably good job compared to other maintainers, but at the
 same time the direction is set by other people that have a much longer
 involvement with the project, and having them officially in control
 would help us forward a lot.  It would also avoid having to spend
 considerable resources to train every new generation of SGI maintainer.
 
 Coming to and end I would like to maintain Dave Chinner as the primary
 XFS maintainer for all the work he has done as biggest contributor and
 architect of XFS since longer than I can remember, and I would love to
 retain Ben Myers as a co-maintainer for all the good work he has done
 maintaining and reviewing patches since November 2011.
 I think we're doing a decent job too.  So thanks for that much at least.  
 ;)
 I would also like to use this post as a public venue to condemn the
 unilateral smokey backroom decisions about XFS maintainership that SGI is
 trying to enforce on the community.
 That really didn't happen Christoph.  It's not in my tree or in a pull 
 request.
 
 Linus, let me know what you want to do.  I do think we're doing a fair job 
 over
 here, and (geez) I'm just trying to add Mark as my backup since Alex is too
 busy.  I know the RH people want more control, and that's understandable, 
 but
 they really don't need to replace me to get their code in.  Ouch.
 
 Thanks,
Ben
 Christoph is not a Red Hat person.
 
 Jeff is from Oracle.
 
 This is not a Red Hat vs SGI thing,
 Sorry if my read on that was wrong.
 
 I do appreciate the work and effort you and the SGI team put in but
 think that this will be a good way to keep the community happier and
 even more productive going forward.

 Dave simply has earned the right
 to take on the formal leadership role of maintainer.
 Then we're gonna need some Reviewed-bys.  ;)
 
 Those should come from the developers, thanks!

I actually do need your Reviewed-by.   We'll try and get this one in 3.13.  ;)

Thanks,
Ben

 From: Ben Myers b...@sgi.com
 
 xfs: update maintainers
 
 Add Dave as maintainer of XFS.
 
 Signed-off-by: Ben Myers b...@sgi.com
 ---
   MAINTAINERS |2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
 
 Index: b/MAINTAINERS
 ===
 --- a/MAINTAINERS2013-11-08 15:20:18.935186245 -0600
 +++ b/MAINTAINERS2013-11-08 15:22:50.685245977 -0600
 @@ -9387,8 +9387,8 @@ F: drivers/xen/*swiotlb*
   XFS FILESYSTEM
   P: Silicon Graphics Inc
 +M:  Dave Chinner dchin...@fromorbit.com
   M: Ben Myers b...@sgi.com
 -M:  Alex Elder el...@kernel.org
   M: x...@oss.sgi.com
   L: x...@oss.sgi.com
   W: http://oss.sgi.com/projects/xfs
 
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH V2] xfs: simplify kmem_{zone_}zalloc

2013-11-06 Thread Ben Myers
On Mon, Nov 04, 2013 at 06:21:05PM +0800, Gu Zheng wrote:
> Introduce flag KM_ZERO which is used to alloc zeroed entry, and convert
> kmem_{zone_}zalloc to call kmem_{zone_}alloc() with KM_ZERO directly,
> in order to avoid the setting to zero step. 
> And following Dave's suggestion, make kmem_{zone_}zalloc static inline
> into kmem.h as they're now just a simple wrapper.
> 
> V2:
>   Make kmem_{zone_}zalloc static inline into kmem.h as Dave suggested.
> 
> Signed-off-by: Gu Zheng 

Applied.  Thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH V2] xfs: simplify kmem_{zone_}zalloc

2013-11-06 Thread Ben Myers
On Mon, Nov 04, 2013 at 06:21:05PM +0800, Gu Zheng wrote:
 Introduce flag KM_ZERO which is used to alloc zeroed entry, and convert
 kmem_{zone_}zalloc to call kmem_{zone_}alloc() with KM_ZERO directly,
 in order to avoid the setting to zero step. 
 And following Dave's suggestion, make kmem_{zone_}zalloc static inline
 into kmem.h as they're now just a simple wrapper.
 
 V2:
   Make kmem_{zone_}zalloc static inline into kmem.h as Dave suggested.
 
 Signed-off-by: Gu Zheng guz.f...@cn.fujitsu.com

Applied.  Thanks!
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] xfs:xfs_dir2_node.c: pointer use before check for null

2013-10-31 Thread Ben Myers
On Fri, Oct 25, 2013 at 10:06:09AM -0500, Ben Myers wrote:
> On Fri, Oct 25, 2013 at 03:53:25PM +0400, Denis Efremov wrote:
> > ASSERT on args takes place after args dereference.
> > This assertion is redundant since we are going to panic anyway.
> > 
> > Found by Linux Driver Verification project (linuxtesting.org) -
> > PVS-Studio analyzer.
> > 
> > Signed-off-by: Denis Efremov 
> 
> Looks good. 
> 
> Reviewed-by: Ben Myers 

Applied.  Thanks Denis.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-31 Thread Ben Myers
Hey Geyslan,

On Wed, Oct 30, 2013 at 03:08:12PM -0500, Eric Sandeen wrote:
> On 10/23/13 3:34 PM, Ben Myers wrote:
> 
> > xfs: fix possible NULL dereference in xlog_verify_iclog
> > 
> > In xlog_verify_iclog a debug check of the incore log buffers prints an
> > error if icptr is null and then goes on to dereference the pointer
> > regardless.  Convert this to an assert so that the intention is clear.
> > This was reported by Coverty.
> > 
> > Reported-by: Geyslan G. Bem 
> > Signed-off-by: Ben Myers 
> 
> Reviewed-by: Eric Sandeen 

Applied this.  Many thanks!  ;)

-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-31 Thread Ben Myers
Hey Geyslan,

On Wed, Oct 30, 2013 at 03:08:12PM -0500, Eric Sandeen wrote:
 On 10/23/13 3:34 PM, Ben Myers wrote:
 
  xfs: fix possible NULL dereference in xlog_verify_iclog
  
  In xlog_verify_iclog a debug check of the incore log buffers prints an
  error if icptr is null and then goes on to dereference the pointer
  regardless.  Convert this to an assert so that the intention is clear.
  This was reported by Coverty.
  
  Reported-by: Geyslan G. Bem geys...@gmail.com
  Signed-off-by: Ben Myers b...@sgi.com
 
 Reviewed-by: Eric Sandeen sand...@redhat.com

Applied this.  Many thanks!  ;)

-Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] xfs:xfs_dir2_node.c: pointer use before check for null

2013-10-31 Thread Ben Myers
On Fri, Oct 25, 2013 at 10:06:09AM -0500, Ben Myers wrote:
 On Fri, Oct 25, 2013 at 03:53:25PM +0400, Denis Efremov wrote:
  ASSERT on args takes place after args dereference.
  This assertion is redundant since we are going to panic anyway.
  
  Found by Linux Driver Verification project (linuxtesting.org) -
  PVS-Studio analyzer.
  
  Signed-off-by: Denis Efremov yefremov.de...@gmail.com
 
 Looks good. 
 
 Reviewed-by: Ben Myers b...@sgi.com

Applied.  Thanks Denis.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] xfs:xfs_dir2_node.c: pointer use before check for null

2013-10-25 Thread Ben Myers
On Fri, Oct 25, 2013 at 03:53:25PM +0400, Denis Efremov wrote:
> ASSERT on args takes place after args dereference.
> This assertion is redundant since we are going to panic anyway.
> 
> Found by Linux Driver Verification project (linuxtesting.org) -
> PVS-Studio analyzer.
> 
> Signed-off-by: Denis Efremov 

Looks good. 

Reviewed-by: Ben Myers 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2] xfs:xfs_dir2_node.c: pointer use before check for null

2013-10-25 Thread Ben Myers
On Fri, Oct 25, 2013 at 03:53:25PM +0400, Denis Efremov wrote:
 ASSERT on args takes place after args dereference.
 This assertion is redundant since we are going to panic anyway.
 
 Found by Linux Driver Verification project (linuxtesting.org) -
 PVS-Studio analyzer.
 
 Signed-off-by: Denis Efremov yefremov.de...@gmail.com

Looks good. 

Reviewed-by: Ben Myers b...@sgi.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-23 Thread Ben Myers
Hey Geyslan,

On Wed, Oct 23, 2013 at 08:58:51AM -0200, Geyslan Gregório Bem wrote:
> - Regarding the "possible new patch" subject, I humbly pass the ball to you.
> 
> Thank you for the attention.

Thank you for the patch.  I would really prefer to commit this showing
authorship from you, rather than a Reported-by.  Can I mark you down?

Regards,
Ben

---

xfs: fix possible NULL dereference in xlog_verify_iclog

In xlog_verify_iclog a debug check of the incore log buffers prints an
error if icptr is null and then goes on to dereference the pointer
regardless.  Convert this to an assert so that the intention is clear.
This was reported by Coverty.

Reported-by: Geyslan G. Bem 
Signed-off-by: Ben Myers 
---
 fs/xfs/xfs_log.c |8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

Index: b/fs/xfs/xfs_log.c
===
--- a/fs/xfs/xfs_log.c  2013-10-23 14:52:47.875216875 -0500
+++ b/fs/xfs/xfs_log.c  2013-10-23 14:53:53.775245830 -0500
@@ -3714,11 +3714,9 @@ xlog_verify_iclog(
/* check validity of iclog pointers */
spin_lock(>l_icloglock);
icptr = log->l_iclog;
-   for (i=0; i < log->l_iclog_bufs; i++) {
-   if (icptr == NULL)
-   xfs_emerg(log->l_mp, "%s: invalid ptr", __func__);
-   icptr = icptr->ic_next;
-   }
+   for (i=0; i < log->l_iclog_bufs; i++, icptr = icptr->ic_next)
+   ASSERT(icptr);
+
if (icptr != log->l_iclog)
xfs_emerg(log->l_mp, "%s: corrupt iclog ring", __func__);
spin_unlock(>l_icloglock);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-23 Thread Ben Myers
Hey Geyslan,

On Wed, Oct 23, 2013 at 08:58:51AM -0200, Geyslan Gregório Bem wrote:
 - Regarding the possible new patch subject, I humbly pass the ball to you.
 
 Thank you for the attention.

Thank you for the patch.  I would really prefer to commit this showing
authorship from you, rather than a Reported-by.  Can I mark you down?

Regards,
Ben

---

xfs: fix possible NULL dereference in xlog_verify_iclog

In xlog_verify_iclog a debug check of the incore log buffers prints an
error if icptr is null and then goes on to dereference the pointer
regardless.  Convert this to an assert so that the intention is clear.
This was reported by Coverty.

Reported-by: Geyslan G. Bem geys...@gmail.com
Signed-off-by: Ben Myers b...@sgi.com
---
 fs/xfs/xfs_log.c |8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

Index: b/fs/xfs/xfs_log.c
===
--- a/fs/xfs/xfs_log.c  2013-10-23 14:52:47.875216875 -0500
+++ b/fs/xfs/xfs_log.c  2013-10-23 14:53:53.775245830 -0500
@@ -3714,11 +3714,9 @@ xlog_verify_iclog(
/* check validity of iclog pointers */
spin_lock(log-l_icloglock);
icptr = log-l_iclog;
-   for (i=0; i  log-l_iclog_bufs; i++) {
-   if (icptr == NULL)
-   xfs_emerg(log-l_mp, %s: invalid ptr, __func__);
-   icptr = icptr-ic_next;
-   }
+   for (i=0; i  log-l_iclog_bufs; i++, icptr = icptr-ic_next)
+   ASSERT(icptr);
+
if (icptr != log-l_iclog)
xfs_emerg(log-l_mp, %s: corrupt iclog ring, __func__);
spin_unlock(log-l_icloglock);

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-22 Thread Ben Myers
Hey Gents,

On Wed, Oct 23, 2013 at 09:02:54AM +1100, Dave Chinner wrote:
> On Tue, Oct 22, 2013 at 04:19:44PM -0500, Eric Sandeen wrote:
> > On 10/22/13 4:03 PM, Dave Chinner wrote:
> > > On Tue, Oct 22, 2013 at 03:49:01PM -0500, Eric Sandeen wrote:
> > >> On 10/22/13 3:39 PM, Dave Chinner wrote:
> > >>> On Tue, Oct 22, 2013 at 08:12:51AM -0200, Geyslan Gregório Bem wrote:
> > >>>> 2013/10/21 Dave Chinner :
> > >>>>> On Mon, Oct 21, 2013 at 07:00:59PM -0500, Eric Sandeen wrote:
> > >>>>>> On 10/21/13 6:56 PM, Dave Chinner wrote:
> > >>>>>>> On Mon, Oct 21, 2013 at 06:18:49PM -0500, Ben Myers wrote:
> > >>>>>
> > >>>>> Yes, but to continue the Devil's Advocate argument, the purpose of
> > >>>>> debug code isn't to enlightent the casual reader or drive-by
> > >>>>> patchers - it's to make life easier for people who actually spend
> > >>>>> time debugging the code. And the people who need the debug code
> > >>>>> are expected to understand why an ASSERT is not necessary. :)
> > >>>>>
> > >>>> Dave, Eric and Ben,
> > >>>>
> > >>>> This was catched by coverity (CID 102348).
> > >>>
> > >>> You should have put that in the patch description.
> > >>>
> > >>> Now I understand why there's been a sudden surge of irrelevant one
> > >>> line changes from random people that have never touched XFS before.
> > >>>
> > >>> 
> > >>>
> > >>> Ok, lets churn the code just to shut the stupid checker up. This
> > >>> doesn't fix a bug, it doesn't change behaviour, it just makes
> > >>> coverity happy. Convert it to the for loop plus ASSERT I mentioned
> > >>> in a previous message.
> > >>
> > >> You know, I respectfully disagree, but we might just have to agree
> > >> to disagree.  The code, as it stands, tests for a null ptr
> > >> and then dereferences it.  That's always going to raise some
> > >> eyebrows, coverity or not, debug code or not, drive by or not.
> > > 
> > >> So even for future developers, making the code more self-
> > >> documenting about this behavior would be a plus, whether it's by
> > >> comment, by explicit ASSERT(), or whatever.  (I don't think
> > >> that xfs_emerg() has quite enough context to make it obvious.)
> > > 
> > > Sure, but if weren't for the fact that Coverity warned about it,
> > > nobody other that us people who work on the XFS code day in, day out
> > > would have even cared about it.
> > > 
> > > That's kind of my point - again, as the Devil's Advocate - that
> > > coverity is encouraging drive-by "fixes" by people who don't
> > > actually understand any of the context, history and/or culture
> > > surrounding the code being modified.
> > 
> > They shouldn't have to, the code (or comments therein) should
> > make it obvious.  ;)  (in a perfect world...)
> 
> Obvious to whom, exactly?
> 
> That's the point I'm trying to make - "#ifdef DEBUG", two
> comments indicating that it's validating the list and printing a
> message just before it goes boom. That's pretty obvious code to
> anyone who is used to tracking down corrupted list problems...
> 
> > > I have no problems with real bugs being fixed, but if we are
> > > modifying code for no gain other than closing "coverity doesn't like
> > > it" bugs, then we *should* be questioning whether the change is
> > > really necessary.
> > 
> > But let's give Geyslan the benefit of the doubt, and realize that
> > Coverity does find real things, and even if it originated w/ a
> > Coverity CID, when one sees:
> > 
> > if (!a)
> > printk("a thing\n")
> > 
> > a = a->b = . . . 
> > 
> > it looks suspicious to pretty much anyone.  I don't think Geyslan
> > sent it to shut Coverity up, he sent it because it looked like
> > a bug worth fixing (after Coverity spotted it).
> > 
> > Let's not be too hard on him for trying; I appreciate it more
> > than spelling fixes and whitespace cleanups.  ;)
> 
> True, point taken. 

So, uh, lets go with the ASSERT approach then?  It seems to be a reasonable
middle ground.  ;)

Regards,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-22 Thread Ben Myers
Hey Gents,

On Wed, Oct 23, 2013 at 09:02:54AM +1100, Dave Chinner wrote:
 On Tue, Oct 22, 2013 at 04:19:44PM -0500, Eric Sandeen wrote:
  On 10/22/13 4:03 PM, Dave Chinner wrote:
   On Tue, Oct 22, 2013 at 03:49:01PM -0500, Eric Sandeen wrote:
   On 10/22/13 3:39 PM, Dave Chinner wrote:
   On Tue, Oct 22, 2013 at 08:12:51AM -0200, Geyslan Gregório Bem wrote:
   2013/10/21 Dave Chinner da...@fromorbit.com:
   On Mon, Oct 21, 2013 at 07:00:59PM -0500, Eric Sandeen wrote:
   On 10/21/13 6:56 PM, Dave Chinner wrote:
   On Mon, Oct 21, 2013 at 06:18:49PM -0500, Ben Myers wrote:
  
   Yes, but to continue the Devil's Advocate argument, the purpose of
   debug code isn't to enlightent the casual reader or drive-by
   patchers - it's to make life easier for people who actually spend
   time debugging the code. And the people who need the debug code
   are expected to understand why an ASSERT is not necessary. :)
  
   Dave, Eric and Ben,
  
   This was catched by coverity (CID 102348).
  
   You should have put that in the patch description.
  
   Now I understand why there's been a sudden surge of irrelevant one
   line changes from random people that have never touched XFS before.
  
   sigh
  
   Ok, lets churn the code just to shut the stupid checker up. This
   doesn't fix a bug, it doesn't change behaviour, it just makes
   coverity happy. Convert it to the for loop plus ASSERT I mentioned
   in a previous message.
  
   You know, I respectfully disagree, but we might just have to agree
   to disagree.  The code, as it stands, tests for a null ptr
   and then dereferences it.  That's always going to raise some
   eyebrows, coverity or not, debug code or not, drive by or not.
   
   So even for future developers, making the code more self-
   documenting about this behavior would be a plus, whether it's by
   comment, by explicit ASSERT(), or whatever.  (I don't think
   that xfs_emerg() has quite enough context to make it obvious.)
   
   Sure, but if weren't for the fact that Coverity warned about it,
   nobody other that us people who work on the XFS code day in, day out
   would have even cared about it.
   
   That's kind of my point - again, as the Devil's Advocate - that
   coverity is encouraging drive-by fixes by people who don't
   actually understand any of the context, history and/or culture
   surrounding the code being modified.
  
  They shouldn't have to, the code (or comments therein) should
  make it obvious.  ;)  (in a perfect world...)
 
 Obvious to whom, exactly?
 
 That's the point I'm trying to make - #ifdef DEBUG, two
 comments indicating that it's validating the list and printing a
 message just before it goes boom. That's pretty obvious code to
 anyone who is used to tracking down corrupted list problems...
 
   I have no problems with real bugs being fixed, but if we are
   modifying code for no gain other than closing coverity doesn't like
   it bugs, then we *should* be questioning whether the change is
   really necessary.
  
  But let's give Geyslan the benefit of the doubt, and realize that
  Coverity does find real things, and even if it originated w/ a
  Coverity CID, when one sees:
  
  if (!a)
  printk(a thing\n)
  
  a = a-b = . . . 
  
  it looks suspicious to pretty much anyone.  I don't think Geyslan
  sent it to shut Coverity up, he sent it because it looked like
  a bug worth fixing (after Coverity spotted it).
  
  Let's not be too hard on him for trying; I appreciate it more
  than spelling fixes and whitespace cleanups.  ;)
 
 True, point taken. 

So, uh, lets go with the ASSERT approach then?  It seems to be a reasonable
middle ground.  ;)

Regards,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-21 Thread Ben Myers
Hey,

On Mon, Oct 21, 2013 at 06:12:18PM -0500, Eric Sandeen wrote:
> On 10/21/13 5:44 PM, Dave Chinner wrote:
> > On Mon, Oct 21, 2013 at 03:58:23PM -0500, Eric Sandeen wrote:
> >> On 10/21/13 1:32 PM, Geyslan G. Bem wrote:
> >>> This patch puts a 'break' in the true branch, avoiding the 
> >>> 'icptr->ic_next'
> >>> dereferencing.
> >>
> >> Reviewed-by: Eric Sandeen 
> > 
> > Actually, NACK.
> 
> I felt that one coming ;)
> 
> >> Hm, yeah - cmn_err(CE_PANIC, " " ); used to BUG_ON, but the newer
> >> xfs_emerg() doesn't.
> >>
> >> Dave, was that intentional?
> > 
> > Of course it was. ;) xfs_emerg() is only called from the debug code
> > in xlog_verify_iclog(), xlog_verify_tail_lsn and assfail().
> > 
> > In the case of assfail(), it has it's own BUG() call, so it does
> > everything just fine.
> > 
> > In the case of xlog_verify_iclog() when icptr is NULL, it will
> > panic immediately after the message is printed, just like the old
> > code. i.e. this patch isn't fixing anything we need fixed. 
> 
> A BUG() is probably warranted, then.

I tend to agree with Eric on this point.  If we want to crash, I'd rather our
intent be very clear, rather than just see a null ptr deref.  ;)

Regards,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: fix possible NULL dereference

2013-10-21 Thread Ben Myers
Hey,

On Mon, Oct 21, 2013 at 06:12:18PM -0500, Eric Sandeen wrote:
 On 10/21/13 5:44 PM, Dave Chinner wrote:
  On Mon, Oct 21, 2013 at 03:58:23PM -0500, Eric Sandeen wrote:
  On 10/21/13 1:32 PM, Geyslan G. Bem wrote:
  This patch puts a 'break' in the true branch, avoiding the 
  'icptr-ic_next'
  dereferencing.
 
  Reviewed-by: Eric Sandeen sand...@redhat.com
  
  Actually, NACK.
 
 I felt that one coming ;)
 
  Hm, yeah - cmn_err(CE_PANIC,   ); used to BUG_ON, but the newer
  xfs_emerg() doesn't.
 
  Dave, was that intentional?
  
  Of course it was. ;) xfs_emerg() is only called from the debug code
  in xlog_verify_iclog(), xlog_verify_tail_lsn and assfail().
  
  In the case of assfail(), it has it's own BUG() call, so it does
  everything just fine.
  
  In the case of xlog_verify_iclog() when icptr is NULL, it will
  panic immediately after the message is printed, just like the old
  code. i.e. this patch isn't fixing anything we need fixed. 
 
 A BUG() is probably warranted, then.

I tend to agree with Eric on this point.  If we want to crash, I'd rather our
intent be very clear, rather than just see a null ptr deref.  ;)

Regards,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS fixes for 3.12-rc4

2013-10-04 Thread Ben Myers
Hi Linus,

   Please pull in these bugfixes for xfs.  There are lockdep annotations for
   project quotas, a fix for dirent dtype support on v4 filesystems, a fix for
   a memory leak in recovery, and a fix for the build error that resulted from
   it.  D'oh.

Thanks,
Ben

The following changes since commit 997def25e4b9cee3b01609e18a52f926bca8bd2b:

  xfs: fix node forward in xfs_node_toosmall (2013-09-26 10:38:17 -0500)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.12-rc4

for you to fetch changes up to b2a42f78ab475f4730300b0e9568bc3b2587d112:

  xfs: Use kmem_free() instead of free() (2013-10-04 13:56:12 -0500)


xfs: bugfixes for 3.12-rc4

- lockdep fix for project quotas
- fix for dirent dtype support on v4 filesystems
- fix for a memory leak in recovery
- fix for build failure due to the recovery fix


Dave Chinner (2):
  xfs: lockdep needs to know about 3 dquot-deep nesting
  xfs: dirent dtype presence is dependent on directory magic numbers

Thierry Reding (1):
  xfs: Use kmem_free() instead of free()

tingu...@sgi.com (1):
  xfs: fix memory leak in xlog_recover_add_to_trans

 fs/xfs/xfs_dir2_block.c   |  6 +++---
 fs/xfs/xfs_dir2_format.h  | 51 +++
 fs/xfs/xfs_dir2_readdir.c |  4 ++--
 fs/xfs/xfs_dir2_sf.c  |  6 +++---
 fs/xfs/xfs_dquot.c| 19 +++---
 fs/xfs/xfs_log_recover.c  |  1 +
 6 files changed, 45 insertions(+), 42 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS fixes for 3.12-rc4

2013-10-04 Thread Ben Myers
Hi Linus,

   Please pull in these bugfixes for xfs.  There are lockdep annotations for
   project quotas, a fix for dirent dtype support on v4 filesystems, a fix for
   a memory leak in recovery, and a fix for the build error that resulted from
   it.  D'oh.

Thanks,
Ben

The following changes since commit 997def25e4b9cee3b01609e18a52f926bca8bd2b:

  xfs: fix node forward in xfs_node_toosmall (2013-09-26 10:38:17 -0500)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs.git tags/xfs-for-linus-v3.12-rc4

for you to fetch changes up to b2a42f78ab475f4730300b0e9568bc3b2587d112:

  xfs: Use kmem_free() instead of free() (2013-10-04 13:56:12 -0500)


xfs: bugfixes for 3.12-rc4

- lockdep fix for project quotas
- fix for dirent dtype support on v4 filesystems
- fix for a memory leak in recovery
- fix for build failure due to the recovery fix


Dave Chinner (2):
  xfs: lockdep needs to know about 3 dquot-deep nesting
  xfs: dirent dtype presence is dependent on directory magic numbers

Thierry Reding (1):
  xfs: Use kmem_free() instead of free()

tingu...@sgi.com (1):
  xfs: fix memory leak in xlog_recover_add_to_trans

 fs/xfs/xfs_dir2_block.c   |  6 +++---
 fs/xfs/xfs_dir2_format.h  | 51 +++
 fs/xfs/xfs_dir2_readdir.c |  4 ++--
 fs/xfs/xfs_dir2_sf.c  |  6 +++---
 fs/xfs/xfs_dquot.c| 19 +++---
 fs/xfs/xfs_log_recover.c  |  1 +
 6 files changed, 45 insertions(+), 42 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: Use kmem_free() instead of free()

2013-10-01 Thread Ben Myers
On Tue, Oct 01, 2013 at 10:00:43AM -0500, Mark Tinguely wrote:
> On 10/01/13 09:47, Thierry Reding wrote:
> >This fixes a build failure caused by calling the free() function which
> >does not exist in the Linux kernel.
> >
> >Signed-off-by: Thierry Reding
> >---
> >  fs/xfs/xfs_log_recover.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
> >index 4324058..3979749 100644
> >--- a/fs/xfs/xfs_log_recover.c
> >+++ b/fs/xfs/xfs_log_recover.c
> >@@ -1585,7 +1585,7 @@ xlog_recover_add_to_trans(
> > "bad number of regions (%d) in inode log format",
> >   in_f->ilf_size);
> > ASSERT(0);
> >-free(ptr);
> >+kmem_free(ptr);
> > return XFS_ERROR(EIO);
> > }
> >
> 
> Looks good. I will remove the other list items in another patch.
> 
> Reviewed-by: Mark Tinguely 

Gah.  Build Fail.  Apparently things were getting a little punchy over here.

Applied, and thanks Thierry.

-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: Use kmem_free() instead of free()

2013-10-01 Thread Ben Myers
On Tue, Oct 01, 2013 at 10:00:43AM -0500, Mark Tinguely wrote:
 On 10/01/13 09:47, Thierry Reding wrote:
 This fixes a build failure caused by calling the free() function which
 does not exist in the Linux kernel.
 
 Signed-off-by: Thierry Redingtred...@nvidia.com
 ---
   fs/xfs/xfs_log_recover.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
 index 4324058..3979749 100644
 --- a/fs/xfs/xfs_log_recover.c
 +++ b/fs/xfs/xfs_log_recover.c
 @@ -1585,7 +1585,7 @@ xlog_recover_add_to_trans(
  bad number of regions (%d) in inode log format,
in_f-ilf_size);
  ASSERT(0);
 -free(ptr);
 +kmem_free(ptr);
  return XFS_ERROR(EIO);
  }
 
 
 Looks good. I will remove the other list items in another patch.
 
 Reviewed-by: Mark Tinguely tingu...@sgi.com

Gah.  Build Fail.  Apparently things were getting a little punchy over here.

Applied, and thanks Thierry.

-Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS fixes for 3.12-rc3

2013-09-28 Thread Ben Myers
Hi Linus,

Please pull these bugfixes for xfs.  There is a fix for an
assert caused by a spurious directory block collapse, a fix for
recovery of a block over stale metadata from a previous mkfs, a
cleanup for the eofblocks ioctl, and fixes for locking issues in
xfs_inode_free and log item removal from the active item list.

Thanks,
   Ben

The following changes since commit 272b98c6455f00884f0350f775c5342358ebb73f:

  Linux 3.12-rc1 (2013-09-16 16:17:51 -0400)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs tags/xfs-for-linus-v3.12-rc3

for you to fetch changes up to 997def25e4b9cee3b01609e18a52f926bca8bd2b:

  xfs: fix node forward in xfs_node_toosmall (2013-09-26 10:38:17 -0500)


xfs: bugfixes for 3.12-rc3

- fix for directory node collapse regression
- fix for recovery over stale on disk structures
- fix for eofblocks ioctl
- fix asserts in xfs_inode_free
- lock the ail before removing an item from it


Dave Chinner (4):
  xfs: lock the AIL before removing the buffer item
  xfs: asserting lock not held during freeing not valid
  xfs: fix XFS_IOC_FREE_EOFBLOCKS definition
  xfs: log recovery lsn ordering needs uuid check

Mark Tinguely (1):
  xfs: fix node forward in xfs_node_toosmall

 fs/xfs/xfs_buf_item.c|  1 +
 fs/xfs/xfs_da_btree.c|  5 ++--
 fs/xfs/xfs_fs.h  |  2 +-
 fs/xfs/xfs_icache.c  |  9 +++---
 fs/xfs/xfs_log_recover.c | 73 ++--
 5 files changed, 68 insertions(+), 22 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS fixes for 3.12-rc3

2013-09-28 Thread Ben Myers
Hi Linus,

Please pull these bugfixes for xfs.  There is a fix for an
assert caused by a spurious directory block collapse, a fix for
recovery of a block over stale metadata from a previous mkfs, a
cleanup for the eofblocks ioctl, and fixes for locking issues in
xfs_inode_free and log item removal from the active item list.

Thanks,
   Ben

The following changes since commit 272b98c6455f00884f0350f775c5342358ebb73f:

  Linux 3.12-rc1 (2013-09-16 16:17:51 -0400)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs tags/xfs-for-linus-v3.12-rc3

for you to fetch changes up to 997def25e4b9cee3b01609e18a52f926bca8bd2b:

  xfs: fix node forward in xfs_node_toosmall (2013-09-26 10:38:17 -0500)


xfs: bugfixes for 3.12-rc3

- fix for directory node collapse regression
- fix for recovery over stale on disk structures
- fix for eofblocks ioctl
- fix asserts in xfs_inode_free
- lock the ail before removing an item from it


Dave Chinner (4):
  xfs: lock the AIL before removing the buffer item
  xfs: asserting lock not held during freeing not valid
  xfs: fix XFS_IOC_FREE_EOFBLOCKS definition
  xfs: log recovery lsn ordering needs uuid check

Mark Tinguely (1):
  xfs: fix node forward in xfs_node_toosmall

 fs/xfs/xfs_buf_item.c|  1 +
 fs/xfs/xfs_da_btree.c|  5 ++--
 fs/xfs/xfs_fs.h  |  2 +-
 fs/xfs/xfs_icache.c  |  9 +++---
 fs/xfs/xfs_log_recover.c | 73 ++--
 5 files changed, 68 insertions(+), 22 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [XFS MAINTAINERS] fs/xfs/xfs_dir2_node.c: xfs: xfs_dir2_leafn_add: Variables Uninitialized

2013-09-27 Thread Ben Myers
Hi Geyslan,

On Fri, Sep 27, 2013 at 02:59:12PM -0300, Geyslan Gregório Bem wrote:
> Hi Maintainers,
> 
> I suppose the variables "highstale" and "lowstale" are being used despite
> not having been initialized.
> 
> File: fs/xfs/xfs_dir2_node.c
> Function: xfs_dir2_leafn_add
> 
> L491:
> > /*
> > * Insert the new entry, log everything.
> > */
> > lep = xfs_dir3_leaf_find_entry(, ents, index, compact, lowstale,
> > highstale, , );
> 
> The only place they are started up is within this condition:
> 
> L480:
> > if (compact)
> > xfs_dir3_leaf_compact_x1(, ents, , ,
> > , , );
> 
> So, if it is not compact, both have garbage.

Thanks for the report.  That sounds pretty bad.  Lets see...

421 static int  /* error */
422 xfs_dir2_leafn_add(
423 struct xfs_buf  *bp,/* leaf buffer */
424 xfs_da_args_t   *args,  /* operation arguments */
425 int index)  /* insertion pt for new 
entry */
426 {
...
476 /*
477  * Compact out all but one stale leaf entry.  Leaves behind
478  * the entry closest to index.
479  */
480 if (compact)
481 xfs_dir3_leaf_compact_x1(, ents, , ,
482  , , );
483 else if (leafhdr.stale) {
484 /*
485  * Set impossible logging indices for this case.
486  */
487 lfloglow = leafhdr.count;
488 lfloghigh = -1;
489 }
490
491 /*
492  * Insert the new entry, log everything.
493  */
494 lep = xfs_dir3_leaf_find_entry(, ents, index, compact, 
lowstale,
495highstale, , );

If compact is set at 481 we pass the addresses of highstale and lowstale to
xfs_dir3_leaf_compact_x1, which passes them to xfs_dir3_leaf_find_stale, which
makes assignments to both variables unconditionally.  Later at 494 we pass
compact, lowstale, and highstale to xfs_dir3_leaf_find_entry.

So we're ok if compact is set...

555 struct xfs_dir2_leaf_entry *
556 xfs_dir3_leaf_find_entry(
557 struct xfs_dir3_icleaf_hdr *leafhdr,
558 struct xfs_dir2_leaf_entry *ents,
559 int index,  /* leaf table position */
560 int compact,/* need to compact leaves */
561 int lowstale,   /* index of prev stale leaf 
*/
562 int highstale,  /* index of next stale leaf 
*/
563 int *lfloglow,  /* low leaf logging index */
564 int *lfloghigh) /* high leaf logging index 
*/
565 {
...
587 /*
588  * There are stale entries.
589  *
590  * We will use one of them for the new entry.  It's probably not at
591  * the right location, so we'll have to shift some up or down first.
592  *
593  * If we didn't compact before, we need to find the nearest stale
594  * entries before and after our insertion point.
595  */
596 if (compact == 0)
597 xfs_dir3_leaf_find_stale(leafhdr, ents, index,
598  , );

In xfs_dir3_leaf_find_entry, it looks like if compact is not set, we will pass
the addresses of lowstale and highstale to xfs_dir3_leaf_find_stale which
appears to make assignments to them unconditionally.  It looks like
xfs_dir3_leaf_find_entry doesn't read from lowstale and highstale until after
598.  I think this should take care of the !compact case too.  Do you agree?

Thanks much,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [XFS MAINTAINERS] fs/xfs/xfs_dir2_node.c: xfs: xfs_dir2_leafn_add: Variables Uninitialized

2013-09-27 Thread Ben Myers
Hi Geyslan,

On Fri, Sep 27, 2013 at 02:59:12PM -0300, Geyslan Gregório Bem wrote:
 Hi Maintainers,
 
 I suppose the variables highstale and lowstale are being used despite
 not having been initialized.
 
 File: fs/xfs/xfs_dir2_node.c
 Function: xfs_dir2_leafn_add
 
 L491:
  /*
  * Insert the new entry, log everything.
  */
  lep = xfs_dir3_leaf_find_entry(leafhdr, ents, index, compact, lowstale,
  highstale, lfloglow, lfloghigh);
 
 The only place they are started up is within this condition:
 
 L480:
  if (compact)
  xfs_dir3_leaf_compact_x1(leafhdr, ents, index, lowstale,
  highstale, lfloglow, lfloghigh);
 
 So, if it is not compact, both have garbage.

Thanks for the report.  That sounds pretty bad.  Lets see...

421 static int  /* error */
422 xfs_dir2_leafn_add(
423 struct xfs_buf  *bp,/* leaf buffer */
424 xfs_da_args_t   *args,  /* operation arguments */
425 int index)  /* insertion pt for new 
entry */
426 {
...
476 /*
477  * Compact out all but one stale leaf entry.  Leaves behind
478  * the entry closest to index.
479  */
480 if (compact)
481 xfs_dir3_leaf_compact_x1(leafhdr, ents, index, lowstale,
482  highstale, lfloglow, lfloghigh);
483 else if (leafhdr.stale) {
484 /*
485  * Set impossible logging indices for this case.
486  */
487 lfloglow = leafhdr.count;
488 lfloghigh = -1;
489 }
490
491 /*
492  * Insert the new entry, log everything.
493  */
494 lep = xfs_dir3_leaf_find_entry(leafhdr, ents, index, compact, 
lowstale,
495highstale, lfloglow, lfloghigh);

If compact is set at 481 we pass the addresses of highstale and lowstale to
xfs_dir3_leaf_compact_x1, which passes them to xfs_dir3_leaf_find_stale, which
makes assignments to both variables unconditionally.  Later at 494 we pass
compact, lowstale, and highstale to xfs_dir3_leaf_find_entry.

So we're ok if compact is set...

555 struct xfs_dir2_leaf_entry *
556 xfs_dir3_leaf_find_entry(
557 struct xfs_dir3_icleaf_hdr *leafhdr,
558 struct xfs_dir2_leaf_entry *ents,
559 int index,  /* leaf table position */
560 int compact,/* need to compact leaves */
561 int lowstale,   /* index of prev stale leaf 
*/
562 int highstale,  /* index of next stale leaf 
*/
563 int *lfloglow,  /* low leaf logging index */
564 int *lfloghigh) /* high leaf logging index 
*/
565 {
...
587 /*
588  * There are stale entries.
589  *
590  * We will use one of them for the new entry.  It's probably not at
591  * the right location, so we'll have to shift some up or down first.
592  *
593  * If we didn't compact before, we need to find the nearest stale
594  * entries before and after our insertion point.
595  */
596 if (compact == 0)
597 xfs_dir3_leaf_find_stale(leafhdr, ents, index,
598  lowstale, highstale);

In xfs_dir3_leaf_find_entry, it looks like if compact is not set, we will pass
the addresses of lowstale and highstale to xfs_dir3_leaf_find_stale which
appears to make assignments to them unconditionally.  It looks like
xfs_dir3_leaf_find_entry doesn't read from lowstale and highstale until after
598.  I think this should take care of the !compact case too.  Do you agree?

Thanks much,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS updates #2 for 3.12-rc1

2013-09-12 Thread Ben Myers
Hi Linus,

   Please pull these XFS updates for 3.12-rc1.  There is a feature to support
   defrag on CRC enabled filesystems, some bugfixes, and cleanups.

Thanks,
Ben

The following changes since commit 1d03c6fa88af35e55047a1f2ab116f0fdf2f55aa:

  xfs: XFS_MOUNT_QUOTA_ALL needed by userspace (2013-09-03 15:00:06 -0500)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs tags/xfs-for-linus-v3.12-rc1-2

for you to fetch changes up to 08474ed639e971e9d5a877cf7aba7ef91d847ae9:

  xfs: remove dead code from xlog_recover_inode_pass2 (2013-09-12 09:51:49 
-0500)


xfs: update #2 for v3.12-rc1

Here we have defrag support for v5 superblock, a number of bugfixes and
a cleanup or two.

- defrag support for CRC filesystems
- fix endian worning in xlog_recover_get_buf_lsn
- fixes for sparse warnings
- fix for assert in xfs_dir3_leaf_hdr_from_disk
- fix for log recovery of remote symlinks
- fix for log recovery of btree root splits
- fixes formemory allocation failures with ACLs
- fix for assert in xfs_buf_item_relse
- fix for assert in xfs_inode_buf_verify
- fix an assignment in an assert that should be a test in
  xfs_bmbt_change_owner
- remove dead code in xlog_recover_inode_pass2


Dan Carpenter (1):
  xfs: = vs == typo in ASSERT()

Dave Chinner (11):
  xfs: fix endian warning in xlog_recover_get_buf_lsn()
  xfs: fix some minor sparse warnings
  xfs: check magic numbers in dir3 leaf verifier first
  xfs: swap extents operations for CRC filesystems
  xfs: recovery of swap extents operations for CRC filesystems
  xfs: set remote symlink buffer type for recovery
  xfs: ensure we copy buffer type in da btree root splits
  xfs: fix memory allocation failures with ACLs
  xfs: factor all the kmalloc-or-vmalloc fallback allocations
  xfs: aborted buf items can be in the AIL.
  xfs: don't assert fail on bad inode numbers

Mark Tinguely (1):
  xfs: remove dead code from xlog_recover_inode_pass2

 fs/xfs/kmem.c|  15 -
 fs/xfs/kmem.h|   9 +--
 fs/xfs/xfs_acl.c |  12 ++--
 fs/xfs/xfs_bmap.c|   2 +-
 fs/xfs/xfs_bmap_btree.c  |  44 
 fs/xfs/xfs_bmap_btree.h  |   4 ++
 fs/xfs/xfs_bmap_util.c   |  69 ---
 fs/xfs/xfs_btree.c   | 170 ++-
 fs/xfs/xfs_btree.h   |  19 --
 fs/xfs/xfs_buf_item.c|  24 +--
 fs/xfs/xfs_da_btree.c|   1 +
 fs/xfs/xfs_dir2_leaf.c   |  20 --
 fs/xfs/xfs_dquot_item.c  |   3 +-
 fs/xfs/xfs_extent_busy.c |   3 +-
 fs/xfs/xfs_icache.c  |   4 +-
 fs/xfs/xfs_icache.h  |   4 ++
 fs/xfs/xfs_inode_buf.c   |  10 ++-
 fs/xfs/xfs_inode_buf.h   |  18 ++---
 fs/xfs/xfs_ioctl.c   |  36 --
 fs/xfs/xfs_ioctl32.c |  18 ++---
 fs/xfs/xfs_itable.c  |   7 +-
 fs/xfs/xfs_log.c |   3 +-
 fs/xfs/xfs_log_format.h  |   8 ++-
 fs/xfs/xfs_log_recover.c | 122 +++---
 fs/xfs/xfs_symlink.c |   2 +
 25 files changed, 461 insertions(+), 166 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS updates #2 for 3.12-rc1

2013-09-12 Thread Ben Myers
Hi Linus,

   Please pull these XFS updates for 3.12-rc1.  There is a feature to support
   defrag on CRC enabled filesystems, some bugfixes, and cleanups.

Thanks,
Ben

The following changes since commit 1d03c6fa88af35e55047a1f2ab116f0fdf2f55aa:

  xfs: XFS_MOUNT_QUOTA_ALL needed by userspace (2013-09-03 15:00:06 -0500)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs tags/xfs-for-linus-v3.12-rc1-2

for you to fetch changes up to 08474ed639e971e9d5a877cf7aba7ef91d847ae9:

  xfs: remove dead code from xlog_recover_inode_pass2 (2013-09-12 09:51:49 
-0500)


xfs: update #2 for v3.12-rc1

Here we have defrag support for v5 superblock, a number of bugfixes and
a cleanup or two.

- defrag support for CRC filesystems
- fix endian worning in xlog_recover_get_buf_lsn
- fixes for sparse warnings
- fix for assert in xfs_dir3_leaf_hdr_from_disk
- fix for log recovery of remote symlinks
- fix for log recovery of btree root splits
- fixes formemory allocation failures with ACLs
- fix for assert in xfs_buf_item_relse
- fix for assert in xfs_inode_buf_verify
- fix an assignment in an assert that should be a test in
  xfs_bmbt_change_owner
- remove dead code in xlog_recover_inode_pass2


Dan Carpenter (1):
  xfs: = vs == typo in ASSERT()

Dave Chinner (11):
  xfs: fix endian warning in xlog_recover_get_buf_lsn()
  xfs: fix some minor sparse warnings
  xfs: check magic numbers in dir3 leaf verifier first
  xfs: swap extents operations for CRC filesystems
  xfs: recovery of swap extents operations for CRC filesystems
  xfs: set remote symlink buffer type for recovery
  xfs: ensure we copy buffer type in da btree root splits
  xfs: fix memory allocation failures with ACLs
  xfs: factor all the kmalloc-or-vmalloc fallback allocations
  xfs: aborted buf items can be in the AIL.
  xfs: don't assert fail on bad inode numbers

Mark Tinguely (1):
  xfs: remove dead code from xlog_recover_inode_pass2

 fs/xfs/kmem.c|  15 -
 fs/xfs/kmem.h|   9 +--
 fs/xfs/xfs_acl.c |  12 ++--
 fs/xfs/xfs_bmap.c|   2 +-
 fs/xfs/xfs_bmap_btree.c  |  44 
 fs/xfs/xfs_bmap_btree.h  |   4 ++
 fs/xfs/xfs_bmap_util.c   |  69 ---
 fs/xfs/xfs_btree.c   | 170 ++-
 fs/xfs/xfs_btree.h   |  19 --
 fs/xfs/xfs_buf_item.c|  24 +--
 fs/xfs/xfs_da_btree.c|   1 +
 fs/xfs/xfs_dir2_leaf.c   |  20 --
 fs/xfs/xfs_dquot_item.c  |   3 +-
 fs/xfs/xfs_extent_busy.c |   3 +-
 fs/xfs/xfs_icache.c  |   4 +-
 fs/xfs/xfs_icache.h  |   4 ++
 fs/xfs/xfs_inode_buf.c   |  10 ++-
 fs/xfs/xfs_inode_buf.h   |  18 ++---
 fs/xfs/xfs_ioctl.c   |  36 --
 fs/xfs/xfs_ioctl32.c |  18 ++---
 fs/xfs/xfs_itable.c  |   7 +-
 fs/xfs/xfs_log.c |   3 +-
 fs/xfs/xfs_log_format.h  |   8 ++-
 fs/xfs/xfs_log_recover.c | 122 +++---
 fs/xfs/xfs_symlink.c |   2 +
 25 files changed, 461 insertions(+), 166 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[GIT PULL] XFS updates for 3.12-rc1

2013-09-09 Thread Ben Myers
Hi Linus,

   Please pull these XFS updates for 3.12-rc1.  Most of this is related to the
   libxfs kernel/userspace sync, there is also project quota work, performance
   work in the log, recovery, and the CIL.  User namespace support has been
   added, directory entries now have file type support, there is work to
   cleanup log space reservations, a bunch of spelling cleanups, and bug fixes.

Thanks,
Ben

The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:

  Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs tags/xfs-for-linus-v3.12-rc1

for you to fetch changes up to 1d03c6fa88af35e55047a1f2ab116f0fdf2f55aa:

  xfs: XFS_MOUNT_QUOTA_ALL needed by userspace (2013-09-03 15:00:06 -0500)


xfs: update for v3.12-rc1

For 3.12-rc1 there are a number of bugfixes in addition to work to ease usage
of shared code between libxfs and the kernel, the rest of the work to enable
project and group quotas to be used simultaneously, performance optimisations
in the log and the CIL, directory entry file type support, fixes for log space
reservations, some spelling/grammar cleanups, and the addition of user
namespace support.

- introduce readahead to log recovery
- add directory entry file type support
- fix a number of spelling errors in comments
- introduce new Q_XGETQSTATV quotactl for project quotas
- add USER_NS support
- log space reservation rework
- CIL optimisations
- kernel/userspace libxfs rework


Brian Foster (1):
  xfs: check correct status variable for xfs_inobt_get_rec() call

Chandra Seetharaman (5):
  xfs: Fix a deadlock in xfs_log_commit_cil() code path
  xfs: Initialize all quota inodes to be NULLFSINO
  xfs: Start using pquotaino from the superblock.
  quota: Add a new quotactl command Q_XGETQSTATV
  xfs: Add support for the Q_XGETQSTATV

Dan Carpenter (1):
  xfs: check for underflow in xfs_iformat_fork()

Dave Chinner (53):
  xfs: di_flushiter considered harmful
  xfs: separate out log format definitions
  xfs: split out inode log item format definition
  xfs: split out buf log item format definitions
  xfs: split out EFI/EFD log item format definition
  xfs: separate dquot on disk format definitions out of xfs_quota.h
  xfs: separate icreate log format definitions from xfs_icreate_item.h
  xfs: split out on-disk transaction definitions
  xfs: introduce xfs_rtalloc_defs.h
  xfs: introduce xfs_quota_defs.h
  xfs: sync minor header differences needed by userspace.
  xfs: split out transaction reservation code
  xfs: move inode fork definitions to a new header file
  xfs: move unrelated definitions out of xfs_inode.h
  xfs: introduce xfs_inode_buf.c for inode buffer operations
  xfs: move getdents code into it's own file
  xfs: reshuffle dir2 definitions around for userspace
  xfs: split out attribute listing code into separate file
  xfs: split out attribute fork truncation code into separate file
  xfs: split out the remote symlink handling
  xfs: introduce xfs_sb.c for sharing with libxfs
  xfs: create xfs_bmap_util.[ch]
  xfs: minor cleanups
  xfs: fix issues that cause userspace warnings
  xfs: kill xfs_vnodeops.[ch]
  xfs: consolidate xfs_rename.c
  xfs: consolidate xfs_utils.c
  xfs: consolidate extent swap code
  xfs: don't special case shared superblock mounts
  xfs: kill __KERNEL__ check for debug code in allocation code
  xfs: remove __KERNEL__ from debug code
  xfs: remove __KERNEL__ check from xfs_dir2_leaf.c
  xfs: xfs_filestreams.h doesn't need __KERNEL__
  xfs: move kernel specific type definitions to xfs.h
  xfs: make struct xfs_perag kernel only
  xfs: return log item size in IOP_SIZE
  xfs: Reduce allocations during CIL insertion
  xfs: avoid CIL allocation during insert
  xfs: Combine CIL insert and prepare passes
  xfs: split the CIL lock
  xfs: use reference counts to free clean buffer items
  xfs: Add read-only support for dirent filetype field
  xfs: Add write support for dirent filetype field
  xfs: don't account buffer cancellation during log recovery readahead
  xfs: fix bad dquot buffer size in log recovery readahead
  XFS: Assertion failed: first <= last && last < BBTOB(bp->b_length), file: 
fs/xfs/xfs_trans_buf.c, line: 568
  xfs: btree block LSN escaping to disk uninitialised
  xfs: check LSN ordering for v5 superblocks during recovery
  xfs: inode buffers may not be valid during recovery readahead
  xfs: inode log reservations are too small
  xfs: finish removing IOP_* macros.
  xfs: dtype changed xfs_dir2_sfe_put_ino to xfs_dir3_sfe_put_ino
  xfs: XFS_MOUNT_QUOTA_ALL needed by userspace

Dwight Engen (8):
  

[GIT PULL] XFS updates for 3.12-rc1

2013-09-09 Thread Ben Myers
Hi Linus,

   Please pull these XFS updates for 3.12-rc1.  Most of this is related to the
   libxfs kernel/userspace sync, there is also project quota work, performance
   work in the log, recovery, and the CIL.  User namespace support has been
   added, directory entries now have file type support, there is work to
   cleanup log space reservations, a bunch of spelling cleanups, and bug fixes.

Thanks,
Ben

The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092:

  Linux 3.11-rc1 (2013-07-14 15:18:27 -0700)

are available in the git repository at:

  git://oss.sgi.com/xfs/xfs tags/xfs-for-linus-v3.12-rc1

for you to fetch changes up to 1d03c6fa88af35e55047a1f2ab116f0fdf2f55aa:

  xfs: XFS_MOUNT_QUOTA_ALL needed by userspace (2013-09-03 15:00:06 -0500)


xfs: update for v3.12-rc1

For 3.12-rc1 there are a number of bugfixes in addition to work to ease usage
of shared code between libxfs and the kernel, the rest of the work to enable
project and group quotas to be used simultaneously, performance optimisations
in the log and the CIL, directory entry file type support, fixes for log space
reservations, some spelling/grammar cleanups, and the addition of user
namespace support.

- introduce readahead to log recovery
- add directory entry file type support
- fix a number of spelling errors in comments
- introduce new Q_XGETQSTATV quotactl for project quotas
- add USER_NS support
- log space reservation rework
- CIL optimisations
- kernel/userspace libxfs rework


Brian Foster (1):
  xfs: check correct status variable for xfs_inobt_get_rec() call

Chandra Seetharaman (5):
  xfs: Fix a deadlock in xfs_log_commit_cil() code path
  xfs: Initialize all quota inodes to be NULLFSINO
  xfs: Start using pquotaino from the superblock.
  quota: Add a new quotactl command Q_XGETQSTATV
  xfs: Add support for the Q_XGETQSTATV

Dan Carpenter (1):
  xfs: check for underflow in xfs_iformat_fork()

Dave Chinner (53):
  xfs: di_flushiter considered harmful
  xfs: separate out log format definitions
  xfs: split out inode log item format definition
  xfs: split out buf log item format definitions
  xfs: split out EFI/EFD log item format definition
  xfs: separate dquot on disk format definitions out of xfs_quota.h
  xfs: separate icreate log format definitions from xfs_icreate_item.h
  xfs: split out on-disk transaction definitions
  xfs: introduce xfs_rtalloc_defs.h
  xfs: introduce xfs_quota_defs.h
  xfs: sync minor header differences needed by userspace.
  xfs: split out transaction reservation code
  xfs: move inode fork definitions to a new header file
  xfs: move unrelated definitions out of xfs_inode.h
  xfs: introduce xfs_inode_buf.c for inode buffer operations
  xfs: move getdents code into it's own file
  xfs: reshuffle dir2 definitions around for userspace
  xfs: split out attribute listing code into separate file
  xfs: split out attribute fork truncation code into separate file
  xfs: split out the remote symlink handling
  xfs: introduce xfs_sb.c for sharing with libxfs
  xfs: create xfs_bmap_util.[ch]
  xfs: minor cleanups
  xfs: fix issues that cause userspace warnings
  xfs: kill xfs_vnodeops.[ch]
  xfs: consolidate xfs_rename.c
  xfs: consolidate xfs_utils.c
  xfs: consolidate extent swap code
  xfs: don't special case shared superblock mounts
  xfs: kill __KERNEL__ check for debug code in allocation code
  xfs: remove __KERNEL__ from debug code
  xfs: remove __KERNEL__ check from xfs_dir2_leaf.c
  xfs: xfs_filestreams.h doesn't need __KERNEL__
  xfs: move kernel specific type definitions to xfs.h
  xfs: make struct xfs_perag kernel only
  xfs: return log item size in IOP_SIZE
  xfs: Reduce allocations during CIL insertion
  xfs: avoid CIL allocation during insert
  xfs: Combine CIL insert and prepare passes
  xfs: split the CIL lock
  xfs: use reference counts to free clean buffer items
  xfs: Add read-only support for dirent filetype field
  xfs: Add write support for dirent filetype field
  xfs: don't account buffer cancellation during log recovery readahead
  xfs: fix bad dquot buffer size in log recovery readahead
  XFS: Assertion failed: first = last  last  BBTOB(bp-b_length), file: 
fs/xfs/xfs_trans_buf.c, line: 568
  xfs: btree block LSN escaping to disk uninitialised
  xfs: check LSN ordering for v5 superblocks during recovery
  xfs: inode buffers may not be valid during recovery readahead
  xfs: inode log reservations are too small
  xfs: finish removing IOP_* macros.
  xfs: dtype changed xfs_dir2_sfe_put_ino to xfs_dir3_sfe_put_ino
  xfs: XFS_MOUNT_QUOTA_ALL needed by userspace

Dwight Engen (8):
  xfs: 

Re: [patch] xfs: check for underflow in xfs_iformat_fork()

2013-08-26 Thread Ben Myers
Hey Dan,

On Mon, Aug 26, 2013 at 05:37:15PM +0300, Dan Carpenter wrote:
> On Fri, Aug 23, 2013 at 12:36:13PM -0500, Ben Myers wrote:
> > Dan,
> > 
> > On Fri, Aug 16, 2013 at 08:26:50AM +1000, Dave Chinner wrote:
> > > On Thu, Aug 15, 2013 at 09:37:06AM -0500, Ben Myers wrote:
> > > > Hey Dan & Jeff,
> > > > 
> > > > On Thu, Aug 15, 2013 at 06:10:43PM +0800, Jeff Liu wrote:
> > > > > On 08/15/2013 01:53 PM, Dan Carpenter wrote:
> > > > > 
> > > > > > The "di_size" variable comes from the disk and it's a signed 64 bit.
> > > > > > We check the upper limit but we should check for negative numbers as
> > > > > > well.
> > > > > > 
> > > > > > Signed-off-by: Dan Carpenter 
> > > > > > 
> > > > > > diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c
> > > > > > index 123971b..849fc70 100644
> > > > > > --- a/fs/xfs/xfs_inode_fork.c
> > > > > > +++ b/fs/xfs/xfs_inode_fork.c
> > > > > > @@ -167,7 +167,8 @@ xfs_iformat_fork(
> > > > > > }
> > > > > >  
> > > > > > di_size = be64_to_cpu(dip->di_size);
> > > > > > -   if (unlikely(di_size > XFS_DFORK_DSIZE(dip, 
> > > > > > ip->i_mount))) {
> > > > > > +   if (unlikely(di_size < 0 ||
> > > > > 
> > > > > But the di_size is initialized to ZERO while allocating a new inode 
> > > > > on disk.
> > > > > I wonder if that is better to ASSERT in this case because the current 
> > > > > check
> > > > > is used to make sure that the item is inlined, or we don't need it at 
> > > > > all.
> > > > 
> > > > Hmm.  Dan's additional check looks good to me.  In this case I'd say 
> > > > the forced
> > > > shutdown is more appropriate than an assert, because here we're reading 
> > > > the
> > > > inode from disk, as opposed to looking at a structure that is already 
> > > > incore
> > > > which we think we've initialized.  We want to handle unexpected inputs 
> > > > from
> > > > disk without crashing even if we are CONFIG_XFS_DEBUG.
> > > 
> > > There are lots of places where we only check di_size to be greater
> > > than some value, and don't check for it being less than zero. Hence
> > > I think that a better solution might be to di_size unsigned as that
> > > will catch "negative" sizes for all types of situations.
> > 
> > What do you say to making di_size unsigned?  Any interest?
> > 
> 
> I'm not the right person to change "lots of places".  Some of these
> are probably subtle.  Just give me the reported-by and I'm happy.

I'll apply this for now, and we'll see if someone is interested enough to pick
up the rest.

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] xfs: check for underflow in xfs_iformat_fork()

2013-08-26 Thread Ben Myers
Hey Dan,

On Mon, Aug 26, 2013 at 05:37:15PM +0300, Dan Carpenter wrote:
 On Fri, Aug 23, 2013 at 12:36:13PM -0500, Ben Myers wrote:
  Dan,
  
  On Fri, Aug 16, 2013 at 08:26:50AM +1000, Dave Chinner wrote:
   On Thu, Aug 15, 2013 at 09:37:06AM -0500, Ben Myers wrote:
Hey Dan  Jeff,

On Thu, Aug 15, 2013 at 06:10:43PM +0800, Jeff Liu wrote:
 On 08/15/2013 01:53 PM, Dan Carpenter wrote:
 
  The di_size variable comes from the disk and it's a signed 64 bit.
  We check the upper limit but we should check for negative numbers as
  well.
  
  Signed-off-by: Dan Carpenter dan.carpen...@oracle.com
  
  diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c
  index 123971b..849fc70 100644
  --- a/fs/xfs/xfs_inode_fork.c
  +++ b/fs/xfs/xfs_inode_fork.c
  @@ -167,7 +167,8 @@ xfs_iformat_fork(
  }
   
  di_size = be64_to_cpu(dip-di_size);
  -   if (unlikely(di_size  XFS_DFORK_DSIZE(dip, 
  ip-i_mount))) {
  +   if (unlikely(di_size  0 ||
 
 But the di_size is initialized to ZERO while allocating a new inode 
 on disk.
 I wonder if that is better to ASSERT in this case because the current 
 check
 is used to make sure that the item is inlined, or we don't need it at 
 all.

Hmm.  Dan's additional check looks good to me.  In this case I'd say 
the forced
shutdown is more appropriate than an assert, because here we're reading 
the
inode from disk, as opposed to looking at a structure that is already 
incore
which we think we've initialized.  We want to handle unexpected inputs 
from
disk without crashing even if we are CONFIG_XFS_DEBUG.
   
   There are lots of places where we only check di_size to be greater
   than some value, and don't check for it being less than zero. Hence
   I think that a better solution might be to di_size unsigned as that
   will catch negative sizes for all types of situations.
  
  What do you say to making di_size unsigned?  Any interest?
  
 
 I'm not the right person to change lots of places.  Some of these
 are probably subtle.  Just give me the reported-by and I'm happy.

I'll apply this for now, and we'll see if someone is interested enough to pick
up the rest.

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4] xfs: introduce object readahead to log recovery

2013-08-23 Thread Ben Myers
On Wed, Aug 14, 2013 at 03:16:03PM +0800, zwu.ker...@gmail.com wrote:
> From: Zhi Yong Wu 
> 
>   It can take a long time to run log recovery operation because it is
> single threaded and is bound by read latency. We can find that it took
> most of the time to wait for the read IO to occur, so if one object
> readahead is introduced to log recovery, it will obviously reduce the
> log recovery time.
> 
> Log recovery time stat:
> 
>   w/o this patchw/ this patch
> 
> real:0m15.023s 0m7.802s
> user:0m0.001s  0m0.001s
> sys: 0m0.246s  0m0.107s
> 
> Signed-off-by: Zhi Yong Wu 

Looks good.

Reviewed-by: Ben Myers 

Applied.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] xfs: check for underflow in xfs_iformat_fork()

2013-08-23 Thread Ben Myers
Dan,

On Fri, Aug 16, 2013 at 08:26:50AM +1000, Dave Chinner wrote:
> On Thu, Aug 15, 2013 at 09:37:06AM -0500, Ben Myers wrote:
> > Hey Dan & Jeff,
> > 
> > On Thu, Aug 15, 2013 at 06:10:43PM +0800, Jeff Liu wrote:
> > > On 08/15/2013 01:53 PM, Dan Carpenter wrote:
> > > 
> > > > The "di_size" variable comes from the disk and it's a signed 64 bit.
> > > > We check the upper limit but we should check for negative numbers as
> > > > well.
> > > > 
> > > > Signed-off-by: Dan Carpenter 
> > > > 
> > > > diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c
> > > > index 123971b..849fc70 100644
> > > > --- a/fs/xfs/xfs_inode_fork.c
> > > > +++ b/fs/xfs/xfs_inode_fork.c
> > > > @@ -167,7 +167,8 @@ xfs_iformat_fork(
> > > > }
> > > >  
> > > > di_size = be64_to_cpu(dip->di_size);
> > > > -   if (unlikely(di_size > XFS_DFORK_DSIZE(dip, 
> > > > ip->i_mount))) {
> > > > +   if (unlikely(di_size < 0 ||
> > > 
> > > But the di_size is initialized to ZERO while allocating a new inode on 
> > > disk.
> > > I wonder if that is better to ASSERT in this case because the current 
> > > check
> > > is used to make sure that the item is inlined, or we don't need it at all.
> > 
> > Hmm.  Dan's additional check looks good to me.  In this case I'd say the 
> > forced
> > shutdown is more appropriate than an assert, because here we're reading the
> > inode from disk, as opposed to looking at a structure that is already incore
> > which we think we've initialized.  We want to handle unexpected inputs from
> > disk without crashing even if we are CONFIG_XFS_DEBUG.
> 
> There are lots of places where we only check di_size to be greater
> than some value, and don't check for it being less than zero. Hence
> I think that a better solution might be to di_size unsigned as that
> will catch "negative" sizes for all types of situations.

What do you say to making di_size unsigned?  Any interest?

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] xfs: check for underflow in xfs_iformat_fork()

2013-08-23 Thread Ben Myers
Dan,

On Fri, Aug 16, 2013 at 08:26:50AM +1000, Dave Chinner wrote:
 On Thu, Aug 15, 2013 at 09:37:06AM -0500, Ben Myers wrote:
  Hey Dan  Jeff,
  
  On Thu, Aug 15, 2013 at 06:10:43PM +0800, Jeff Liu wrote:
   On 08/15/2013 01:53 PM, Dan Carpenter wrote:
   
The di_size variable comes from the disk and it's a signed 64 bit.
We check the upper limit but we should check for negative numbers as
well.

Signed-off-by: Dan Carpenter dan.carpen...@oracle.com

diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c
index 123971b..849fc70 100644
--- a/fs/xfs/xfs_inode_fork.c
+++ b/fs/xfs/xfs_inode_fork.c
@@ -167,7 +167,8 @@ xfs_iformat_fork(
}
 
di_size = be64_to_cpu(dip-di_size);
-   if (unlikely(di_size  XFS_DFORK_DSIZE(dip, 
ip-i_mount))) {
+   if (unlikely(di_size  0 ||
   
   But the di_size is initialized to ZERO while allocating a new inode on 
   disk.
   I wonder if that is better to ASSERT in this case because the current 
   check
   is used to make sure that the item is inlined, or we don't need it at all.
  
  Hmm.  Dan's additional check looks good to me.  In this case I'd say the 
  forced
  shutdown is more appropriate than an assert, because here we're reading the
  inode from disk, as opposed to looking at a structure that is already incore
  which we think we've initialized.  We want to handle unexpected inputs from
  disk without crashing even if we are CONFIG_XFS_DEBUG.
 
 There are lots of places where we only check di_size to be greater
 than some value, and don't check for it being less than zero. Hence
 I think that a better solution might be to di_size unsigned as that
 will catch negative sizes for all types of situations.

What do you say to making di_size unsigned?  Any interest?

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4] xfs: introduce object readahead to log recovery

2013-08-23 Thread Ben Myers
On Wed, Aug 14, 2013 at 03:16:03PM +0800, zwu.ker...@gmail.com wrote:
 From: Zhi Yong Wu wu...@linux.vnet.ibm.com
 
   It can take a long time to run log recovery operation because it is
 single threaded and is bound by read latency. We can find that it took
 most of the time to wait for the read IO to occur, so if one object
 readahead is introduced to log recovery, it will obviously reduce the
 log recovery time.
 
 Log recovery time stat:
 
   w/o this patchw/ this patch
 
 real:0m15.023s 0m7.802s
 user:0m0.001s  0m0.001s
 sys: 0m0.246s  0m0.107s
 
 Signed-off-by: Zhi Yong Wu wu...@linux.vnet.ibm.com

Looks good.

Reviewed-by: Ben Myers b...@sgi.com

Applied.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: Register hotcpu notifier after initialization

2013-08-22 Thread Ben Myers
On Mon, Aug 19, 2013 at 05:21:29PM -0500, Ben Myers wrote:
> On Mon, Aug 19, 2013 at 10:56:44PM +0200, Richard Weinberger wrote:
> > Currently the code initializizes mp->m_icsb_mutex and other things
> > _after_ register_hotcpu_notifier().
> > As the notifier takes mp->m_icsb_mutex it can happen
> > that it takes the lock before it's initialization.
> > 
> > Signed-off-by: Richard Weinberger 
> 
> Looks good.  Thanks Richard.
> 
> Reviewed-by: Ben Myers 

Applied.  Thanks Richard.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: Register hotcpu notifier after initialization

2013-08-22 Thread Ben Myers
On Mon, Aug 19, 2013 at 05:21:29PM -0500, Ben Myers wrote:
 On Mon, Aug 19, 2013 at 10:56:44PM +0200, Richard Weinberger wrote:
  Currently the code initializizes mp-m_icsb_mutex and other things
  _after_ register_hotcpu_notifier().
  As the notifier takes mp-m_icsb_mutex it can happen
  that it takes the lock before it's initialization.
  
  Signed-off-by: Richard Weinberger rich...@nod.at
 
 Looks good.  Thanks Richard.
 
 Reviewed-by: Ben Myers b...@sgi.com

Applied.  Thanks Richard.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] powerpc/spufs: convert userns uid/gid mount options to kuid/kgid

2013-08-21 Thread Ben Myers
On Wed, Aug 21, 2013 at 10:05:27PM +0200, Arnd Bergmann wrote:
> On Wednesday 21 August 2013, Dwight Engen wrote:
> > 
> > Acked-by: Jeremy Kerr 
> > Tested-by: Jeremy Kerr 
> > Signed-off-by: Dwight Engen 
> 
> Reviewed-by: Arnd Bergmann 

Applied.

Thanks,
-Ben

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the final tree

2013-08-21 Thread Ben Myers
Hey Dwight,

On Wed, Aug 21, 2013 at 02:30:04PM +0800, Jeremy Kerr wrote:
> > Yes, I agree. The other filesystems that take an Opt_uid as well do use
> > current_user_ns() and not init_user_ns. They also do a uid_valid()
> > check and fail the mount (or fallback to GLOBAL_ROOT_UID). So I think
> > that would look like this:
> 
> Looks good to me. Builds and mounts as expected.
> 
> Acked-by: Jeremy Kerr 

Could you repost this patch with the right subject and a commit header?  Given
Jeremy's Ack I think we could proceed to pull this in.

Regards,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the final tree

2013-08-21 Thread Ben Myers
Hey Stephen,

On Wed, Aug 21, 2013 at 10:22:46AM +1000, Stephen Rothwell wrote:
> On Tue, 20 Aug 2013 14:28:44 -0500 Ben Myers  wrote:
> > I'd prefer not to break Stephen's tree two days in a row.  We could just 
> > revert
> > d6970d4b726c in the xfs tree for the time being as Stephen has done, but 
> > given
> > the choice would prefer the fix.  Do you have a preference between the two
> > approaches that Dwight has posted?  The first seems more conservative...
> 
> I will automatically revert that commit when I merge the xfs tree until
> some other solution is forthcoming (so you don't have to do the revert in
> the xfs tree).

Gah.  That makes sense.  ;)

> This does need to be fixed fairly soon, though.

Agreed, thanks.

-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the final tree

2013-08-21 Thread Ben Myers
Hey Stephen,

On Wed, Aug 21, 2013 at 10:22:46AM +1000, Stephen Rothwell wrote:
 On Tue, 20 Aug 2013 14:28:44 -0500 Ben Myers b...@sgi.com wrote:
  I'd prefer not to break Stephen's tree two days in a row.  We could just 
  revert
  d6970d4b726c in the xfs tree for the time being as Stephen has done, but 
  given
  the choice would prefer the fix.  Do you have a preference between the two
  approaches that Dwight has posted?  The first seems more conservative...
 
 I will automatically revert that commit when I merge the xfs tree until
 some other solution is forthcoming (so you don't have to do the revert in
 the xfs tree).

Gah.  That makes sense.  ;)

 This does need to be fixed fairly soon, though.

Agreed, thanks.

-Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the final tree

2013-08-21 Thread Ben Myers
Hey Dwight,

On Wed, Aug 21, 2013 at 02:30:04PM +0800, Jeremy Kerr wrote:
  Yes, I agree. The other filesystems that take an Opt_uid as well do use
  current_user_ns() and not init_user_ns. They also do a uid_valid()
  check and fail the mount (or fallback to GLOBAL_ROOT_UID). So I think
  that would look like this:
 
 Looks good to me. Builds and mounts as expected.
 
 Acked-by: Jeremy Kerr j...@ozlabs.org

Could you repost this patch with the right subject and a commit header?  Given
Jeremy's Ack I think we could proceed to pull this in.

Regards,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] powerpc/spufs: convert userns uid/gid mount options to kuid/kgid

2013-08-21 Thread Ben Myers
On Wed, Aug 21, 2013 at 10:05:27PM +0200, Arnd Bergmann wrote:
 On Wednesday 21 August 2013, Dwight Engen wrote:
  
  Acked-by: Jeremy Kerr j...@ozlabs.org
  Tested-by: Jeremy Kerr j...@ozlabs.org
  Signed-off-by: Dwight Engen dwight.en...@oracle.com
 
 Reviewed-by: Arnd Bergmann a...@arndb.de

Applied.

Thanks,
-Ben

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the final tree

2013-08-20 Thread Ben Myers
Hi Jeremy,

Apologies for breaking your build...

On Tue, Aug 20, 2013 at 12:07:02PM -0400, Dwight Engen wrote:
> On Tue, 20 Aug 2013 17:20:52 +1000
> Stephen Rothwell  wrote:
> > After merging the final tree, today's linux-next build (powerpc
> > allyesconfig) failed like this:
> > 
> > arch/powerpc/platforms/cell/spufs/inode.c: In function
> > 'spufs_parse_options':
> > arch/powerpc/platforms/cell/spufs/inode.c:623:16: error: incompatible
> > types when assigning to type 'kuid_t' from type 'int' root->i_uid =
> > option; ^ arch/powerpc/platforms/cell/spufs/inode.c:628:16: error:
> > incompatible types when assigning to type 'kgid_t' from type 'int'
> > root->i_gid = option; ^
> > 
> > Caused by commit d6970d4b726c ("enable building user namespace with
> > xfs") from the xfs tree (that was fun to find :-)).
> > 
> > I have reverted that commit for today.  It could probably be replaced
> > with a patch that just changed XFS_FS to SPU_FS in the
> > UIDGID_CONVERTED config dependency - or someone could fix up SPU_FS.
> 
> Hi, (already sent this email based on Intel's kbuild robot this
> morning, sorry for the dup to those who already got it). 
> 
> Yep this looks to me like SPU_FS should have been in the list of
> stuff that had not been UIDGID_CONVERTED, but reviving
> UIDGID_CONVERTED and adding SPU_FS to it won't work for
> non powerpc arch because SPU_FS = n won't be defined. The following can
> be used to mark it as incompatible with USER_NS:
> 
> diff --git a/arch/powerpc/platforms/cell/Kconfig
> b/arch/powerpc/platforms/cell/Kconfig index 9978f59..fcf8336 100644
> --- a/arch/powerpc/platforms/cell/Kconfig
> +++ b/arch/powerpc/platforms/cell/Kconfig
> @@ -61,6 +61,7 @@ config SPU_FS
> tristate "SPU file system"
> default m
> depends on PPC_CELL
> +   depends on USER_NS=n
> select SPU_BASE
> select MEMORY_HOTPLUG
> help
> 
> Or if the rest of spufs is already okay for user namespace (I have not
> checked it, but this seems to be the only place it is dealing with
> uid/gid), then the following will fix these particular errors
> (cross-compile tested, but I don't have a powerpc to run test on):
> 
> diff --git a/arch/powerpc/platforms/cell/spufs/inode.c 
> b/arch/powerpc/platforms/cell/spufs/inode.c
> index f390042..90fb308 100644
> --- a/arch/powerpc/platforms/cell/spufs/inode.c
> +++ b/arch/powerpc/platforms/cell/spufs/inode.c
> @@ -620,12 +620,12 @@ spufs_parse_options(struct super_block *sb, char 
> *options, struct inode *root)
> case Opt_uid:
> if (match_int([0], ))
> return 0;
> -   root->i_uid = option;
> +   root->i_uid = make_kuid(_user_ns, option);
> break;
> case Opt_gid:
> if (match_int([0], ))
> return 0;
> -   root->i_gid = option;
> +   root->i_gid = make_kgid(_user_ns, option);
> break;
> case Opt_mode:
> if (match_octal([0], ))

I'd prefer not to break Stephen's tree two days in a row.  We could just revert
d6970d4b726c in the xfs tree for the time being as Stephen has done, but given
the choice would prefer the fix.  Do you have a preference between the two
approaches that Dwight has posted?  The first seems more conservative...

Thanks,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: linux-next: build failure after merge of the final tree

2013-08-20 Thread Ben Myers
Hi Jeremy,

Apologies for breaking your build...

On Tue, Aug 20, 2013 at 12:07:02PM -0400, Dwight Engen wrote:
 On Tue, 20 Aug 2013 17:20:52 +1000
 Stephen Rothwell s...@canb.auug.org.au wrote:
  After merging the final tree, today's linux-next build (powerpc
  allyesconfig) failed like this:
  
  arch/powerpc/platforms/cell/spufs/inode.c: In function
  'spufs_parse_options':
  arch/powerpc/platforms/cell/spufs/inode.c:623:16: error: incompatible
  types when assigning to type 'kuid_t' from type 'int' root-i_uid =
  option; ^ arch/powerpc/platforms/cell/spufs/inode.c:628:16: error:
  incompatible types when assigning to type 'kgid_t' from type 'int'
  root-i_gid = option; ^
  
  Caused by commit d6970d4b726c (enable building user namespace with
  xfs) from the xfs tree (that was fun to find :-)).
  
  I have reverted that commit for today.  It could probably be replaced
  with a patch that just changed XFS_FS to SPU_FS in the
  UIDGID_CONVERTED config dependency - or someone could fix up SPU_FS.
 
 Hi, (already sent this email based on Intel's kbuild robot this
 morning, sorry for the dup to those who already got it). 
 
 Yep this looks to me like SPU_FS should have been in the list of
 stuff that had not been UIDGID_CONVERTED, but reviving
 UIDGID_CONVERTED and adding SPU_FS to it won't work for
 non powerpc arch because SPU_FS = n won't be defined. The following can
 be used to mark it as incompatible with USER_NS:
 
 diff --git a/arch/powerpc/platforms/cell/Kconfig
 b/arch/powerpc/platforms/cell/Kconfig index 9978f59..fcf8336 100644
 --- a/arch/powerpc/platforms/cell/Kconfig
 +++ b/arch/powerpc/platforms/cell/Kconfig
 @@ -61,6 +61,7 @@ config SPU_FS
 tristate SPU file system
 default m
 depends on PPC_CELL
 +   depends on USER_NS=n
 select SPU_BASE
 select MEMORY_HOTPLUG
 help
 
 Or if the rest of spufs is already okay for user namespace (I have not
 checked it, but this seems to be the only place it is dealing with
 uid/gid), then the following will fix these particular errors
 (cross-compile tested, but I don't have a powerpc to run test on):
 
 diff --git a/arch/powerpc/platforms/cell/spufs/inode.c 
 b/arch/powerpc/platforms/cell/spufs/inode.c
 index f390042..90fb308 100644
 --- a/arch/powerpc/platforms/cell/spufs/inode.c
 +++ b/arch/powerpc/platforms/cell/spufs/inode.c
 @@ -620,12 +620,12 @@ spufs_parse_options(struct super_block *sb, char 
 *options, struct inode *root)
 case Opt_uid:
 if (match_int(args[0], option))
 return 0;
 -   root-i_uid = option;
 +   root-i_uid = make_kuid(init_user_ns, option);
 break;
 case Opt_gid:
 if (match_int(args[0], option))
 return 0;
 -   root-i_gid = option;
 +   root-i_gid = make_kgid(init_user_ns, option);
 break;
 case Opt_mode:
 if (match_octal(args[0], option))

I'd prefer not to break Stephen's tree two days in a row.  We could just revert
d6970d4b726c in the xfs tree for the time being as Stephen has done, but given
the choice would prefer the fix.  Do you have a preference between the two
approaches that Dwight has posted?  The first seems more conservative...

Thanks,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: Register hotcpu notifier after initialization

2013-08-19 Thread Ben Myers
On Mon, Aug 19, 2013 at 10:56:44PM +0200, Richard Weinberger wrote:
> Currently the code initializizes mp->m_icsb_mutex and other things
> _after_ register_hotcpu_notifier().
> As the notifier takes mp->m_icsb_mutex it can happen
> that it takes the lock before it's initialization.
> 
> Signed-off-by: Richard Weinberger 

Looks good.  Thanks Richard.

Reviewed-by: Ben Myers 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] xfs: Register hotcpu notifier after initialization

2013-08-19 Thread Ben Myers
On Mon, Aug 19, 2013 at 10:56:44PM +0200, Richard Weinberger wrote:
 Currently the code initializizes mp-m_icsb_mutex and other things
 _after_ register_hotcpu_notifier().
 As the notifier takes mp-m_icsb_mutex it can happen
 that it takes the lock before it's initialization.
 
 Signed-off-by: Richard Weinberger rich...@nod.at

Looks good.  Thanks Richard.

Reviewed-by: Ben Myers b...@sgi.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] xfs: check for underflow in xfs_iformat_fork()

2013-08-15 Thread Ben Myers
Hey Dan & Jeff,

On Thu, Aug 15, 2013 at 06:10:43PM +0800, Jeff Liu wrote:
> On 08/15/2013 01:53 PM, Dan Carpenter wrote:
> 
> > The "di_size" variable comes from the disk and it's a signed 64 bit.
> > We check the upper limit but we should check for negative numbers as
> > well.
> > 
> > Signed-off-by: Dan Carpenter 
> > 
> > diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c
> > index 123971b..849fc70 100644
> > --- a/fs/xfs/xfs_inode_fork.c
> > +++ b/fs/xfs/xfs_inode_fork.c
> > @@ -167,7 +167,8 @@ xfs_iformat_fork(
> > }
> >  
> > di_size = be64_to_cpu(dip->di_size);
> > -   if (unlikely(di_size > XFS_DFORK_DSIZE(dip, 
> > ip->i_mount))) {
> > +   if (unlikely(di_size < 0 ||
> 
> But the di_size is initialized to ZERO while allocating a new inode on disk.
> I wonder if that is better to ASSERT in this case because the current check
> is used to make sure that the item is inlined, or we don't need it at all.

Hmm.  Dan's additional check looks good to me.  In this case I'd say the forced
shutdown is more appropriate than an assert, because here we're reading the
inode from disk, as opposed to looking at a structure that is already incore
which we think we've initialized.  We want to handle unexpected inputs from
disk without crashing even if we are CONFIG_XFS_DEBUG.

How did you come across this one?

Reviewed-by: Ben Myers 

Regards,
Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] xfs: check for underflow in xfs_iformat_fork()

2013-08-15 Thread Ben Myers
Hey Dan  Jeff,

On Thu, Aug 15, 2013 at 06:10:43PM +0800, Jeff Liu wrote:
 On 08/15/2013 01:53 PM, Dan Carpenter wrote:
 
  The di_size variable comes from the disk and it's a signed 64 bit.
  We check the upper limit but we should check for negative numbers as
  well.
  
  Signed-off-by: Dan Carpenter dan.carpen...@oracle.com
  
  diff --git a/fs/xfs/xfs_inode_fork.c b/fs/xfs/xfs_inode_fork.c
  index 123971b..849fc70 100644
  --- a/fs/xfs/xfs_inode_fork.c
  +++ b/fs/xfs/xfs_inode_fork.c
  @@ -167,7 +167,8 @@ xfs_iformat_fork(
  }
   
  di_size = be64_to_cpu(dip-di_size);
  -   if (unlikely(di_size  XFS_DFORK_DSIZE(dip, 
  ip-i_mount))) {
  +   if (unlikely(di_size  0 ||
 
 But the di_size is initialized to ZERO while allocating a new inode on disk.
 I wonder if that is better to ASSERT in this case because the current check
 is used to make sure that the item is inlined, or we don't need it at all.

Hmm.  Dan's additional check looks good to me.  In this case I'd say the forced
shutdown is more appropriate than an assert, because here we're reading the
inode from disk, as opposed to looking at a structure that is already incore
which we think we've initialized.  We want to handle unexpected inputs from
disk without crashing even if we are CONFIG_XFS_DEBUG.

How did you come across this one?

Reviewed-by: Ben Myers b...@sgi.com

Regards,
Ben
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 2/3] xfs: Implement FALLOC_FL_COLLAPSE_RANGE

2013-07-31 Thread Ben Myers
Hey Namjae,

On Wed, Jul 31, 2013 at 11:42:14PM +0900, Namjae Jeon wrote:
> From: Namjae Jeon 
> 
> New fallocate flag FALLOC_FL_COLLAPSE_RANGE implementation for XFS.
> 
> Signed-off-by: Namjae Jeon 
> Signed-off-by: Ashish Sangwan 

Very cool feature!  ;) 

I have a couple initial suggestions/questions:

> ---
>  fs/xfs/xfs_bmap.c |   92 
> +
>  fs/xfs/xfs_bmap.h |3 ++
>  fs/xfs/xfs_file.c |   26 --
>  fs/xfs/xfs_iops.c |   35 +++
>  fs/xfs/xfs_vnodeops.c |   62 +
>  fs/xfs/xfs_vnodeops.h |2 ++
>  6 files changed, 217 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
> index 05c698c..ae677b1 100644
> --- a/fs/xfs/xfs_bmap.c
> +++ b/fs/xfs/xfs_bmap.c
> @@ -6145,3 +6145,95 @@ next_block:
>  
>   return error;
>  }
> +
> +/*
> + * xfs_update_logical()
> + *   Updates starting logical block of extents by subtracting
> + *   shift from them. At max XFS_LINEAR_EXTS number extents
> + *   will be updated and *current_ext is the extent number which
> + *   is currently being updated.
> + */
> +int
> +xfs_update_logical(
> + xfs_trans_t *tp,
> + struct xfs_inode*ip,
> + int *done,
> + xfs_fileoff_t   start_fsb,
> + xfs_fileoff_t   shift,
> + xfs_extnum_t*current_ext)

Could we find a better name for this function?  Maybe something like
xfs_shift_extent_startblocks or xfs_shift_extent_offsets?

Also, is there also a case for being able to shift extent offsets upward in the
file's address space so that you can splice in a chunk of data?  For that I
think maybe you'd want to be able to shift on sub-block boundaries too, and
there would be some copying and zeroing involved on the boundary block.  Not 
sure.

> +{
> + xfs_btree_cur_t *cur;
> + xfs_bmbt_rec_host_t *gotp;
> + xfs_mount_t *mp;
> + xfs_ifork_t *ifp;
> + xfs_extnum_tnexts = 0;
> + xfs_fileoff_t   startoff;
> + int error = 0;
> + int i;
> +
> + ifp = XFS_IFORK_PTR(ip, XFS_DATA_FORK);
> + mp = ip->i_mount;
> +
> + if (!(ifp->if_flags & XFS_IFEXTENTS) &&
> + (error = xfs_iread_extents(tp, ip, XFS_DATA_FORK)))
> + return error;
> +
> + if (!*current_ext) {
> + gotp = xfs_iext_bno_to_ext(ifp, start_fsb, current_ext);
> + /*
> +  * gotp can be null in 2 cases: 1) if there are no extents
> +  * or 2) start_fsb lies in a hole beyond which there are
> +  * no extents. Either way, we are done.
> +  */
> + if (!gotp) {
> + *done = 1;
> + return 0;
> + }
> + }
> +
> + if (ifp->if_flags & XFS_IFBROOT)
> + cur = xfs_bmbt_init_cursor(mp, tp, ip, XFS_DATA_FORK);
> + else
> + cur = NULL;
> +
> + while (nexts++ < XFS_LINEAR_EXTS &&
> +*current_ext <  XFS_IFORK_NEXTENTS(ip, XFS_DATA_FORK)) {
> + gotp = xfs_iext_get_ext(ifp, (*current_ext)++);
> + startoff = xfs_bmbt_get_startoff(gotp);
> + if (cur) {
> + if ((error = xfs_bmbt_lookup_eq(cur,
> + startoff,
> + xfs_bmbt_get_startblock(gotp),
> + xfs_bmbt_get_blockcount(gotp),
> + )))
> + goto del_cursor;
> + XFS_WANT_CORRUPTED_GOTO(i == 1, del_cursor);
> + }
> + startoff -= shift;
> + xfs_bmbt_set_startoff(gotp, startoff);
> + if (cur) {
> + error = xfs_bmbt_update(cur, startoff,
> + xfs_bmbt_get_startblock(gotp),
> + xfs_bmbt_get_blockcount(gotp),
> + xfs_bmbt_get_state(gotp));
> + if (error)
> + goto del_cursor;
> + }
> + }
> +
> + /* Check if we are done */
> + if (*current_ext ==  XFS_IFORK_NEXTENTS(ip, XFS_DATA_FORK))
> + *done = 1;
> +
> +del_cursor:
> + if (cur) {
> + if (!error)
> + cur->bc_private.b.allocated = 0;
> +  xfs_btree_del_cursor(cur,
> + error ? XFS_BTREE_ERROR : XFS_BTREE_NOERROR);
> + }
> +
> + xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE | XFS_ILOG_DEXT);
> +
> + return error;
> +}
> diff --git a/fs/xfs/xfs_bmap.h b/fs/xfs/xfs_bmap.h
> index 1cf1292..f923734 100644
> --- a/fs/xfs/xfs_bmap.h
> +++ b/fs/xfs/xfs_bmap.h
> @@ -204,6 +204,9 @@ int   xfs_bunmapi(struct xfs_trans *tp, struct 

Re: [PATCH v2] xfs: introduce object readahead to log recovery

2013-07-31 Thread Ben Myers
Hey Zhi,

On Wed, Jul 31, 2013 at 12:07:32PM +0800, Zhi Yong Wu wrote:
> On Wed, Jul 31, 2013 at 7:11 AM, Dave Chinner  wrote:
> > On Tue, Jul 30, 2013 at 05:59:07PM +0800, zwu.ker...@gmail.com wrote:
> >> From: Zhi Yong Wu 
> >>
> >>   It can take a long time to run log recovery operation because it is
> >> single threaded and is bound by read latency. We can find that it took
> >> most of the time to wait for the read IO to occur, so if one object
> >> readahead is introduced to log recovery, it will obviously reduce the
> >> log recovery time.
> >>
> >> Log recovery time stat:
> >>
> >>   w/o this patchw/ this patch
> >>
> >> real:0m15.023s 0m7.802s
> >> user:0m0.001s  0m0.001s
> >> sys: 0m0.246s  0m0.107s
> >>
> >> Signed-off-by: Zhi Yong Wu 
> >> ---
> >>  fs/xfs/xfs_log_recover.c | 162 
> >> +--
> >>  fs/xfs/xfs_log_recover.h |   2 +
> >>  2 files changed, 159 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
> >> index 7681b19..029826f 100644
> >> --- a/fs/xfs/xfs_log_recover.c
> >> +++ b/fs/xfs/xfs_log_recover.c
> >> @@ -3116,6 +3116,111 @@ xlog_recover_free_trans(
> >>   kmem_free(trans);
> >>  }
> >>
> >> +STATIC void
> >> +xlog_recover_buffer_ra_pass2(
> >> + struct xlog *log,
> >> + struct xlog_recover_item*item)
> >> +{
> >> + xfs_buf_log_format_t*buf_f = item->ri_buf[0].i_addr;
> >> + xfs_mount_t *mp = log->l_mp;
> >
> > struct xfs_buf_log_format
> > struct xfs_mount
> Why? *_t is also used in a lot of other places.

It is just a general style preference for using the struct instead of the _t in
the xfs codebase.  Over the course of the past few years they've slowly been
converted in this direction, and we prefer not to add any more _t if it can be
avoided.

-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  1   2   3   >