linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Return -EIO when xfs_vn_getattr() failed
@ 2011-09-17 13:38 Mitsuo Hayasaka
  2011-09-18 19:59 ` Christoph Hellwig
  2011-09-19 16:54 ` Alex Elder
  0 siblings, 2 replies; 3+ messages in thread
From: Mitsuo Hayasaka @ 2011-09-17 13:38 UTC (permalink / raw)
  To: Alex Elder, Christoph Hellwig
  Cc: xfs-masters, xfs, linux-kernel, yrl.pp-manager.tt,
	Mitsuo Hayasaka, Alex Elder, Christoph Hellwig

An attribute of inode can be fetched via xfs_vn_getattr() in XFS.
Currently it returns EIO, not negative value, when it failed.
As a result, the system call returns not negative value even though
an error occured. The stat(2), ls and mv commands cannot handle this
error and do not work correctly.

This patch fixes this bug, and returns -EIO, not EIO when an error
is detected in xfs_vn_getattr().

Signed-off-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>
Cc: Alex Elder <aelder@sgi.com>
Cc: Christoph Hellwig <hch@infradead.org>
---

 fs/xfs/xfs_iops.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index b9c172b..33136d6 100644
--- a/fs/xfs/xfs_iops.c
+++ b/fs/xfs/xfs_iops.c
@@ -457,7 +457,7 @@ xfs_vn_getattr(
 	trace_xfs_getattr(ip);
 
 	if (XFS_FORCED_SHUTDOWN(mp))
-		return XFS_ERROR(EIO);
+		return -XFS_ERROR(EIO);
 
 	stat->size = XFS_ISIZE(ip);
 	stat->dev = inode->i_sb->s_dev;


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

* Re: [PATCH] Return -EIO when xfs_vn_getattr() failed
  2011-09-17 13:38 [PATCH] Return -EIO when xfs_vn_getattr() failed Mitsuo Hayasaka
@ 2011-09-18 19:59 ` Christoph Hellwig
  2011-09-19 16:54 ` Alex Elder
  1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2011-09-18 19:59 UTC (permalink / raw)
  To: Mitsuo Hayasaka
  Cc: Alex Elder, Christoph Hellwig, yrl.pp-manager.tt, linux-kernel,
	xfs, xfs-masters

On Sat, Sep 17, 2011 at 10:38:38PM +0900, Mitsuo Hayasaka wrote:
> An attribute of inode can be fetched via xfs_vn_getattr() in XFS.
> Currently it returns EIO, not negative value, when it failed.
> As a result, the system call returns not negative value even though
> an error occured. The stat(2), ls and mv commands cannot handle this
> error and do not work correctly.
> 
> This patch fixes this bug, and returns -EIO, not EIO when an error
> is detected in xfs_vn_getattr().

Indeed.  Looks good,


Reviewed-by: Christoph Hellwig <hch@lst.de>


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

* Re: [PATCH] Return -EIO when xfs_vn_getattr() failed
  2011-09-17 13:38 [PATCH] Return -EIO when xfs_vn_getattr() failed Mitsuo Hayasaka
  2011-09-18 19:59 ` Christoph Hellwig
@ 2011-09-19 16:54 ` Alex Elder
  1 sibling, 0 replies; 3+ messages in thread
From: Alex Elder @ 2011-09-19 16:54 UTC (permalink / raw)
  To: Mitsuo Hayasaka
  Cc: Christoph Hellwig, xfs-masters, xfs, linux-kernel, yrl.pp-manager.tt

On Sat, 2011-09-17 at 22:38 +0900, Mitsuo Hayasaka wrote:
> An attribute of inode can be fetched via xfs_vn_getattr() in XFS.
> Currently it returns EIO, not negative value, when it failed.
> As a result, the system call returns not negative value even though
> an error occured. The stat(2), ls and mv commands cannot handle this
> error and do not work correctly.
> 
> This patch fixes this bug, and returns -EIO, not EIO when an error
> is detected in xfs_vn_getattr().
> 
> Signed-off-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>
> Cc: Alex Elder <aelder@sgi.com>
> Cc: Christoph Hellwig <hch@infradead.org>

Looks good.

Reviewed-by: Alex Elder <aelder@sgi.com>



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

end of thread, other threads:[~2011-09-19 16:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-17 13:38 [PATCH] Return -EIO when xfs_vn_getattr() failed Mitsuo Hayasaka
2011-09-18 19:59 ` Christoph Hellwig
2011-09-19 16:54 ` Alex Elder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).