All of lore.kernel.org
 help / color / mirror / Atom feed
From: "O.Sezer" <sezeroz@ttnet.net.tr>
To: Willy Tarreau <willy@w.ods.org>
Cc: linux-kernel@vger.kernel.org, marcelo.tosatti@cyclades.com
Subject: Re: 2.4.28-pre2 and ntfs-2.1.6b ?
Date: Fri, 27 Aug 2004 01:53:16 +0300	[thread overview]
Message-ID: <412E69DC.5050907@ttnet.net.tr> (raw)
In-Reply-To: <20040826221229.GB564@alpha.home.local>

Willy Tarreau wrote:
> Hi,
> 
> On Thu, Aug 26, 2004 at 11:59:47PM +0300, O.Sezer wrote:
> 
>>Hi all:
>>
>>With 2.4.28-pre2, ntfs-2.1.6b from linux-ntfs site
>>started failing to compile at aops.c:
>>
>>aops.c: In function `ntfs_read_block':
>>aops.c:315: parse error before "else"
>>-- or in case of gcc3.4 --
>>aops.c:315: error: syntax error before "else"
>>
>>This happens with gcc-3.2.2 and gcc-3.4.0
>>and can be fixed by:
>>
>>--- aops.c.BAK	2004-08-26 19:35:11.000000000 +0300
>>+++ aops.c	2004-08-26 21:41:53.000000000 +0300
>>@@ -310,10 +310,11 @@
>> 		return 0;
>> 	}
>> 	/* No i/o was scheduled on any of the buffers. */
>>-	if (likely(!PageError(page)))
>>+	if (likely(!PageError(page))) {
>> 		SetPageUptodate(page);
>>-	else /* Signal synchronous i/o error. */
>>+	} else { /* Signal synchronous i/o error. */
>> 		nr = -EIO;
>>+	}
>> 	unlock_page(page);
>> 	return nr;
>> }
> 
> 
> No !
> Please don't fix it this way ! The problem lies within the declaration of
> SetPageUptodate() which it seems is a macro which lacks some braces somewhere.
> You were very lucky that there was an 'else' to point it out, but imagine
> what it would do in the following case :
> 
> 	if (likely(!PageError(page))) {
>  		SetPageUptodate(page);
> 	blah();
> 
> It would always execute the second half of SetPageUptodate(), whatever
> the condition, and nothing will alert you.
> 
> What does SetPageUptodate() look like ?
> 
> 
>>The very same code used to compile fine with
>>2.4.27 without any changes to it.
> 
> 
> I think that the gcc-3.4 fixes might have hit some sensible parts...
> 
> 
>>I can't see
>>where the problem is (it's 23:57 here ;)).
>>Can anyone tell, please?
> 
> 
> It's even later now, good night :-)
> 
> Regards,
> Willy
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 
> 

Hi Willy, and thanks, you're a lifesaver! All the evidence points
to the s390 changes in -pre2, specificly cset-1.1514 by schwidefsky
which touches include/linux/mm.h this way:

--- 1.44/include/linux/mm.h	2004-08-26 15:51:04 -07:00
+++ 1.45/include/linux/mm.h	2004-08-26 15:51:04 -07:00
@@ -308,11 +308,9 @@
/* Make it prettier to test the above... */
#define UnlockPage(page)	unlock_page(page)
#define Page_Uptodate(page)	test_bit(PG_uptodate, &(page)->flags)
-#define SetPageUptodate(page) \
-	do {								\
-		arch_set_page_uptodate(page);				\
-		set_bit(PG_uptodate, &(page)->flags);			\
-	} while (0)
+#ifndef SetPageUptodate
+#define SetPageUptodate(page)	set_bit(PG_uptodate, &(page)->flags);
+#endif
#define ClearPageUptodate(page)	clear_bit(PG_uptodate, &(page)->flags)
#define PageDirty(page)		test_bit(PG_dirty, &(page)->flags)
#define SetPageDirty(page)	set_bit(PG_dirty, &(page)->flags)

Marcelo, you maybe interested in this.

Cheers,
Ozkan Sezer

  reply	other threads:[~2004-08-26 23:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-26 20:59 2.4.28-pre2 and ntfs-2.1.6b ? O.Sezer
2004-08-26 22:12 ` Willy Tarreau
2004-08-26 22:53   ` O.Sezer [this message]
2004-08-27  0:08     ` [PATCH 2.4] fix typo in mm.h introduced 2.4.28-pre2 O.Sezer
2004-08-27  9:04       ` Mikael Pettersson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=412E69DC.5050907@ttnet.net.tr \
    --to=sezeroz@ttnet.net.tr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo.tosatti@cyclades.com \
    --cc=willy@w.ods.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.