All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 00/13] xfs: remove the xfssyncd mess
@ 2012-08-30 12:00 Dave Chinner
  2012-08-30 12:00 ` [PATCH 01/13] xfs: xfs_syncd_stop must die Dave Chinner
                   ` (14 more replies)
  0 siblings, 15 replies; 63+ messages in thread
From: Dave Chinner @ 2012-08-30 12:00 UTC (permalink / raw)
  To: xfs

Version 2 of the patchset I described here:

http://oss.sgi.com/archives/xfs/2012-06/msg00064.html

This version has run through xfstests completely once, so it's
less likely to let smoke out....

Version 2:
- fix writeback_inodes_sb_if_idle call in xfs_create()
- refreshed patch 13 before sending.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 63+ messages in thread
* [PATCH V3 00/13] xfs: remove the xfssyncd mess
@ 2012-09-28  4:44 Dave Chinner
  2012-09-28  4:44 ` [PATCH 13/13] xfs: remove xfs_iget.c Dave Chinner
  0 siblings, 1 reply; 63+ messages in thread
From: Dave Chinner @ 2012-09-28  4:44 UTC (permalink / raw)
  To: xfs

Version 3 of the patchset I described here:

http://oss.sgi.com/archives/xfs/2012-06/msg00064.html

This patchset reliably exposed the log->l_last_sync_lsn problem I
just posted a fix for.

Version 3:
- per-mount log and reclaim workqueues instead of a generic mount
  workqueue.
- reordering of some of the patches as Christoph requested.
- fixed the writeback_inodes_sb_if_idle deadlock by moving it all
  the way back up the write stack to xfs_file_aio_buffered_write
  where we were just flushing the current file to avoid deadlocking
  on it anyway.
- reintroduced xfs_flush_inodes() as a wrapper for
  writeback_inodes_sb_if_idle().
- rebased on a current TOT.

Version 2:
- fix writeback_inodes_sb_if_idle call in xfs_create()
- refreshed patch 13 before sending.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 63+ messages in thread
* [PATCH 00/13] xfs: remove the xfssyncd mess
@ 2012-08-30 10:57 Dave Chinner
  2012-08-30 10:57 ` [PATCH 13/13] xfs: remove xfs_iget.c Dave Chinner
  0 siblings, 1 reply; 63+ messages in thread
From: Dave Chinner @ 2012-08-30 10:57 UTC (permalink / raw)
  To: xfs

Folks,

Here's the patchset I talked about here:

http://oss.sgi.com/archives/xfs/2012-06/msg00064.html

to sort out the syncd start/stop unmount race/panic mess once and
for all. I've only smoke tested it so far, but it hasn't let any out
yet.

The overall diffstat is:

 fs/xfs/Makefile                     |    3 +-
 fs/xfs/{xfs_sync.c => xfs_icache.c} |  694 +++++++++++++++++++++-------------
 fs/xfs/{xfs_sync.h => xfs_icache.h} |   14 +-
 fs/xfs/xfs_iget.c                   |  705 -----------------------------------
 fs/xfs/xfs_inode.c                  |  250 +++++++++++++
 fs/xfs/xfs_inode.h                  |   10 +-
 fs/xfs/xfs_iomap.c                  |    3 +-
 fs/xfs/xfs_log.c                    |   83 ++++-
 fs/xfs/xfs_log.h                    |    4 +
 fs/xfs/xfs_log_priv.h               |    1 +
 fs/xfs/xfs_mount.c                  |   32 +-
 fs/xfs/xfs_mount.h                  |    6 +-
 fs/xfs/xfs_qm_syscalls.c            |    1 +
 fs/xfs/xfs_super.c                  |   93 +++--
 fs/xfs/xfs_vnodeops.c               |    3 +-
 15 files changed, 840 insertions(+), 1062 deletions(-)

So it removes a couple of hundred lines of code whilst still
providing exactly the same functionality and fixing some bugs.

e.g. xfs_attr_quiesce() isn't waiting for metadata IO completion
before writing the unmount record, which explains why occasionally
freeze results in a log with more than just an unmount and dummy
record in it.

Comments?

Cheers,

Dave.

PS: it just let the smoke out caused by the
writeback_inodes_sb_if_idle() change in xfs_create(). I think I used
the wrong inode to get the superblock....

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 63+ messages in thread

end of thread, other threads:[~2012-09-28  4:44 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-30 12:00 [PATCH V2 00/13] xfs: remove the xfssyncd mess Dave Chinner
2012-08-30 12:00 ` [PATCH 01/13] xfs: xfs_syncd_stop must die Dave Chinner
2012-09-01 23:15   ` Christoph Hellwig
2012-09-04 16:10   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 02/13] xfs: rename the xfs_syncd workqueue Dave Chinner
2012-09-01 23:17   ` Christoph Hellwig
2012-09-03  3:09     ` Dave Chinner
2012-08-30 12:00 ` [PATCH 03/13] xfs: rationalise xfs_mount_wq users Dave Chinner
2012-09-04 15:48   ` Mark Tinguely
2012-09-05  4:30     ` Dave Chinner
2012-09-05 13:16       ` Mark Tinguely
2012-09-05 14:34         ` Mark Tinguely
2012-09-06  0:46         ` Dave Chinner
2012-09-06 15:08           ` Mark Tinguely
2012-09-07  0:41             ` Dave Chinner
2012-09-11 21:25   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 04/13] xfs: don't run the sync work if the filesyste is read-only Dave Chinner
2012-09-04 16:13   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 05/13] xfs: sync work is now only periodic log work Dave Chinner
2012-09-01 23:23   ` Christoph Hellwig
2012-09-03  3:36     ` Dave Chinner
2012-09-04 16:14   ` Mark Tinguely
2012-09-04 18:57   ` Mark Tinguely
2012-09-05  4:35     ` Dave Chinner
2012-08-30 12:00 ` [PATCH 06/13] xfs: Bring some sanity to log unmounting Dave Chinner
2012-09-01 23:28   ` Christoph Hellwig
2012-09-04 19:11   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 07/13] xfs: xfs_sync_data is redundant Dave Chinner
2012-09-01 23:24   ` Christoph Hellwig
2012-09-03  6:08     ` Dave Chinner
2012-09-04 20:48   ` Mark Tinguely
2012-09-06  0:53     ` Dave Chinner
2012-08-30 12:00 ` [PATCH 08/13] xfs: xfs_sync_fsdata " Dave Chinner
2012-09-01 23:27   ` Christoph Hellwig
2012-09-04 20:59   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 09/13] xfs: move xfs_quiesce_attr() into xfs_super.c Dave Chinner
2012-09-01 23:27   ` Christoph Hellwig
2012-09-04 21:03   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 10/13] xfs: xfs_quiesce_attr() should quiesce the log like unmount Dave Chinner
2012-09-01 23:29   ` Christoph Hellwig
2012-09-04 21:04   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 11/13] xfs: rename xfs_sync.[ch] to xfs_icache.[ch] Dave Chinner
2012-09-01 23:30   ` Christoph Hellwig
2012-09-04 21:06   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 12/13] xfs: move inode locking functions to xfs_inode.c Dave Chinner
2012-09-01 23:30   ` Christoph Hellwig
2012-09-04 21:07   ` Mark Tinguely
2012-08-30 12:00 ` [PATCH 13/13] xfs: remove xfs_iget.c Dave Chinner
2012-09-01 23:31   ` Christoph Hellwig
2012-09-04 21:11   ` Mark Tinguely
2012-08-30 12:15 ` [PATCH V2 00/13] xfs: remove the xfssyncd mess Markus Trippelsdorf
2012-08-30 22:51   ` Dave Chinner
2012-08-31  6:18     ` Markus Trippelsdorf
2012-08-31  8:42       ` Dave Chinner
2012-08-31  9:30         ` Markus Trippelsdorf
2012-08-31 14:01 ` Mark Tinguely
2012-09-03  4:05   ` Dave Chinner
2012-09-04  0:13     ` Mark Tinguely
2012-09-25  9:26     ` Christoph Hellwig
2012-09-25  9:35       ` Dave Chinner
  -- strict thread matches above, loose matches on Subject: below --
2012-09-28  4:44 [PATCH V3 " Dave Chinner
2012-09-28  4:44 ` [PATCH 13/13] xfs: remove xfs_iget.c Dave Chinner
2012-08-30 10:57 [PATCH 00/13] xfs: remove the xfssyncd mess Dave Chinner
2012-08-30 10:57 ` [PATCH 13/13] xfs: remove xfs_iget.c Dave Chinner
2012-08-30 11:07   ` Dave Chinner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.