Hi, i want to update a little bit on my problem. after some work, right now my local fs on OSD can works with ceph (at least pass through the init-ceph script). i made a minor change on ceph code, i changed the link_object() in LFNIndex.cc, basically i changed the hard link call ::link() to symlink(), as my local fs does not support hard link (the directory entry stores together with the related inodes). when i mount the client on ceph, it is fine. and the ceph -s shows at least 50% degraded, although in HEALTH_WARN state, some pgs still work. i can manually create files and write them on the mount path (by vim and edit them). when i try to run some benchmarks, such as iozone and fio. it fails with the following information: 2013-02-08 10:16:44.433532 7f692c55a700 0 -- 165.91.215.237:6801/7231 >> 165.91.215.237:0/1395168951 pipe(0x2b9c240 sd=57 :6801 pgs=0 cs=0 l=0).accept peer addr is really 165.91.215.237:0/1395168951 (socket is 165.91.215.237:60388/0) 2013-02-08 10:20:22.488334 7f692c55a700 0 -- 165.91.215.237:6801/7231 >> 165.91.215.237:0/1395168951 pipe(0x2b9c000 sd=57 :6801 pgs=0 cs=0 l=0).accept peer addr is really 165.91.215.237:0/1395168951 (socket is 165.91.215.237:60413/0) 2013-02-08 10:20:22.564453 7f6937873700 -1 *** Caught signal (Segmentation fault) ** in thread 7f6937873700 is there any suggestions? Thanks, Sheng On Thu, Feb 7, 2013 at 4:40 PM, sheng qiu <herbert1984106@xxxxxxxxx> wrote: > i see. it only support readonly mmap. i will figure it out. > > Thanks a lot. > > Sheng > > On Thu, Feb 7, 2013 at 4:21 PM, Dan Mick <dan.mick@xxxxxxxxxxx> wrote: >> leveldb is required. What filesystem are you using that doesn't support >> mmap? >> >> >> On 02/07/2013 02:11 PM, sheng qiu wrote: >>> >>> Is it possible comment the leveldb setup codes during mkfs call path? >>> i find the problem is because i am trying to use a bunch of memory as >>> the OSD, when the leveldb mmap() the file on OSD, it failed, as the >>> file actually located on memory. >>> >>> Thanks, >>> Sheng >>> >>> On Thu, Feb 7, 2013 at 2:53 PM, Gregory Farnum <greg@xxxxxxxxxxx> wrote: >>>> >>>> On Thu, Feb 7, 2013 at 12:42 PM, sheng qiu <herbert1984106@xxxxxxxxx> >>>> wrote: >>>>> >>>>> Hi Dan, >>>>> >>>>> thanks for your reply. >>>>> >>>>> after some code tracking, i found it failed at this point : >>>>> in file leveldb/db/db_impl.cc --> NewDB() >>>>> >>>>> log::Writer log(file); >>>>> std::string record; >>>>> new_db.EncodeTo(&record); >>>>> s = log.AddRecord(record); >>>>> if (s.ok()) { >>>>> fprintf(test, "NewDB: 2\n"); >>>>> s = file->Close(); >>>>> }else >>>>> fprintf(test, "NewDB: 2.5\n"); >>>>> >>>>> the log.AddRecord return s which is not ok(). >>>>> >>>>> can you provide some hint why it fails? i am reading the AddRecord() >>>>> function now. >>>> >>>> >>>> LevelDB is a generic library which we don't develop. My understanding >>>> is that it's expected to work on any POSIX-compliant filesystem, but >>>> you can check out the docs >>>> (http://leveldb.googlecode.com/svn/trunk/doc/index.html) or source >>>> code for more info. >>>> -Greg >>> >>> >>> >>> >> > > > > -- > Sheng Qiu > Texas A & M University > Room 332B Wisenbaker > email: herbert1984106@xxxxxxxxx > College Station, TX 77843-3259 -- Sheng Qiu Texas A & M University Room 332B Wisenbaker email: herbert1984106@xxxxxxxxx College Station, TX 77843-3259 -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html