On Wed, 2011-05-11 at 20:02 +0800, Peter Bell wrote: > >> Possibly more concerning is this message: > >> May 10 23:31:23 imap(peter): Error: > >> link(/mnt/user/Maildir/peter/dovecot.index.log, > >> /mnt/user/Maildir/peter/dovecot.index.log.2) failed: Function not > >> implemented > > > > So apparently your fuse filesystem doesn't support link(). > > That is correct. This system is, essentially, a parity-protected file > server, with logical file space which spans physical devices. However, > the big benefit of the system is that, unlike most RAID configurations, > each physical drive can be mounted individually and the filesystem > (ReiserFS) written/read in isolation. I suspect that, technically, it > would be possible to add link(), but I guess that the conflation of > stand-alone drive/logical spanning makes it a little complex. I will > try starting a discussion on this topic over on the 'other' forum.
One directory's all files are probably in one filesystem, so link() within a single directory should be simple to implement I think? That's all Dovecot needs. > >> I'm not sure exactly what I was doing at the time - probably experimenting > >> with Sieve filters. Has this compromised my maildir? I have already > >> disabled copy with hard links - is there another 'hardlink' setting > >> available? > > > > Nope. I don't remember what all places uses link(), but looks like at least > > copying .log to .log.2 file. It doesn't really matter if it fails though. > > Okay, so I'm guessing that this is simply a rollover log file - one > file, reaching a certain size is renamed [linked], and a new log file > started? Right. Not having a .log.2 mainly affects things like dsync and QRESYNC extension. > When I have a little spare time I may try grepping the Dovecot code. there are link() and nfs_safe_link() calls.
