Date: Mon, 3 May 2004 17:59:57 +0900 From: Norikatsu Shigemura <nork@FreeBSD.org> To: freebsd-geom@FreeBSD.org Subject: Re: new GEOM feature - geom_vol_msdosfs Message-ID: <20040503175957.68c07042.nork@FreeBSD.org> In-Reply-To: <20040503175810.62d3f0fb.nork@FreeBSD.org> References: <20040503175810.62d3f0fb.nork@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --Multipart=_Mon__3_May_2004_17_59_57_+0900_UZkFKnY6AV1vjjU+ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 3 May 2004 17:58:10 +0900 Norikatsu Shigemura <nork@freebsd.org> wrote: > I made a geom_vol_msdosfs GEOM module. It provides a feature Oops, I forgot to attach a patch file. --Multipart=_Mon__3_May_2004_17_59_57_+0900_UZkFKnY6AV1vjjU+ Content-Type: application/octet-stream; name="geom_vol_msdosfs.diff" Content-Disposition: attachment; filename="geom_vol_msdosfs.diff" Content-Transfer-Encoding: base64 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CihjZCAvdXNyL3Ny YyAmJiBwYXRjaCAtcDYpIDwgZ2VvbV92b2xfbXNkb3Nmcy5kaWZmCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gLy9kZXBvdC92ZW5kb3IvZnJlZWJzZC9z cmMvc3lzL2NvbmYvTk9URVMJMjAwNC8wNC8zMCAxNDoyMDo0OAorKysgLy9kZXBvdC91c2VyL25v cmsvbm9ya19tb2JpbGUvc3lzL2NvbmYvTk9URVMJMjAwNC8wNS8wMyAwMTowOTo0NwpAQCAtMTI2 LDcgKzEyNiw3IEBACiBvcHRpb25zIAlHRU9NX01CUgkJIyBET1MvTUJSIHBhcnRpdGlvbmluZwog b3B0aW9ucyAJR0VPTV9QQzk4CQkjIE5FQyBQQzk4MDAgcGFydGl0aW9uaW5nCiBvcHRpb25zIAlH RU9NX1NVTkxBQkVMCQkjIFN1bi9Tb2xhcmlzIHBhcnRpdGlvbmluZwotb3B0aW9ucyAJR0VPTV9W T0wJCSMgVm9sdW1lIG5hbWVzIGZyb20gVUZTIHN1cGVyYmxvY2sKK29wdGlvbnMgCUdFT01fVk9M CQkjIFVGUy9NUy1ET1NGUyB2b2x1bWUgbmFtZXMKIAogIwogIyBUaGUgcm9vdCBkZXZpY2UgYW5k IGZpbGVzeXN0ZW0gdHlwZSBjYW4gYmUgY29tcGlsZWQgaW47Ci0tLSAvL2RlcG90L3ZlbmRvci9m cmVlYnNkL3NyYy9zeXMvY29uZi9maWxlcwkyMDA0LzA1LzAxIDIyOjI1OjMyCisrKyAvL2RlcG90 L3VzZXIvbm9yay9ub3JrX21vYmlsZS9zeXMvY29uZi9maWxlcwkyMDA0LzA1LzAzIDAxOjA5OjQ3 CkBAIC05NDIsNiArOTQyLDcgQEAKIGdlb20vZ2VvbV9zdW5sYWJlbC5jCW9wdGlvbmFsIGdlb21f c3VubGFiZWwKIGdlb20vZ2VvbV9zdW5sYWJlbF9lbmMuYwlvcHRpb25hbCBnZW9tX3N1bmxhYmVs CiBnZW9tL2dlb21fdm9sX2Zmcy5jCW9wdGlvbmFsIGdlb21fdm9sCitnZW9tL2dlb21fdm9sX21z ZG9zZnMuYwlvcHRpb25hbCBnZW9tX3ZvbAogZ251L2V4dDJmcy9leHQyX2FsbG9jLmMJCW9wdGlv bmFsIGV4dDJmcyBcCiAJd2FybmluZyAia2VybmVsIGNvbnRhaW5zIEdQTCBjb250YW1pbmF0ZWQg ZXh0MmZzIGZpbGVzeXN0ZW0iCiBnbnUvZXh0MmZzL2V4dDJfYmFsbG9jLmMJb3B0aW9uYWwgZXh0 MmZzCi0tLSAvL2RlcG90L3ZlbmRvci9mcmVlYnNkL3NyYy9zeXMvbW9kdWxlcy9nZW9tL01ha2Vm aWxlCTIwMDQvMDIvMjMgMTI6MDU6MzEKKysrIC8vZGVwb3QvdXNlci9ub3JrL25vcmtfbW9iaWxl L3N5cy9tb2R1bGVzL2dlb20vTWFrZWZpbGUJMjAwNC8wNS8wMSAxMjo0NzowNwpAQCAtMTEsNSAr MTEsNiBAQAogCWdlb21fcGM5OCBcCiAJZ2VvbV9zdW5sYWJlbCBcCiAJZ2VvbV92b2xfZmZzCitT VUJESVIrPWdlb21fdm9sX21zZG9zZnMKIAogLmluY2x1ZGUgPGJzZC5zdWJkaXIubWs+Ci0tLSAv ZGV2L251bGwJTW9uIE1heSAgMyAxNzoxMTowMCAyMDA0CisrKyAvL2RlcG90L3VzZXIvbm9yay9u b3JrX21vYmlsZS9zeXMvZ2VvbS9nZW9tX3ZvbF9tc2Rvc2ZzLmMJTW9uIE1heSAgMyAxNjo1OToy MyAyMDA0CkBAIC0wLDAgKzEsMTkzIEBACisvKi0KKyAqIENvcHlyaWdodCAoYykgMjAwMiwgMjAw MyBHb3Jkb24gVGV0bG93CisgKiBDb3B5cmlnaHQgKGMpIDIwMDQsIE5vcmlrYXRzdSBTaGlnZW11 cmEKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS RSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO RAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlN RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC TEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklD RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ T04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9G IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ TElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgor X19GQlNESUQoIiRGcmVlQlNEJCIpOworCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVk ZSA8c3lzL2Vycm5vLmg+CisjaW5jbHVkZSA8c3lzL3N5c3RtLmg+CisjaW5jbHVkZSA8c3lzL2tl cm5lbC5oPgorI2luY2x1ZGUgPHN5cy9tYWxsb2MuaD4KKyNpbmNsdWRlIDxzeXMvYmlvLmg+Cisj aW5jbHVkZSA8c3lzL2xvY2suaD4KKyNpbmNsdWRlIDxzeXMvbXV0ZXguaD4KKworI2luY2x1ZGUg PGZzL21zZG9zZnMvYnBiLmg+CisjaW5jbHVkZSA8ZnMvbXNkb3Nmcy9ib290c2VjdC5oPgorI2lu Y2x1ZGUgPGZzL21zZG9zZnMvZGlyZW50cnkuaD4KKworI2luY2x1ZGUgPGdlb20vZ2VvbS5oPgor I2luY2x1ZGUgPGdlb20vZ2VvbV9zbGljZS5oPgorCisjZGVmaW5lIFZPTF9NU0RPU0ZTX0NMQVNT X05BTUUgIlZPTF9NU0RPU0ZTIgorI2RlZmluZSBOT19OQU1FICJOTyBOQU1FICAgICIKKworc3Ry dWN0IGdfdm9sX21zZG9zZnNfc29mdGMgeworCWNoYXIgKgl2b2w7Cit9OworCitzdGF0aWMgaW50 CitnX3ZvbF9tc2Rvc2ZzX3N0YXJ0KHN0cnVjdCBiaW8gKmJwIF9fdW51c2VkKQoreworCXJldHVy bigwKTsKK30KKworc3RhdGljIHN0cnVjdCBnX2dlb20gKgorZ192b2xfbXNkb3Nmc190YXN0ZShz dHJ1Y3QgZ19jbGFzcyAqbXAsIHN0cnVjdCBnX3Byb3ZpZGVyICpwcCwgaW50IGZsYWdzKQorewor CXN0cnVjdCBnX2dlb20gKmdwOworCXN0cnVjdCBnX2NvbnN1bWVyICpjcDsKKwlzdHJ1Y3QgZ192 b2xfbXNkb3Nmc19zb2Z0YyAqbXM7CisJaW50IGksIGosIGVycm9yOworCW9mZl90IG1lZGlhc2l6 ZTsKKwl1X2ludCBzZWN0b3JzaXplOworCXN0cnVjdCBieXRlX2JwYjUwICpiNTA7CisJdW5pb24g Ym9vdHNlY3RvciAqYnNwOworCXN0cnVjdCBleHRib290ICpleHQ7CisJY2hhciAqdm9sLCBidWZb MTJdOworCisJZ190cmFjZShHX1RfVE9QT0xPR1ksICJ2b2xfdGFzdGUoJXMsJXMpIiwgbXAtPm5h bWUsIHBwLT5uYW1lKTsKKwlnX3RvcG9sb2d5X2Fzc2VydCgpOworCisJLyogCisJICogWFhYIFRo aXMgaXMgYSByZWFsbHkgd2VhayB3YXkgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHJlY3Vyc2UuCisJ ICogUHJvYmFibHkgb3VnaHQgdG8gdXNlIEJJT19HRVRBVFRSIHRvIGNoZWNrIGZvciB0aGlzLgor CSAqLworCWlmIChmbGFncyA9PSBHX1RGX05PUk1BTCAmJgorCSAgICAhc3RyY21wKHBwLT5nZW9t LT5jbGFzcy0+bmFtZSwgVk9MX01TRE9TRlNfQ0xBU1NfTkFNRSkpCisJCXJldHVybiAoTlVMTCk7 CisKKwlncCA9IGdfc2xpY2VfbmV3KG1wLCAxLCBwcCwgJmNwLCAmbXMsIHNpemVvZigqbXMpLCBn X3ZvbF9tc2Rvc2ZzX3N0YXJ0KTsKKwlpZiAoZ3AgPT0gTlVMTCkKKwkJcmV0dXJuIChOVUxMKTsK KworCWdfdG9wb2xvZ3lfdW5sb2NrKCk7CisKKwlic3AgPSAodW5pb24gYm9vdHNlY3RvciAqKSBn X3JlYWRfZGF0YShjcCwgMCwgMjA0OCwgJmVycm9yKTsKKwlpZiAoYnNwID09IE5VTEwgfHwgZXJy b3IgIT0gMCkgeworCQlnX2ZyZWUoYnNwKTsKKwkJZ290byBnX3ZvbF9tc2Rvc2ZzX2V4aXQ7CisJ fQorCisjZGVmaW5lIE1TRE9TRlNfTk9DSEVDS1NJRworI2lmbmRlZiBNU0RPU0ZTX05PQ0hFQ0tT SUcKKwlpZiAoYnNwLT5iczUwLmJzQm9vdFNlY3RTaWcwICE9IEJPT1RTSUcwCisJICAgIHx8IGJz cC0+YnM1MC5ic0Jvb3RTZWN0U2lnMSAhPSBCT09UU0lHMSkgeworCQlnX2ZyZWUoYnNwKTsKKwkJ Z290byBnX3ZvbF9tc2Rvc2ZzX2V4aXQ7CisJfQorI2VuZGlmCisKKwliNTAgPSAoc3RydWN0IGJ5 dGVfYnBiNTAgKikgYnNwLT5iczUwLmJzQlBCOworCisJc2VjdG9yc2l6ZSA9IGdldHVzaG9ydChi NTAtPmJwYkJ5dGVzUGVyU2VjKTsKKwlpZiAoc2VjdG9yc2l6ZSAhPSAgNTEyICYmIHNlY3RvcnNp emUgIT0gMTAyNAorCSAmJiBzZWN0b3JzaXplICE9IDIwNDggJiYgc2VjdG9yc2l6ZSAhPSA0MDk2 KSB7CisJCWdfZnJlZShic3ApOworCQlnb3RvIGdfdm9sX21zZG9zZnNfZXhpdDsKKwl9CisKKwlt ZWRpYXNpemUgID0gZ2V0dXNob3J0KGI1MC0+YnBiU2VjdG9ycykgKiBzZWN0b3JzaXplOworCWlm IChtZWRpYXNpemUgPT0gMCkKKwkJbWVkaWFzaXplICA9IGdldHVsb25nKGI1MC0+YnBiSHVnZVNl Y3RvcnMpICogc2VjdG9yc2l6ZTsKKwlpZiAobWVkaWFzaXplID09IDApIHsKKwkJZ19mcmVlKGJz cCk7CisJCWdvdG8gZ192b2xfbXNkb3Nmc19leGl0OworCX0KKworCWlmIChtZWRpYXNpemUgPiAw eGZmZmZmZmZmIC8gc2l6ZW9mKHN0cnVjdCBkaXJlbnRyeSkgKyBzZWN0b3JzaXplKSB7CisJCWdf ZnJlZShic3ApOworCQlnb3RvIGdfdm9sX21zZG9zZnNfZXhpdDsKKwl9CisKKwlleHQgPSAoc3Ry dWN0IGV4dGJvb3QgKikgYnNwLT5iczUwLmJzRXh0OworCWlmIChleHQtPmV4Qm9vdFNpZ25hdHVy ZSAhPSBFWEJPT1RTSUcpIHsKKwkJZ19mcmVlKGJzcCk7CisJCWdvdG8gZ192b2xfbXNkb3Nmc19l eGl0OworCX0KKworCXZvbCA9IChjaGFyICopIGV4dC0+ZXhWb2x1bWVMYWJlbDsKKwlpZiAoIWJj bXAodm9sLCBOT19OQU1FLCBzaXplb2YoTk9fTkFNRSkgLSAxKSkgeworCQlnX2ZyZWUoYnNwKTsK KwkJZ290byBnX3ZvbF9tc2Rvc2ZzX2V4aXQ7CisJfQorCisJZm9yIChpID0gMCwgaiA9IDA7IGkg PCBzaXplb2YoYnVmKSAtIDE7IGkrKykgeworCQlpZiAodm9sW2ldICE9ICcgJykgeworCQkJYnVm W2orK10gPSB2b2xbaV07CisJCX0KKwl9CisJYnVmW2pdID0gJ1wwJzsKKworCS8qIENoZWNrIGZv ciB2b2x1bWUgbGFiZWwgKi8KKwlpZiAoYnVmWzBdID09ICdcMCcpIHsKKwkJZ19mcmVlKGJzcCk7 CisJCWdvdG8gZ192b2xfbXNkb3Nmc19leGl0OworCX0KKy8qCitwcmludGYoImdfdm9sX21zZG9z ZnM6IHZvbD0nJXMnLCBzZWM9JXUsIG1lZGlhPSVsdSgldSwgJWx1KVxuIiwgYnVmLCAodW5zaWdu ZWQpc2VjdG9yc2l6ZSwgKHVuc2lnbmVkIGxvbmcpbWVkaWFzaXplLCAodW5zaWduZWQpZ2V0dXNo b3J0KGI1MC0+YnBiU2VjdG9ycyksICh1bnNpZ25lZCBsb25nKWdldHVsb25nKGI1MC0+YnBiSHVn ZVNlY3RvcnMpKTsKK2dfZnJlZShic3ApOworZ290byBnX3ZvbF9tc2Rvc2ZzX2V4aXQ7CisqLwor CS8qIFhYWCBXZSBuZWVkIHRvIGNoZWNrIGZvciBuYW1lc3BhY2UgY29uZmxpY3RzLiAqLworCS8q IFhYWCBIb3cgZG8geW91IGhhbmRsZSBhIG1pcnJvciBzZXQ/ICovCisJLyogWFhYIFdlIGRvbid0 IHZhbGlkYXRlIHRoZSB2b2x1bWUgbmFtZS4gKi8KKwlnX3RvcG9sb2d5X2xvY2soKTsKKwkvKiBB bHJpZ2h0LCB3ZSBoYXZlIGEgbGFiZWwgYW5kIGEgdm9sdW1lIG5hbWUsIHJlY29uZmlnLiAqLwor CWdfc2xpY2VfY29uZmlnKGdwLCAwLCBHX1NMSUNFX0NPTkZJR19TRVQsCisJCQkob2ZmX3QpIDAs IG1lZGlhc2l6ZSwgc2VjdG9yc2l6ZSwgInZvbC8lcyIsIGJ1Zik7CisJZ19mcmVlKGJzcCk7CisJ Z190b3BvbG9neV91bmxvY2soKTsKKworZ192b2xfbXNkb3Nmc19leGl0OgorCWdfdG9wb2xvZ3lf bG9jaygpOworCWdfYWNjZXNzKGNwLCAtMSwgMCwgMCk7CisJaWYgKExJU1RfRU1QVFkoJmdwLT5w cm92aWRlcikpIHsKKwkJZ19zbGljZV9zcG9pbGVkKGNwKTsKKwkJcmV0dXJuIChOVUxMKTsKKwl9 CisJcmV0dXJuIChncCk7Cit9CisKK3N0YXRpYyBpbnQKK2dfdm9sX21zZG9zZnNfZGVzdHJveV9n ZW9tKHN0cnVjdCBnY3RsX3JlcSAqcmVxIF9fdW51c2VkLCBzdHJ1Y3QgZ19jbGFzcyAqbXAgX191 bnVzZWQsIHN0cnVjdCBnX2dlb20gKmdwKQoreworCWdfdG9wb2xvZ3lfYXNzZXJ0KCk7CisJZ19m cmVlKGdwLT5zb2Z0Yyk7CisJZ3AtPnNvZnRjID0gTlVMTDsKKwlnX3dpdGhlcl9nZW9tKGdwLCBF TlhJTyk7CisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIHN0cnVjdCBnX2NsYXNzIGdfdm9sX21z ZG9zZnNfY2xhc3MgPSB7CisJLm5hbWUgPSBWT0xfTVNET1NGU19DTEFTU19OQU1FLAorCS50YXN0 ZSA9IGdfdm9sX21zZG9zZnNfdGFzdGUsCisvKgkuZGVzdHJveV9nZW9tID0gZ192b2xfbXNkb3Nm c19kZXN0cm95X2dlb20sCSovCit9OworCitERUNMQVJFX0dFT01fQ0xBU1MoZ192b2xfbXNkb3Nm c19jbGFzcywgZ192b2xfbXNkb3Nmcyk7Ci0tLSAvZGV2L251bGwJTW9uIE1heSAgMyAxNzoxMTow MCAyMDA0CisrKyAvL2RlcG90L3VzZXIvbm9yay9ub3JrX21vYmlsZS9zeXMvbW9kdWxlcy9nZW9t L2dlb21fdm9sX21zZG9zZnMvTWFrZWZpbGUJTW9uIE1heSAgMyAxNjo1OToyMyAyMDA0CkBAIC0w LDAgKzEsOCBAQAorIyAkRnJlZUJTRCQKKworLlBBVEg6ICR7LkNVUkRJUn0vLi4vLi4vLi4vZ2Vv bQorCitLTU9EPQlnZW9tX3ZvbF9tc2Rvc2ZzCitTUkNTPQlnZW9tX3ZvbF9tc2Rvc2ZzLmMKKwor LmluY2x1ZGUgPGJzZC5rbW9kLm1rPgo= --Multipart=_Mon__3_May_2004_17_59_57_+0900_UZkFKnY6AV1vjjU+--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040503175957.68c07042.nork>