From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1KFCbt-0000kR-5n for mharc-grub-devel@gnu.org; Sat, 05 Jul 2008 14:35:49 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KFCbs-0000jf-4z for grub-devel@gnu.org; Sat, 05 Jul 2008 14:35:48 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KFCbq-0000jP-AP for grub-devel@gnu.org; Sat, 05 Jul 2008 14:35:47 -0400 Received: from [199.232.76.173] (port=50779 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KFCbq-0000jK-4g for grub-devel@gnu.org; Sat, 05 Jul 2008 14:35:46 -0400 Received: from nf-out-0910.google.com ([64.233.182.184]:45447) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KFCbp-0008TK-7a for grub-devel@gnu.org; Sat, 05 Jul 2008 14:35:45 -0400 Received: by nf-out-0910.google.com with SMTP id c7so434594nfi.26 for ; Sat, 05 Jul 2008 11:35:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:in-reply-to :references:content-type:date:message-id:mime-version:x-mailer; bh=JvEiD7K+7PSw3c10xdKHlk0JLo4fqbAVu8vuYPoKjxA=; b=Gba+AIz5AO5FH6yIJFolORkoCf+6GGixViu690niZp2qBtAl6lawFH5+w1HObtMIqb Ui+VcuBidyKAF+rHl65W1Onw8mgQkKK1mxcPELtDT/4X9S99TSYIIXBTqM7EQmWQVSJK 6F1gMQ/h5CDeU69TquafZ5uRbNK7C4zwrAiss= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:in-reply-to:references:content-type:date:message-id :mime-version:x-mailer; b=eZ3czx8o+xBZ9P4oYutN4w0PmaWMV5VkuDyr2+DD9CfehOKtGMK6IxAR+1xB6u8R1Q xT7P8BJ1SUxv1IYRKWGxT0zfwXOk3dr5GWeYS8bhec7f8ZyKtEnjSu4/ak35KGyGLTVb j84f5PtjwVNAC5p5BV+GupDiD9t3iS1gTSNKg= Received: by 10.210.18.18 with SMTP id 18mr1454253ebr.95.1215282943968; Sat, 05 Jul 2008 11:35:43 -0700 (PDT) Received: from ?192.168.1.100? ( [213.37.137.93]) by mx.google.com with ESMTPS id i6sm2926977gve.4.2008.07.05.11.35.41 (version=SSLv3 cipher=RC4-MD5); Sat, 05 Jul 2008 11:35:42 -0700 (PDT) From: Javier =?ISO-8859-1?Q?Mart=EDn?= To: The development of GRUB 2 In-Reply-To: <20080705120757.GA1647@thorin> References: <20080702142245.GA21064@thorin> <1215027160.9353.125.camel@localhost> <20080703140211.GA19341@thorin> <1215104875.8123.23.camel@localhost> <20080704000829.GE4074@thorin> <1215135163.26019.44.camel@localhost> <20080704142125.GC2663@thorin> <1215182702.26019.130.camel@localhost> <20080704185723.GB32625@thorin> <1215204095.26019.142.camel@localhost> <20080705120757.GA1647@thorin> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-p2zhBSr/DO13juknvvBV" Date: Sat, 05 Jul 2008 20:36:13 +0200 Message-Id: <1215282973.26019.183.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.22.2 X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) Subject: Re: grub-probe detects ext4 wronly as ext2 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jul 2008 18:35:48 -0000 --=-p2zhBSr/DO13juknvvBV Content-Type: multipart/mixed; boundary="=-VIPXBnJIsG+Pm/whVxDr" --=-VIPXBnJIsG+Pm/whVxDr Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable El s=C3=A1b, 05-07-2008 a las 14:07 +0200, Robert Millan escribi=C3=B3: > However, adding new strings is expensive, since they tend to take size mo= re > easily than code. I would be careful about that. I checked the space requirements, and seemingly there was a bit of space available in the .rodata zone, since all those strings only added less than 20 bytes o_O (at least in i386-pc). Wrapping it up, the pre-post delta including code and strings is 120 bytes in i386-pc. > > grub_ext2_mount (grub_disk_t disk) > > { > > struct grub_ext2_data *data; > > + const char *err_msg =3D 0; >=20 > Is this "const" right? You're modifiing its value. Yeah, err_msg is a "pointer to (const char)", thus the characters are unmodifiable but the pointer can be reassigned. You can also have "char * const", which is a "const pointer to char" (I don't see much utility to it); and finally "const char * const", a "const pointer to (const char)", which would be the constant, unreassignable string pointer. AFAIK, since GCC 4.0 string literals are "const char *" by default and are stored in .rodata, so if the variable was termed as just "char *" we'd have needed a cast. However, if the compiler considers string literals as "char *", no cast is needed to make it "const char *". > > grub_disk_read (disk, 1 * 2, 0, sizeof (struct grub_ext2_sblock), > > (char *) &data->sblock); > > if (grub_errno) > > - goto fail; > > + EXT2_DRIVER_MOUNT_FAIL("could not read the superblock") >=20 > This overrides the grub_errno and grub_errmsg provided by grub_disk_read = and > replaces them with values that hide the true problem. If there was a dis= k > read error, we really want to know about it from the lower layer. Well, the old version did just the same (even worse, because the message was generic). What would be the correct path of action here? I mean, how can we propagate the error messages? > =20 > > /* Make sure this is an ext2 filesystem. */ > > if (grub_le_to_cpu16 (data->sblock.magic) !=3D EXT2_MAGIC) > > - goto fail; > > + EXT2_DRIVER_MOUNT_FAIL("not an ext2 filesystem (superblock magic m= ismatch)") >=20 > No need to ellaborate here; by definition, the magic number makes the > difference between a corrupt ext2 and something that is not ext2. So > you can just say it's not ext2. Ok, I'm sending a new version of the thing with that part removed. I'm trying to think of a ChangeLog entry for this. What about this? fs/ext2.c: extN driver will reject filesystems with unimplemented "incompatible" features enabled in the superblock --=-VIPXBnJIsG+Pm/whVxDr Content-Disposition: attachment; filename=ext2_incompat.patch.4 Content-Type: text/x-patch; name=ext2_incompat.patch.4; charset=utf-8 Content-Transfer-Encoding: base64 SW5kZXg6IGZzL2V4dDIuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGZzL2V4dDIuYwkocmV2aXNpw7NuOiAx NjkxKQ0KKysrIGZzL2V4dDIuYwkoY29waWEgZGUgdHJhYmFqbykNCkBAIC03MSw4ICs3MSw1MyBA QA0KICAgICAgICAgID8gRVhUMl9HT09EX09MRF9JTk9ERV9TSVpFIFwNCiAgICAgICAgICA6IGdy dWJfbGVfdG9fY3B1MTYgKGRhdGEtPnNibG9jay5pbm9kZV9zaXplKSkNCiANCi0jZGVmaW5lIEVY VDNfRkVBVFVSRV9DT01QQVRfSEFTX0pPVVJOQUwJMHgwMDA0DQorLyogU3VwZXJibG9jayBmaWxl c3lzdGVtIGZlYXR1cmUgZmxhZ3MgKFJXIGNvbXBhdGlibGUpDQorICogQSBmaWxlc3lzdGVtIHdp dGggYW55IG9mIHRoZXNlIGVuYWJsZWQgY2FuIGJlIHJlYWQgYW5kIHdyaXR0ZW4gYnkgYSBkcml2 ZXINCisgKiB0aGF0IGRvZXMgbm90IHVuZGVyc3RhbmQgdGhlbSB3aXRob3V0IGNhdXNpbmcgbWV0 YWRhdGEvZGF0YSBjb3JydXB0aW9uICovDQorI2RlZmluZSBFWFQyX0ZFQVRVUkVfQ09NUEFUX0RJ Ul9QUkVBTExPQwkweDAwMDENCisjZGVmaW5lIEVYVDJfRkVBVFVSRV9DT01QQVRfSU1BR0lDX0lO T0RFUwkweDAwMDINCisjZGVmaW5lIEVYVDNfRkVBVFVSRV9DT01QQVRfSEFTX0pPVVJOQUwJCTB4 MDAwNA0KKyNkZWZpbmUgRVhUMl9GRUFUVVJFX0NPTVBBVF9FWFRfQVRUUgkJMHgwMDA4DQorI2Rl ZmluZSBFWFQyX0ZFQVRVUkVfQ09NUEFUX1JFU0laRV9JTk9ERQkweDAwMTANCisjZGVmaW5lIEVY VDJfRkVBVFVSRV9DT01QQVRfRElSX0lOREVYCQkweDAwMjANCisvKiBTdXBlcmJsb2NrIGZpbGVz eXN0ZW0gZmVhdHVyZSBmbGFncyAoUk8gY29tcGF0aWJsZSkNCisgKiBBIGZpbGVzeXN0ZW0gd2l0 aCBhbnkgb2YgdGhlc2UgZW5hYmxlZCBjYW4gYmUgc2FmZWx5IHJlYWQgYnkgYSBkcml2ZXIgdGhh dA0KKyAqIGRvZXMgbm90IHVuZGVyc3RhbmQgdGhlbSwgYnV0IHNob3VsZCBub3QgYmUgd3JpdHRl biB0bywgdXN1YWxseSBiZWNhdXNlDQorICogYWRkaXRpb25hbCBtZXRhZGF0YSBpcyByZXF1aXJl ZCAqLw0KKyNkZWZpbmUgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9TUEFSU0VfU1VQRVIJMHgwMDAx DQorI2RlZmluZSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX0xBUkdFX0ZJTEUJMHgwMDAyDQorI2Rl ZmluZSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX0JUUkVFX0RJUgkweDAwMDQNCisjZGVmaW5lIEVY VDRfRkVBVFVSRV9ST19DT01QQVRfR0RUX0NTVU0JCTB4MDAxMA0KKyNkZWZpbmUgRVhUNF9GRUFU VVJFX1JPX0NPTVBBVF9ESVJfTkxJTksJMHgwMDIwDQorI2RlZmluZSBFWFQ0X0ZFQVRVUkVfUk9f Q09NUEFUX0VYVFJBX0lTSVpFCTB4MDA0MA0KKy8qIFN1cGVyYmxvY2sgZmlsZXN5c3RlbSBmZWF0 dXJlIGZsYWdzIChiYWNrLWluY29tcGF0aWJsZSkNCisgKiBBIGZpbGVzeXN0ZW0gd2l0aCBhbnkg b2YgdGhlc2UgZW5hYmxlZCBzaG91bGQgbm90IGJlIGF0dGVtcHRlZCB0byBiZSByZWFkDQorICog YnkgYSBkcml2ZXIgdGhhdCBkb2VzIG5vdCB1bmRlcnN0YW5kIHRoZW0sIHNpbmNlIHRoZXkgdXN1 YWxseSBpbmRpY2F0ZQ0KKyAqIG1ldGFkYXRhIGZvcm1hdCBjaGFuZ2VzIHRoYXQgbWlnaHQgY29u ZnVzZSB0aGUgcmVhZGVyLiAqLw0KKyNkZWZpbmUgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX0NPTVBS RVNTSU9OCTB4MDAwMQ0KKyNkZWZpbmUgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX0ZJTEVUWVBFCQkw eDAwMDINCisjZGVmaW5lIEVYVDNfRkVBVFVSRV9JTkNPTVBBVF9SRUNPVkVSCQkweDAwMDQgLyog TmVlZHMgcmVjb3ZlcnkgKi8NCisjZGVmaW5lIEVYVDNfRkVBVFVSRV9JTkNPTVBBVF9KT1VSTkFM X0RFVgkweDAwMDggLyogVm9sdW1lIGlzIGpvdXJuYWwgZGV2aWNlICovDQorI2RlZmluZSBFWFQy X0ZFQVRVUkVfSU5DT01QQVRfTUVUQV9CRwkJMHgwMDEwDQorI2RlZmluZSBFWFQ0X0ZFQVRVUkVf SU5DT01QQVRfRVhURU5UUwkJMHgwMDQwIC8qIEV4dGVudHMgdXNlZCAqLw0KKyNkZWZpbmUgRVhU NF9GRUFUVVJFX0lOQ09NUEFUXzY0QklUCQkweDAwODANCisjZGVmaW5lIEVYVDRfRkVBVFVSRV9J TkNPTVBBVF9GTEVYX0JHCQkweDAyMDANCiANCisvKiBUaGUgc2V0IG9mIGJhY2staW5jb21wYXRp YmxlIGZlYXR1cmVzIHRoaXMgZHJpdmVyIERPRVMgc3VwcG9ydC4gQWRkIChPUikNCisgKiBmbGFn cyBoZXJlIGFzIHRoZSByZWxhdGVkIGZlYXR1cmVzIGFyZSBpbXBsZW1lbnRlZCBpbnRvIHRoZSBk cml2ZXIgKi8NCisjZGVmaW5lIEVYVDJfRFJJVkVSX1NVUFBPUlRFRF9JTkNPTVBBVCAoIEVYVDJf RkVBVFVSRV9JTkNPTVBBVF9GSUxFVFlQRSBcDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRVhURU5UUyApDQorLyogTGlzdCBv ZiByYXRpb25hbGVzIGZvciB0aGUgaWdub3JlZCAiaW5jb21wYXRpYmxlIiBmZWF0dXJlczoNCisg KiBuZWVkc19yZWNvdmVyeTogTm90IHJlYWxseSBiYWNrLWluY29tcGF0aWJsZSAtIHdhcyBhZGRl ZCBhcyBzdWNoIHRvIGZvcmJpZA0KKyAqICAgICAgICAgICAgICAgICBleHQyIGRyaXZlcnMgZnJv bSBtb3VudGluZyBhbiBleHQzIHZvbHVtZSB3aXRoIGEgZGlydHkNCisgKiAgICAgICAgICAgICAg ICAgam91cm5hbCBiZWNhdXNlIHRoZXkgd2lsbCBpZ25vcmUgdGhlIGpvdXJuYWwsIGJ1dCB0aGUg bmV4dA0KKyAqICAgICAgICAgICAgICAgICBleHQzIGRyaXZlciB0byBtb3VudCB0aGUgdm9sdW1l IHdpbGwgZmluZCB0aGUgam91cm5hbCBhbmQNCisgKiAgICAgICAgICAgICAgICAgcmVwbGF5IGl0 LCBwb3RlbnRpYWxseSBjb3JydXB0aW5nIHRoZSBtZXRhZGF0YSB3cml0dGVuIGJ5DQorICogICAg ICAgICAgICAgICAgIHRoZSBleHQyIGRyaXZlcnMNCisgKi8NCisjZGVmaW5lIEVYVDJfRFJJVkVS X0lHTk9SRURfSU5DT01QQVQgKCBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfUkVDT1ZFUiApDQorDQor DQogI2RlZmluZSBFWFQzX0pPVVJOQUxfTUFHSUNfTlVNQkVSCTB4YzAzYjM5OThVDQogDQogI2Rl ZmluZSBFWFQzX0pPVVJOQUxfREVTQ1JJUFRPUl9CTE9DSwkxDQpAQCAtMzc1LDEwICs0MjAsMTIg QEANCiAgIHJldHVybiAwOw0KIH0NCiANCisjZGVmaW5lIEVYVDJfRFJJVkVSX01PVU5UX0ZBSUwo bWVzc2FnZSkgeyBlcnJfbXNnID0gKG1lc3NhZ2UpOyBnb3RvIGZhaWw7IH0NCiBzdGF0aWMgc3Ry dWN0IGdydWJfZXh0Ml9kYXRhICoNCiBncnViX2V4dDJfbW91bnQgKGdydWJfZGlza190IGRpc2sp DQogew0KICAgc3RydWN0IGdydWJfZXh0Ml9kYXRhICpkYXRhOw0KKyAgY29uc3QgY2hhciAqZXJy X21zZyA9IDA7DQogDQogICBkYXRhID0gZ3J1Yl9tYWxsb2MgKHNpemVvZiAoc3RydWN0IGdydWJf ZXh0Ml9kYXRhKSk7DQogICBpZiAoIWRhdGEpDQpAQCAtMzg4LDEyICs0MzUsMTggQEANCiAgIGdy dWJfZGlza19yZWFkIChkaXNrLCAxICogMiwgMCwgc2l6ZW9mIChzdHJ1Y3QgZ3J1Yl9leHQyX3Ni bG9jayksDQogICAgICAgICAgICAgICAgICAgKGNoYXIgKikgJmRhdGEtPnNibG9jayk7DQogICBp ZiAoZ3J1Yl9lcnJubykNCi0gICAgZ290byBmYWlsOw0KKyAgICBFWFQyX0RSSVZFUl9NT1VOVF9G QUlMKCJjb3VsZCBub3QgcmVhZCB0aGUgc3VwZXJibG9jayIpDQogDQogICAvKiBNYWtlIHN1cmUg dGhpcyBpcyBhbiBleHQyIGZpbGVzeXN0ZW0uICAqLw0KICAgaWYgKGdydWJfbGVfdG9fY3B1MTYg KGRhdGEtPnNibG9jay5tYWdpYykgIT0gRVhUMl9NQUdJQykNCi0gICAgZ290byBmYWlsOw0KKyAg ICBFWFQyX0RSSVZFUl9NT1VOVF9GQUlMKCJub3QgYW4gZXh0MiBmaWxlc3lzdGVtIikNCiAgIA0K KyAgLyogQ2hlY2sgdGhlIEZTIGRvZXNuJ3QgaGF2ZSBmZWF0dXJlIGJpdHMgZW5hYmxlZCB0aGF0 IHdlIGRvbid0IHN1cHBvcnQuICovDQorICBpZiAoZ3J1Yl9sZV90b19jcHUzMiAoZGF0YS0+c2Js b2NrLmZlYXR1cmVfaW5jb21wYXQpDQorICAgICAgICAmIH4oRVhUMl9EUklWRVJfU1VQUE9SVEVE X0lOQ09NUEFUIHwgRVhUMl9EUklWRVJfSUdOT1JFRF9JTkNPTVBBVCkpDQorICAgIEVYVDJfRFJJ VkVSX01PVU5UX0ZBSUwoImZpbGVzeXN0ZW0gaGFzIHVuc3VwcG9ydGVkIGluY29tcGF0aWJsZSBm ZWF0dXJlcyIpDQorICAgIA0KKyAgDQogICBkYXRhLT5kaXNrID0gZGlzazsNCiANCiAgIGRhdGEt PmRpcm9wZW4uZGF0YSA9IGRhdGE7DQpAQCAtNDA0LDEyICs0NTcsMTQgQEANCiANCiAgIGdydWJf ZXh0Ml9yZWFkX2lub2RlIChkYXRhLCAyLCBkYXRhLT5pbm9kZSk7DQogICBpZiAoZ3J1Yl9lcnJu bykNCi0gICAgZ290byBmYWlsOw0KKyAgICBFWFQyX0RSSVZFUl9NT1VOVF9GQUlMKCJjb3VsZCBu b3QgcmVhZCB0aGUgcm9vdCBkaXJlY3RvcnkgaW5vZGUiKQ0KICAgDQogICByZXR1cm4gZGF0YTsN CiANCiAgZmFpbDoNCi0gIGdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9GUywgIm5vdCBhbiBleHQy IGZpbGVzeXN0ZW0iKTsNCisgIGlmICghZXJyX21zZykNCisgICAgZXJyX21zZyA9ICJERUJVRzog bW91bnQgZmFpbGVkIGJ1dCBubyBlcnJvciBtZXNzYWdlIHN1cHBsaWVkISI7DQorICBncnViX2Vy cm9yIChHUlVCX0VSUl9CQURfRlMsIGVycl9tc2cpOw0KICAgZ3J1Yl9mcmVlIChkYXRhKTsNCiAg IHJldHVybiAwOw0KIH0NCg== --=-VIPXBnJIsG+Pm/whVxDr-- --=-p2zhBSr/DO13juknvvBV Content-Type: application/pgp-signature; name=signature.asc Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQIVAwUASG+/HKSl+Fbdeo72AQL9ow/9Gt9y09VWOyc0+KFP0dVmy4mBGJ/pGmeY /7NgPUSQRXbvyC/DeXz8MgKsBlYw4aD8kvaL6opt0zZpQoWaocyI3KjZk4FCPJo0 tnVimgN7AM1qd14XYUkSgmGZpfp8vmb1nusTAXDeZXQL9Joh3eJnnPkZAukB3Wqf 70INh9YlQ9fryJ5XAety9kkOzw+JZJz7RqF+Fm+xwLB5EvT6KaaLXdCHKEK01xmC uC0MVBGGiRW9Xo5u/x92/Xs7Hmk3Wy01sE7ESZ4AlaaSwpRvc+wivD1e8p0H2pm9 qSfKXO5ANsFwf5DyMZ2ledelJoFteZ0ypVgoH6aPpljJZzC4FrCFbZ0MhMxagb4o 7J+kAC+kef9sGKr2nHX5HfnCm7l9ok0czivX285AwUdk38vAOgkEKf0UhGEGEJ+y x8d7WtRAq0XRHZNsoEjTNa6lTbe4vaQkSeovqcYYn78HvxDOKF2ntxwxJIDxC1kH YQlj6NoMjEdihy0XFFm27MFcIJVy5uKrU6aA6pPb09N98aelCgb60hVJRM6kZmRw OoBnfbBGRn757WQuaUfNgTZZLtoLEkogYECBfy/JO3wQXNtAPH4W+cRBHgGevVAq 4USQ9PeX5qvP7i0cwcBjzAmI/zfVohhbf7KPhftr2rssOJVTRL6BBcO3QW7Sua0O yUPq35X5al8= =vO9b -----END PGP SIGNATURE----- --=-p2zhBSr/DO13juknvvBV--