IMAP quota issue
Hello all,
One of our customers contact with me and say that thunderbird has stop to display quota recently.
I setup test environment and see that customer is right. If I go to the properties of Inbox dir and click on the "Quota" tab it show QuotaRoot: "cPanel Account", Usage: 0 of 2560000Kb (this is cPanel account quota).
Dovecot on the server return properly values with doveadm:
doveadm quota get -u
Quota name Type Value Limit %
Mailbox STORAGE 2210 10240 21
Mailbox MESSAGE 1 - 0
cPanel Account STORAGE 1520364 2560000
But if I try to get this via telnet I have incorrect data about quotas:
Customer says that quota works until WHM updated to 11.60 (latest stable version) Server OS: CentOS 7.3 Current WHM version: WHM 60.0 (build 28) I tried to run /scripts/fixquotas but with no luck. Can you help me to fix this?
telnet 143
Trying ...
Connected to .
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a1 LOGIN
a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE NAMESPACE NOTIFY SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in
a2 LIST "" "*"
* LIST (\HasChildren) "." INBOX
* LIST (\HasNoChildren \UnMarked \Archive) "." INBOX.Archive
* LIST (\HasNoChildren \UnMarked \Junk) "." INBOX.spam
* LIST (\HasNoChildren \UnMarked \Trash) "." INBOX.Trash
* LIST (\HasNoChildren \UnMarked \Sent) "." INBOX.Sent
* LIST (\HasNoChildren \UnMarked \Junk) "." INBOX.Junk
* LIST (\HasNoChildren \UnMarked \Drafts) "." INBOX.Drafts
a2 OK List completed (0.000 + 0.000 secs).
a3 GETQUOTAROOT Inbox
* QUOTAROOT Inbox Mailbox "cPanel Account"
* QUOTA Mailbox (STORAGE 2210 10240)
* QUOTA "cPanel Account" (STORAGE 0 2560000)
a3 OK Getquotaroot completed (0.000 + 0.000 secs).
Customer says that quota works until WHM updated to 11.60 (latest stable version) Server OS: CentOS 7.3 Current WHM version: WHM 60.0 (build 28) I tried to run /scripts/fixquotas but with no luck. Can you help me to fix this?
-
Hello, Could you verify if quotas on the cPanel accounts work? For instance, can you run the "quota $username" command and receive accurate results? If so, try rebuilding the maildirsize file for the email accounts under this cPanel user via the following command: /scripts/generate_maildirsize --confirm $username
Thank you.0 -
Hello, Could you verify if quotas on the cPanel accounts work? For instance, can you run the "quota $username" command and receive accurate results? If so, try rebuilding the maildirsize file for the email accounts under this cPanel user via the following command:
/scripts/generate_maildirsize --confirm $username
Thank you.
Thanks for your response, quotas works properly. Output below:quota $username Disk quotas for user $username (uid 1257): Filesystem blocks quota limit grace files quota limit grace /dev/vda1 8 2560000 2560000 6 0 0 /dev/vdb 0 2560000 2560000 1 0 0 /dev/vdf 1566556 2560000 2560000 20542 0 0
/scripts/generate_maildirsize --confirm $username do not generate any errors. Files ~$username/mail/$domain/$account/maildirsize was rebuilded as I can see. Result of doveadm quota get and telnet still the same:doveadm quota get -u Quota name Type Value Limit % Mailbox STORAGE 2210 10240 21 Mailbox MESSAGE 1 - 0 cPanel Account STORAGE 1566572 2560000
telnet:* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready. a1 LOGIN a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE NAMESPACE NOTIFY SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in a2 LIST "" "*" * LIST (\HasChildren) "." INBOX * LIST (\HasNoChildren \UnMarked \Archive) "." INBOX.Archive * LIST (\HasNoChildren \UnMarked \Junk) "." INBOX.spam * LIST (\HasNoChildren \UnMarked \Trash) "." INBOX.Trash * LIST (\HasNoChildren \UnMarked \Sent) "." INBOX.Sent * LIST (\HasNoChildren \UnMarked \Junk) "." INBOX.Junk * LIST (\HasNoChildren \UnMarked \Drafts) "." INBOX.Drafts a2 OK List completed (0.000 + 0.000 secs). a3 GETQUOTAROOT Inbox * QUOTAROOT Inbox Mailbox "cPanel Account" * QUOTA Mailbox (STORAGE 2210 10240) * QUOTA "cPanel Account" (STORAGE 0 2560000) a3 OK Getquotaroot completed (0.000 + 0.000 secs).0 -
Hello, I'm unable to reproduce this issue on a test system running cPanel version 60 (tested with both MDBOX and Maildir): a2 LIST "" "*" * LIST (\HasChildren) "." INBOX * LIST (\HasNoChildren \Trash) "." INBOX.Trash * LIST (\HasNoChildren \Sent) "." INBOX.Sent * LIST (\HasNoChildren \Junk) "." INBOX.Junk * LIST (\HasNoChildren \Drafts) "." INBOX.Drafts * LIST (\HasNoChildren \Junk) "." INBOX.spam * LIST (\HasNoChildren \Archive) "." INBOX.Archive a2 OK List completed (0.000 + 0.000 + 0.001 secs). a3 GETQUOTAROOT Inbox * QUOTAROOT Inbox Mailbox "cPanel Account" * QUOTA Mailbox (STORAGE 3 1048576) * QUOTA "cPanel Account" (STORAGE 391640 512000) a3 OK Getquotaroot completed (0.000 + 0.000 secs).
Could you try changing the quota for the cPanel account, and then changing it back to the original value via "WHM >> Quota Modification" to see if that resets the data? Feel free to open a support ticket if that doesn't help so we can take a closer look. Thank you.0 -
Unfortunately it's doesn't help. Dovecot has detected quota change, but do not calculate user files size. Did you test with clean 60 version? I think issue related to upgrade from 11.58 to 11.60. 0 -
Hello @serdg, Could you open a support ticket using the link in my signature so we can take a closer look? You can post the ticket number here and we can update this thread with the outcome. Thanks! 0 -
Sorry for the long time response. Our security policy do not allow me to grant access cPanel staff to the server. I have digged more and found one thing. Issue can be reproduced on the servers where /usr/local/cpanel and /home not placed on the same partition (or disk maybe). I straced the imap process and see that dovecot check only /usr/local/cpanel disk to check quota epoll_wait(12, {{EPOLLIN, {u32=28765296, u64=28765296}}}, 5, 1788264) = 1 read(7, "a3 getquotaroot inbox\r\n", 8077) = 23 stat("/home2/", {st_mode=S_IFREG|0640, st_size=54, ...}) = 0 fstat(14, {st_mode=S_IFREG|0640, st_size=54, ...}) = 0 stat("/home2/", {st_mode=S_IFREG|0640, st_size=54, ...}) = 0 fstat(14, {st_mode=S_IFREG|0640, st_size=54, ...}) = 0 quotactl(Q_XGETQUOTA|USRQUOTA, "/dev/vdd", 1257, {version=1, flags=XFS_USER_QUOTA, fieldmask=0, id=1257, blk_hardlimit=5120000, blk_softlimit=5120000, ino_hardlimit=0, ino_softlimit=0, bcount=0, icount=0, ...}) = 0 setsockopt(7, SOL_TCP, TCP_CORK, [1], 4) = 0 write(7, "* QUOTAROOT inbox Mailbox \"cPanel Account\"\r\n* QUOTA Mailbox (STORAGE 6584 10240)\r\n* QUOTA \"cPanel Account\" (STORAGE 0 2560000)\r\na3 OK Getquotaroot completed (0.000 + 0.000 secs).\r\n", 180) = 180 setsockopt(7, SOL_TCP, TCP_CORK, [0], 4) = 0
"/dev/vdd" is a separate /usr/local/cpanel, /home2 located on the /dev/vde. I tried to upload some user files on the /dev/vdd and dovecot show used storage via telnet.0 -
Hello, Internal case CPANEL-10883 is open to address an issue where the Dovecot `GETQUOTAROOT Inbox` command deviates from doveadm quota values when accounts are stored on filesystems separate from the root filesystem. I'll update this thread with more information on the status of this case as it becomes available. Thank you. 0 -
Hello, any updates? 0 -
Hello, There's no update to report for internal case CPANEL-10883 at this time. I'll update this thread once more information on the status of this case is available. Thank you. 0
Please sign in to leave a comment.
Comments
9 comments