[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#268758: Renaming a large (maildir) mailbox is slow



tag 268758 unreproducible moreinfo
quit

* Daniel Burrows [Sat, 28 Aug 2004 19:29:49 -0400]:

>   It appears that kmail renames a mailbox by creating a new mailbox,
> then moving each message of the old mailbox to the new mailbox.  I say
> this because renaming a somewhat large mailbox (containing about 4000
> messages) takes around a minute of hard drive thrashing on my computer.

>   Since the messages are just files in the filesystem, I suggest that it
> would be worthwhile for kmail to avail itself of the rename(2) system
> call, and to use it on the mailbox directory (ie: don't move every
> message file individually!).

  hi Daniel, I can't reproduce. I rename a big maildir folder and it
  happens immediately, plus the strace shows this:

    rename("/home/adeodato/Mail/devel22", "/home/adeodato/Mail/devel33") = 0
    rename("/home/adeodato/Mail/.devel22.index", "/home/adeodato/Mail/.devel33.index") = 0
    rename("/home/adeodato/Mail/.devel22.index.sorted", "/home/adeodato/Mail/.devel33.index.sorted") = 0
    rename("/home/adeodato/Mail/.devel22.index.ids", "/home/adeodato/Mail/.devel33.index.ids") = 0
    rename("/home/adeodato/Mail/.devel22.directory", "/home/adeodato/Mail/.devel33.directory") = -1 ENOENT (No such file or directory)

    access("/home/adeodato/Mail/devel33", R_OK|W_OK|X_OK) = 0
    access("/home/adeodato/Mail/devel33/new", R_OK|W_OK|X_OK) = 0
    access("/home/adeodato/Mail/devel33/cur", R_OK|W_OK|X_OK) = 0
    access("/home/adeodato/Mail/devel33/tmp", R_OK|W_OK|X_OK) = 0
    access("/home/adeodato/Mail/.devel33.index", F_OK) = 0

    lstat64("/home/adeodato/Mail/.devel33.index", {st_mode=S_IFREG|0600, st_size=3689375, ...}) = 0
    lstat64("/home/adeodato/Mail/devel33/new", {st_mode=S_IFDIR|0700, st_size=48, ...}) = 0
    lstat64("/home/adeodato/Mail/devel33/cur", {st_mode=S_IFDIR|0700, st_size=322088, ...}) = 0

    open("/home/adeodato/Mail/.devel33.index", O_RDWR|O_LARGEFILE) = 13

  I have noticed, though, that when I copied that big folder from
  ~/.mail/whatever to ~/Mail, and then opened KMail, it went for a
  minute or so with intense hard drive access (to create the indexes, I
  imagine).

  perhaps you were renaming a folder that lacked those indexes, and thus
  the hard drive activity was the result of this and not of the rename
  action?

  thanks,

-- 
Adeodato Simó
    EM: asp16 [ykwim] alu.ua.es | PK: DA6AE621
 
Hanlon's Razor: Never attribute to malice that which is adequately
explained by stupidity.




Reply to: