On Sun, Jun 29, 2008 at 01:05:09AM +0100, Hugh Dickins wrote: > LTP's iogen01 doio tests used to hang nicely on 32-bit SMP when /tmp was a > unionfs mount of a tmpfs, i_size_read spinning forever, waiting for a lost > seqcount update: fixed by taking i_lock around i_size_write when 32-bit SMP. > > But akpm was dissatisfied with the resulting patch: its lack of commentary, > the #ifs, the nesting around i_size_read, the lack of attention to i_blocks. > I promised to redo it with the general spin_lock_32bit() he proposed; but > disliked the result, partly because "32bit" obscures the real constraints, > which are best commented within fsstack_copy_inode_size itself. > > This version adds those comments, and uses sizeof comparisons which the > compiler can optimize out, instead of CONFIG_SMP, CONFIG_LSF. BITS_PER_LONG. Btw, I hope fsstack doesn't rely on i_size having any particular meaning. As far as the VFS is concerned i_size is field only used by the filesystem (or library routines like generic_file_*). -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html