From: Preeti G. <pre...@gm...> - 2013-03-11 18:04:55
|
Hello, I need to make certain changes in how Fuse stores and reads files/directories. So I am trying to understand the flow. I setup xmp sample file system I got on the internet and added print statements and did 'touch l.txt' which is not existing. Now in the log I see it called getattr ( which said no such file exists. )and then goes to init ( defined in Fuse File class) with the data create[149020332] flags: 0x8841 /l.txt and then fgetattr and finally calls flush, lock, flush again and lock again and then release. Who is writing the file to the disk? Is it init function writing file to the disk? I thought init is just for initial setup if I need to do and shouldn't it be calling mknod here? I have print statements in all the methods but its not calling them. unique: 295, opcode: LOOKUP (1), nodeid: 1, insize: 46, pid: 3155 LOOKUP /l.txt getattr /l.txt unique: 295, error: -2 (No such file or directory), outsize: 16 unique: 296, opcode: CREATE (35), nodeid: 1, insize: 62, pid: 3155 create flags: 0x8841 /l.txt 0100664 umask=0002 ************ inside file init create[149020332] flags: 0x8841 /l.txt fgetattr[149020332] /l.txt ********************* inside file fgetattr NODEID: 13 unique: 296, success, outsize: 160 unique: 297, opcode: FLUSH (25), nodeid: 13, insize: 64, pid: 3155 flush[149020332] ********************* inside file flush ******************* inside file flush lock[149020332] F_SETLK F_UNLCK start: 0 len: 0 pid: 0 ********************* inside file lock unique: 297, success, outsize: 16 unique: 298, opcode: SETATTR (4), nodeid: 13, insize: 128, pid: 3155 utime /l.txt 1363022904 1363022904 getattr /l.txt unique: 298, success, outsize: 120 unique: 299, opcode: FLUSH (25), nodeid: 13, insize: 64, pid: 3155 flush[149020332] ********************* inside file flush ******************* inside file flush lock[149020332] F_SETLK F_UNLCK start: 0 len: 0 pid: 0 ********************* inside file lock unique: 299, success, outsize: 16 unique: 300, opcode: RELEASE (18), nodeid: 13, insize: 64, pid: 0 release[149020332] flags: 0x8801 ***************** inside file release unique: 300, success, outsize: 16 -preeti |