linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fix error handling in ext3_create_journal
@ 2007-07-01 22:11 Borislav Petkov
  2007-07-03 22:25 ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Borislav Petkov @ 2007-07-01 22:11 UTC (permalink / raw)
  To: linux-ext4; +Cc: linux-kernel, Andrew Morton


---
From: Borislav Petkov <bbpetkov@yahoo.de>

Fix error handling in ext3_create_journal according to kernel conventions.

Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
--

Index: linux-2.6.22-rc6/fs/ext3/super.c
===================================================================
--- linux-2.6.22-rc6/fs/ext3/super.c.orig	2007-07-01 21:12:51.000000000 +0200
+++ linux-2.6.22-rc6/fs/ext3/super.c	2007-07-01 21:14:32.000000000 +0200
@@ -2075,6 +2075,7 @@
 			       unsigned int journal_inum)
 {
 	journal_t *journal;
+	int err;
 
 	if (sb->s_flags & MS_RDONLY) {
 		printk(KERN_ERR "EXT3-fs: readonly filesystem when trying to "
@@ -2082,13 +2083,15 @@
 		return -EROFS;
 	}
 
-	if (!(journal = ext3_get_journal(sb, journal_inum)))
+	journal = ext3_get_journal(sb, journal_inum);
+	if (!journal)
 		return -EINVAL;
 
 	printk(KERN_INFO "EXT3-fs: creating new journal on inode %u\n",
 	       journal_inum);
 
-	if (journal_create(journal)) {
+	err = journal_create(journal);
+	if (err) {
 		printk(KERN_ERR "EXT3-fs: error creating journal.\n");
 		journal_destroy(journal);
 		return -EIO;
-- 
Regards/Gruß,
    Boris.

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

* Re: [PATCH] fix error handling in ext3_create_journal
  2007-07-01 22:11 [PATCH] fix error handling in ext3_create_journal Borislav Petkov
@ 2007-07-03 22:25 ` Andrew Morton
  2007-07-04 19:30   ` [PATCH] ext4: fix error handling in ext4_create_journal Borislav Petkov
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2007-07-03 22:25 UTC (permalink / raw)
  To: bbpetkov; +Cc: linux-ext4, linux-kernel

On Mon, 2 Jul 2007 00:11:11 +0200
Borislav Petkov <bbpetkov@yahoo.de> wrote:

> 
> ---
> From: Borislav Petkov <bbpetkov@yahoo.de>
> 
> Fix error handling in ext3_create_journal according to kernel conventions.
> 
> Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
> --
> 
> Index: linux-2.6.22-rc6/fs/ext3/super.c
> ===================================================================
> --- linux-2.6.22-rc6/fs/ext3/super.c.orig	2007-07-01 21:12:51.000000000 +0200
> +++ linux-2.6.22-rc6/fs/ext3/super.c	2007-07-01 21:14:32.000000000 +0200
> @@ -2075,6 +2075,7 @@
>  			       unsigned int journal_inum)
>  {
>  	journal_t *journal;
> +	int err;
>  
>  	if (sb->s_flags & MS_RDONLY) {
>  		printk(KERN_ERR "EXT3-fs: readonly filesystem when trying to "
> @@ -2082,13 +2083,15 @@
>  		return -EROFS;
>  	}
>  
> -	if (!(journal = ext3_get_journal(sb, journal_inum)))
> +	journal = ext3_get_journal(sb, journal_inum);
> +	if (!journal)
>  		return -EINVAL;
>  
>  	printk(KERN_INFO "EXT3-fs: creating new journal on inode %u\n",
>  	       journal_inum);
>  
> -	if (journal_create(journal)) {
> +	err = journal_create(journal);
> +	if (err) {
>  		printk(KERN_ERR "EXT3-fs: error creating journal.\n");
>  		journal_destroy(journal);
>  		return -EIO;

Please prepare the equivalent patch for ext4.  Without that, it'd probably
be better to avoid applying the ext3 patch: there are advantages to keeping
the two in sync where possible.

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

* [PATCH] ext4: fix error handling in ext4_create_journal
  2007-07-03 22:25 ` Andrew Morton
@ 2007-07-04 19:30   ` Borislav Petkov
  2007-07-04 20:17     ` Alexey Dobriyan
  0 siblings, 1 reply; 5+ messages in thread
From: Borislav Petkov @ 2007-07-04 19:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-ext4, linux-kernel

On Tue, Jul 03, 2007 at 03:25:43PM -0700, Andrew Morton wrote:

> Please prepare the equivalent patch for ext4.  Without that, it'd probably
> be better to avoid applying the ext3 patch: there are advantages to keeping
> the two in sync where possible.

Hi Andrew,

   here you go. By the way, this one is with generated diffstat. Do you prefer
   it that way or is a diffstat for a patch touching a single file too much?

-----
From: Borislav Petkov <bbpetkov@yahoo.de>

Fix error handling in ext4_create_journal according to kernel conventions.

Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>

---
 linux-2.6.22-rc7/fs/ext4/super.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

Index: linux-2.6.22-rc7/fs/ext4/super.c
===================================================================
--- linux-2.6.22-rc7/fs/ext4/super.c.orig	2007-07-04 21:18:24.000000000 +0200
+++ linux-2.6.22-rc7/fs/ext4/super.c	2007-07-04 21:19:46.000000000 +0200
@@ -2150,6 +2150,7 @@
 			       unsigned int journal_inum)
 {
 	journal_t *journal;
+	int err;
 
 	if (sb->s_flags & MS_RDONLY) {
 		printk(KERN_ERR "EXT4-fs: readonly filesystem when trying to "
@@ -2157,13 +2158,15 @@
 		return -EROFS;
 	}
 
-	if (!(journal = ext4_get_journal(sb, journal_inum)))
+	journal = ext4_get_journal(sb, journal_inum);
+	if (!journal)
 		return -EINVAL;
 
 	printk(KERN_INFO "EXT4-fs: creating new journal on inode %u\n",
 	       journal_inum);
 
-	if (jbd2_journal_create(journal)) {
+	err = jbd2_journal_create(journal);
+	if (err) {
 		printk(KERN_ERR "EXT4-fs: error creating journal.\n");
 		jbd2_journal_destroy(journal);
 		return -EIO;
-- 
Regards/Gruß,
    Boris.

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

* Re: [PATCH] ext4: fix error handling in ext4_create_journal
  2007-07-04 19:30   ` [PATCH] ext4: fix error handling in ext4_create_journal Borislav Petkov
@ 2007-07-04 20:17     ` Alexey Dobriyan
  2007-07-05 18:59       ` Borislav Petkov
  0 siblings, 1 reply; 5+ messages in thread
From: Alexey Dobriyan @ 2007-07-04 20:17 UTC (permalink / raw)
  To: Borislav Petkov; +Cc: Andrew Morton, linux-ext4, linux-kernel

On Wed, Jul 04, 2007 at 09:30:24PM +0200, Borislav Petkov wrote:
> Fix error handling in ext4_create_journal according to kernel conventions.

> --- linux-2.6.22-rc7/fs/ext4/super.c.orig
> +++ linux-2.6.22-rc7/fs/ext4/super.c
> @@ -2150,6 +2150,7 @@
>  			       unsigned int journal_inum)
>  {
>  	journal_t *journal;
> +	int err;
>  
>  	if (sb->s_flags & MS_RDONLY) {
>  		printk(KERN_ERR "EXT4-fs: readonly filesystem when trying to "
> @@ -2157,13 +2158,15 @@
>  		return -EROFS;
>  	}
>  
> -	if (!(journal = ext4_get_journal(sb, journal_inum)))
> +	journal = ext4_get_journal(sb, journal_inum);
> +	if (!journal)
>  		return -EINVAL;

OK.

>  	printk(KERN_INFO "EXT4-fs: creating new journal on inode %u\n",
>  	       journal_inum);
>  
> -	if (jbd2_journal_create(journal)) {
> +	err = jbd2_journal_create(journal);
> +	if (err) {
>  		printk(KERN_ERR "EXT4-fs: error creating journal.\n");
>  		jbd2_journal_destroy(journal);
>  		return -EIO;

Original code is fine.

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

* Re: [PATCH] ext4: fix error handling in ext4_create_journal
  2007-07-04 20:17     ` Alexey Dobriyan
@ 2007-07-05 18:59       ` Borislav Petkov
  0 siblings, 0 replies; 5+ messages in thread
From: Borislav Petkov @ 2007-07-05 18:59 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: akpm, linux-ext4, linux-kernel

On Thu, Jul 05, 2007 at 12:17:25AM +0400, Alexey Dobriyan wrote:
> On Wed, Jul 04, 2007 at 09:30:24PM +0200, Borislav Petkov wrote:
> > Fix error handling in ext4_create_journal according to kernel conventions.
> 
> > --- linux-2.6.22-rc7/fs/ext4/super.c.orig
> > +++ linux-2.6.22-rc7/fs/ext4/super.c
> > @@ -2150,6 +2150,7 @@
> >  			       unsigned int journal_inum)
> >  {
> >  	journal_t *journal;
> > +	int err;
> >  
> >  	if (sb->s_flags & MS_RDONLY) {
> >  		printk(KERN_ERR "EXT4-fs: readonly filesystem when trying to "
> > @@ -2157,13 +2158,15 @@
> >  		return -EROFS;
> >  	}
> >  
> > -	if (!(journal = ext4_get_journal(sb, journal_inum)))
> > +	journal = ext4_get_journal(sb, journal_inum);
> > +	if (!journal)
> >  		return -EINVAL;
> 
> OK.
> 
> >  	printk(KERN_INFO "EXT4-fs: creating new journal on inode %u\n",
> >  	       journal_inum);
> >  
> > -	if (jbd2_journal_create(journal)) {
> > +	err = jbd2_journal_create(journal);
> > +	if (err) {
> >  		printk(KERN_ERR "EXT4-fs: error creating journal.\n");
> >  		jbd2_journal_destroy(journal);
> >  		return -EIO;
> 
> Original code is fine.

Hmm, ok but this is not the way error handling is done in the rest of ext3/4.
If you look for error variables declarations of type int in super.c, e.g. in
ext4_load_journal(), ext4_clear_journal_err() and ext4_remount() to name a few,
you'll see how the return value of the called function is assigned to the
error variable and then the last is checked in the if-conditional, which is the
usual way error handling is done in the kernel, imho. And my patch addresses exactly that.

-- 
Regards/Gruß,
    Boris.

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

end of thread, other threads:[~2007-07-05 18:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-01 22:11 [PATCH] fix error handling in ext3_create_journal Borislav Petkov
2007-07-03 22:25 ` Andrew Morton
2007-07-04 19:30   ` [PATCH] ext4: fix error handling in ext4_create_journal Borislav Petkov
2007-07-04 20:17     ` Alexey Dobriyan
2007-07-05 18:59       ` Borislav Petkov

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).