|
From: Miklos S. <mi...@sz...> - 2011-10-21 13:38:17
|
Sune Ahlgren <sun...@ho...> writes:
> Hi,
> I've developed a monitoring file system which just passes commands through to the file system of an SD card over which it has been mounted. It works, but only if I take the following actions:
> 1)Unmount the 'original' SD card file system.
> 2)Mount my FUSE implementation using the same mount point
> If I don't unmount in step 1 I get:
> FUSE library version: 2.8.6nullpath_ok: 0unique: 1, opcode: INIT (26), nodeid: 0, insize: 56INIT: 7.14flags=0x0000007bmax_readahead=0x00020000 INIT: 7.12 flags=0x00000011 max_readahead=0x00020000 max_write=0x00020000 unique: 1, success, outsize: 40unique: 2, opcode: GETATTR (3), nodeid: 1, insize: 56getattr /DEBUG [2627] filemon_getattr() - lstat() - path: '/etc/tmpdir_for_mount_test/' unique: 2, success, outsize: 120unique: 3, opcode: FORGET (2), nodeid: 1, insize: 48FORGET 1/1
> and my FUSE daemon exits after a few seconds.
> Before doing any of the steps above I make:mount -o bind /var/spool/storage/SD_DISK /etc/tmpdir_for_mount_test
> and '/etc/tmpdir_for_mount_test' is the directory FUSE is using to access the underlying file system.
> The debug printout from above is generated from this function:
> static intfilemon_getattr(const char* path, struct stat* stbuf){ char path_buf[LOG_MSG_LEN];
> filemon_dbg(__FUNCTION__, "lstat", path, NULL); sprintf(path_buf, "/etc/tmpdir_for_mount_test%s", path);
> if (lstat(path_buf, stbuf)) { if (errno != ENOENT) { filemon_log("lstat", path, NULL); } return -errno; }
> return 0;}
> Is an application unmounting the filesystem behind my back or what
> does the debug printout from FUSE mean?
I might be able to tell if the mail wasn't garbled so much.
Please resend as plain text (turn off rich formatting/HTML) and
hopefully the above won't happen.
Thanks,
Miklos
|