From mboxrd@z Thu Jan 1 00:00:00 1970 From: Smart Weblications GmbH - Florian Wiessner Subject: ocfs2_link:812 ERROR: status = -2 - Re: Linux 3.17.4 Date: Thu, 27 Nov 2014 17:50:23 +0100 Message-ID: <5477564F.2070908@smart-weblications.de> References: <20141121201253.GA8623@kroah.com> Reply-To: f.wiessner@smart-weblications.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, lizf@kernel.org, joseph.qi@huawei.com, jlbec@evilplan.org, mfasheh@suse.com, lizefan@huawei.com, pieter@boesman.nl, josh@joshtriplett.org, jlbec@evilplan.org To: stable@vger.kernel.org Return-path: Received: from mail.smart-weblications.de ([188.65.144.61]:60735 "EHLO mail.smart-weblications.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751021AbaK0Qtz (ORCPT ); Thu, 27 Nov 2014 11:49:55 -0500 In-Reply-To: <20141121201253.GA8623@kroah.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Am 21.11.2014 21:12, schrieb Greg KH: > I'm announcing the release of the 3.17.4 kernel. >=20 > All users of the 3.17 kernel series must upgrade. >=20 When using ocfs2 on 3.17.4 (i have seen this since 3.14) and mount-bind ocfs2 to a lxc-container, when postfix inside the lxc tries = to write mails to ocfs2 dir using virtual transport, kernel says: [ 3812.352564] (virtual,25186,3):ocfs2_link:812 ERROR: status =3D -2 In 3.12 this did _NOT_ happen. This code (from postfix virtual transport program 'virtual' seems to ca= use the kernel message: newfile =3D concatenate(newdir, STR(buf), (char *) 0); if ((mail_copy_status =3D mail_copy(COPY_ATTR(state.msg_attr), dst, copy_flags, "\n", why)) =3D=3D 0) { if (sane_link(tmpfile, newfile) < 0 && (errno !=3D ENOENT || (make_dirs(curdir, 0700), make_dirs(newdir, 0700= )) < 0 || sane_link(tmpfile, newfile) < 0)) { dsb_simple(why, mbox_dsn(errno, "4.2.0"), "create maildir file %s: %m", newfile); mail_copy_status =3D MAIL_COPY_STAT_WRITE; } } if (unlink(tmpfile) < 0) msg_warn("remove %s: %m", tmpfile); } /* sane_link - sanitize link() error returns */ int sane_link(const char *from, const char *to) { const char *myname =3D "sane_link"; int saved_errno; struct stat from_st; struct stat to_st; /* * Normal case: link() succeeds. */ if (link(from, to) >=3D 0) return (0); /* * Woops. Save errno, and see if the error is an NFS artefact. If it is, * pretend the error never happened. */ saved_errno =3D errno; if (stat(from, &from_st) >=3D 0 && stat(to, &to_st) >=3D 0 && from_st.st_dev =3D=3D to_st.st_dev && from_st.st_ino =3D=3D to_st.st_ino) { msg_info("%s(%s,%s): worked around spurious NFS error", myname, from, to); return (0); } /* * Nope, it didn't. Restore errno and report the error. */ errno =3D saved_errno; return (-1); } This seems like a regression to me since this used to work in 3.12.33 After the error, the mail is in /tmp/ of the mailbox but not moved to t= he /new/ dir. Also, courier-imapd fails to move mails from inbox to subfolders w= ith the same error message, leaving the mails to move in /tmp/ so i suspect sane_link(tempfile, newfile) to have a problem within the current ocfs2= _link(). [ 3337.084292] (imapd,5766,5):ocfs2_link:812 ERROR: status =3D -2 Please help! --=20 Mit freundlichen Gr=FC=DFen, =46lorian Wiessner Smart Weblications GmbH Martinsberger Str. 1 D-95119 Naila fon.: +49 9282 9638 200 fax.: +49 9282 9638 205 24/7: +49 900 144 000 00 - 0,99 EUR/Min* http://www.smart-weblications.de -- Sitz der Gesellschaft: Naila Gesch=E4ftsf=FChrer: Florian Wiessner HRB-Nr.: HRB 3840 Amtsgericht Hof *aus dem dt. Festnetz, ggf. abweichende Preise aus dem Mobilfunknetz -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html