From owner-freebsd-current@FreeBSD.ORG Mon Jun 9 13:00:44 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AFE2D37B401 for ; Mon, 9 Jun 2003 13:00:44 -0700 (PDT) Received: from abel.math.ntnu.no (abel.math.ntnu.no [129.241.15.50]) by mx1.FreeBSD.org (Postfix) with SMTP id 48B6043FA3 for ; Mon, 9 Jun 2003 13:00:43 -0700 (PDT) (envelope-from perhov@math.ntnu.no) Received: (qmail 16154 invoked by uid 29119); 9 Jun 2003 20:00:42 -0000 Date: Mon, 9 Jun 2003 22:00:42 +0200 (MEST) From: Per Kristian Hove To: Poul-Henning Kamp In-Reply-To: Message-ID: References: <87296.1054977860@critter.freebsd.dk> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-959030623-1055188597=:10855" Content-ID: cc: freebsd-current@freebsd.org Subject: Re: geom_vol_ffs problems X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Jun 2003 20:00:45 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-959030623-1055188597=:10855 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: The attached patch changes the behaviour of geom_vol_ffs so that: - It works even if the file system doesn't fill the partition completely (it only checks for file system > mediasize). - It does not attach to providers it doesn't know how to handle. - It does not attach to sunlabel providers if the slice number is 2. - It does not attach to bsdlabel providers if the partition type isn't FS_BSDFFS. - It does not attach to providers that are attached to consumers of other types than "DEV". The last check is to avoid connecting to submirrors, components of a RAID5, one specific path of a multipathed fibre channel disk, etc. (Hopefully, there will be a GEOM_FCAL class that implements load sharing and fault tolerance in multipathed systems?:-) ) The big question is how to make sure geom_vol_ffs doesn't get the chance to taste (and attach) before, say, geom_mirror does. What do you think about this approach? -- Per Kristian Hove Dept. of Mathematical Sciences Norwegian University of Science and Technology ---559023410-959030623-1055188597=:10855 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="geom_vol_ffs.c.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="geom_vol_ffs.c.diff" SW5kZXg6IGdlb21fdm9sX2Zmcy5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL3Vzci9uY3ZzL3NyYy9zeXMvZ2VvbS9nZW9tX3ZvbF9m ZnMuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOA0KZGlmZiAtdSAtcjEu OCBnZW9tX3ZvbF9mZnMuYw0KLS0tIGdlb21fdm9sX2Zmcy5jCTIgTWF5IDIw MDMgMDg6MjE6MDIgLTAwMDAJMS44DQorKysgZ2VvbV92b2xfZmZzLmMJOSBK dW4gMjAwMyAxOTozMDo0MCAtMDAwMA0KQEAgLTM0LDYgKzM0LDcgQEANCiAj aW5jbHVkZSA8c3lzL2Jpby5oPg0KICNpbmNsdWRlIDxzeXMvbG9jay5oPg0K ICNpbmNsdWRlIDxzeXMvbXV0ZXguaD4NCisjaW5jbHVkZSA8c3lzL2Rpc2ts YWJlbC5oPg0KIA0KICNpbmNsdWRlIDx1ZnMvdWZzL2Rpbm9kZS5oPg0KICNp bmNsdWRlIDx1ZnMvZmZzL2ZzLmg+DQpAQCAtNDUsNiArNDYsMTYgQEANCiAN CiBzdGF0aWMgaW50IHN1cGVyYmxvY2tzW10gPSBTQkxPQ0tTRUFSQ0g7DQog DQorI2RlZmluZSBMQUJFTFNJWkUgKDE0OCArIDE2ICogTUFYUEFSVElUSU9O UykNCitzdHJ1Y3QgZ19ic2Rfc29mdGMgew0KKwlvZmZfdAlsYWJlbG9mZnNl dDsNCisJb2ZmX3QJbWJyb2Zmc2V0Ow0KKwlvZmZfdAlyYXdvZmZzZXQ7DQor CXN0cnVjdCBkaXNrbGFiZWwgb25kaXNrOw0KKwl1X2NoYXIJbGFiZWxbTEFC RUxTSVpFXTsNCisJdV9jaGFyCWxhYmVsc3VtWzE2XTsNCit9Ow0KKw0KIHN0 cnVjdCBnX3ZvbF9mZnNfc29mdGMgew0KIAljaGFyICoJdm9sOw0KIH07DQpA QCAtNTksMTAgKzcwLDExIEBADQogZ192b2xfZmZzX3Rhc3RlKHN0cnVjdCBn X2NsYXNzICptcCwgc3RydWN0IGdfcHJvdmlkZXIgKnBwLCBpbnQgZmxhZ3Mp DQogew0KIAlzdHJ1Y3QgZ19nZW9tICpncDsNCi0Jc3RydWN0IGdfY29uc3Vt ZXIgKmNwOw0KKwlzdHJ1Y3QgZ19jb25zdW1lciAqY3AsICp0cDsNCiAJc3Ry dWN0IGdfdm9sX2Zmc19zb2Z0YyAqbXM7DQogCWludCBlcnJvciwgc2IsIHN1 cGVyYmxvY2s7DQogCXN0cnVjdCBmcyAqZnM7DQorCWNvbnN0IGNoYXIgKnBj bGFzczsNCiANCiAJZ190cmFjZShHX1RfVE9QT0xPR1ksICJ2b2xfdGFzdGUo JXMsJXMpIiwgbXAtPm5hbWUsIHBwLT5uYW1lKTsNCiAJZ190b3BvbG9neV9h c3NlcnQoKTsNCkBAIC03MSwxOCArODMsNTggQEANCiAJICogWFhYIFRoaXMg aXMgYSByZWFsbHkgd2VhayB3YXkgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHJl Y3Vyc2UuDQogCSAqIFByb2JhYmx5IG91Z2h0IHRvIHVzZSBCSU9fR0VUQVRU UiB0byBjaGVjayBmb3IgdGhpcy4NCiAJICovDQorCXBjbGFzcyA9IHBwLT5n ZW9tLT5jbGFzcy0+bmFtZTsNCiAJaWYgKGZsYWdzID09IEdfVEZfTk9STUFM ICYmDQotCSAgICAhc3RyY21wKHBwLT5nZW9tLT5jbGFzcy0+bmFtZSwgVk9M X0ZGU19DTEFTU19OQU1FKSkNCisJICAgICFzdHJjbXAocGNsYXNzLCBWT0xf RkZTX0NMQVNTX05BTUUpKQ0KIAkJcmV0dXJuIChOVUxMKTsNCiANCiAJZ3Ag PSBnX3NsaWNlX25ldyhtcCwgMSwgcHAsICZjcCwgJm1zLCBzaXplb2YoKm1z KSwgZ192b2xfZmZzX3N0YXJ0KTsNCiAJaWYgKGdwID09IE5VTEwpDQogCQly ZXR1cm4gKE5VTEwpOw0KKwkvKiBXZSBjYW4gb25seSBhdHRhY2ggdG8gcHJv dmlkZXJzIHdlIGtub3cgaG93IHRvIGhhbmRsZSAqLw0KKwlpZiAoc3RyY21w KHBjbGFzcywgIkFQUExFIikgJiYNCisJICAgIHN0cmNtcChwY2xhc3MsICJC REUiKSAmJg0KKwkgICAgc3RyY21wKHBjbGFzcywgIkJTRCIpICYmDQorCSAg ICBzdHJjbXAocGNsYXNzLCAiRElTSyIpICYmDQorCSAgICBzdHJjbXAocGNs YXNzLCAiR1BUIikgJiYNCisJICAgIHN0cmNtcChwY2xhc3MsICJNQlIiKSAm Jg0KKwkgICAgc3RyY21wKHBjbGFzcywgIlBDOTgiKSAmJg0KKwkgICAgc3Ry Y21wKHBjbGFzcywgIlNVTiIpKSB7DQorCQlyZXR1cm4gKE5VTEwpOw0KKwl9 DQorCS8qIERvbid0IGF0dGFjaCB0byBzbGljZSAyIGluIHN1bmxhYmVscyAq Lw0KKwlpZiAoIXN0cmNtcChwY2xhc3MsICJTVU4iKSAmJiBwcC0+aW5kZXgg PT0gMikgew0KKwkJcmV0dXJuIChOVUxMKTsNCisJfQ0KKwkvKiBEb24ndCBh dHRhY2ggdG8gbm9uLTQuMkJTRCBwYXJ0aXRpb25zIGluIGJzZGxhYmVscyAq Lw0KKwlpZiAoIXN0cmNtcChwY2xhc3MsICJCU0QiKSkgew0KKwkJc3RydWN0 IGdfYnNkX3NvZnRjICptczsNCisJCXN0cnVjdCBnX3NsaWNlciAqZ3NwOw0K KwkJdV9pbnQ4X3QgdHlwZTsNCisNCisJCWdzcCA9IHBwLT5nZW9tLT5zb2Z0 YzsNCisJCW1zID0gZ3NwLT5zb2Z0YzsNCisJCXR5cGUgPSBtcy0+b25kaXNr LmRfcGFydGl0aW9uc1twcC0+aW5kZXhdLnBfZnN0eXBlOw0KKwkJaWYgKHR5 cGUgIT0gRlNfQlNERkZTKSB7DQorCQkJcmV0dXJuIChOVUxMKTsNCisJCX0N CisJfQ0KKwkvKiBEb24ndCBhdHRhY2ggdG8gcHJvdmlkZXJzIHRoYXQgaGF2 ZSBjb25zdW1lcnMgb2YNCisJICogdHlwZXMgb3RoZXIgdGhhbiAiREVWIiBh dHRhY2hlZCB0byB0aGVtICovDQorCUxJU1RfRk9SRUFDSCh0cCwgJnBwLT5j b25zdW1lcnMsIGNvbnN1bWVycykgew0KKwkJY29uc3QgY2hhciAqbmFtZSA9 IHRwLT5nZW9tLT5jbGFzcy0+bmFtZTsNCisNCisJCWlmIChzdHJjbXAobmFt ZSwgVk9MX0ZGU19DTEFTU19OQU1FKSAmJg0KKwkJICAgIHN0cmNtcChuYW1l LCAiREVWIikpIHsNCisJCQlyZXR1cm4gKE5VTEwpOw0KKwkJCWNvbnRpbnVl Ow0KKwkJfQ0KKwl9DQogCWdfdG9wb2xvZ3lfdW5sb2NrKCk7DQogCS8qDQog CSAqIFdhbGsgdGhyb3VnaCB0aGUgc3RhbmRhcmQgcGxhY2VzIHRoYXQgc3Vw ZXJibG9ja3MgaGlkZSBhbmQgbG9vaw0KIAkgKiBmb3IgVUZTIG1hZ2ljLiBJ ZiB3ZSBmaW5kIG1hZ2ljLCB0aGVuIGNoZWNrIHRoYXQgdGhlIHNpemUgaW4g dGhlDQotCSAqIHN1cGVyYmxvY2sgY29ycmVzcG9uZHMgdG8gdGhlIHNpemUg b2YgdGhlIHVuZGVybHlpbmcgcHJvdmlkZXIuDQorCSAqIHN1cGVyYmxvY2sg ZG9lcyBub3QgZXhjZWVkIHRoZSBzaXplIG9mIHRoZSB1bmRlcmx5aW5nIHBy b3ZpZGVyLg0KIAkgKiBGaW5hbGx5LCBsb29rIGZvciBhIHZvbHVtZSBsYWJl bCBhbmQgY3JlYXRlIGFuIGFwcHJvcHJpYXRlIA0KIAkgKiBwcm92aWRlciBi YXNlZCBvbiB0aGF0Lg0KIAkgKi8NCkBAIC05MywxNCArMTQ1LDEyIEBADQog CQkJY29udGludWU7DQogCQkvKiBDaGVjayBmb3IgbWFnaWMgYW5kIG1ha2Ug c3VyZSB0aGluZ3MgYXJlIHRoZSByaWdodCBzaXplICovDQogCQlpZiAoZnMt PmZzX21hZ2ljID09IEZTX1VGUzFfTUFHSUMpIHsNCi0JCQlpZiAoZnMtPmZz X29sZF9zaXplICogZnMtPmZzX2ZzaXplICE9DQotCQkJICAgIChpbnQzMl90 KSBwcC0+bWVkaWFzaXplKSB7DQorCQkJaWYgKGZzLT5mc19vbGRfc2l6ZSAq IGZzLT5mc19mc2l6ZSA+IHBwLT5tZWRpYXNpemUpIHsNCiAJCQkJZ19mcmVl KGZzKTsNCiAJCQkJY29udGludWU7DQogCQkJfQ0KIAkJfSBlbHNlIGlmIChm cy0+ZnNfbWFnaWMgPT0gRlNfVUZTMl9NQUdJQykgew0KLQkJCWlmIChmcy0+ ZnNfc2l6ZSAqIGZzLT5mc19mc2l6ZSAhPQ0KLQkJCSAgICAoaW50NjRfdCkg cHAtPm1lZGlhc2l6ZSkgew0KKwkJCWlmIChmcy0+ZnNfc2l6ZSAqIGZzLT5m c19mc2l6ZSA+IHBwLT5tZWRpYXNpemUpIHsNCiAJCQkJZ19mcmVlKGZzKTsN CiAJCQkJY29udGludWU7DQogCQkJfQ0K ---559023410-959030623-1055188597=:10855--