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.

Reply via email to