(unknown)

"Isaac Saldana" <[email protected]> Tue, 25 Mar 2003 18:06:41 -0800
Newsgroups gmane.mail.procmail.devel,gmane.mail.procmail
Message-ID <[email protected]>
This is a multi-part message in MIME format.

------=_NextPart_000_01F2_01C2F2F9.4CC802B0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

When procmail delivers the mail to a maildir on the users home on NFS
and if such user is over his/her quota, somehow procmail thinks the user
is still under quota since write() returns successfully.  The reason for
this is that sometimes the information gets cached and gets written
after write() has already returned.  To fix this in Solaris you can
modify open() to use the O_SYNC bit.  Somehow this does not work under
Linux the way it should.  To fix this I had to add fsync() right after a
write().  I have written a patch for it so that it behaves well.  I also
I modified it so that it wont deliver the mail to an alternate location.
You can find the patch here
http://www.ee.ucr.edu/~isaldana/procmail/quotas.html

 

 

--

Isaac Saldana
Systems Administrator
Electrical Engineering Dept., UCR

 


------=_NextPart_000_01F2_01C2F2F9.4CC802B0
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">


<meta name=3DGenerator content=3D"Microsoft Word 10 (filtered)">

<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{font-family:Arial;
	color:windowtext;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New Roman"><span =
style=3D'font-size:
12.0pt'>When procmail delivers the mail to a maildir on the users home =
on NFS
and if such user is over his/her quota, somehow procmail thinks the user =
is
still under quota since write() returns successfully. &nbsp;The reason =
for this
is that sometimes the information gets cached and gets written after =
write()
has already returned. &nbsp;To fix this in Solaris you can modify open() =
to use
the O_SYNC bit. &nbsp;Somehow this does not work under Linux the way it =
should.
&nbsp;To fix this I had to add fsync() right after a write(). &nbsp;I =
have
written a patch for it so that it behaves well. &nbsp;I also I modified =
it so that
it wont deliver the mail to an alternate location. &nbsp;You can find =
the patch here
<a =
href=3D"http://www.ee.ucr.edu/~isaldana/procmail/quotas.html">http://www.=
ee.ucr.edu/~isaldana/procmail/quotas.html</a></span></font></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New =
Roman">&nbsp;</font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>--</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Isaac Saldana<br>
Systems Administrator<br>
Electrical Engineering Dept., UCR</span></font></p>

<p class=3DMsoNormal><font size=3D3 face=3D"Times New =
Roman">&nbsp;</font></p>

</div>

</body>

</html>

------=_NextPart_000_01F2_01C2F2F9.4CC802B0--