17 Nov, 2008
1 commit
-
When an I/O error occurs during an intermediate commit on a rolling
transaction, xfs_trans_commit() will free the transaction structure
and the related ticket. However, the duplicate transaction that
gets used as the transaction continues still contains a pointer
to the ticket. Hence when the duplicate transaction is cancelled
and freed, we free the ticket a second time.Add reference counting to the ticket so that we hold an extra
reference to the ticket over the transaction commit. We drop the
extra reference once we have checked that the transaction commit
did not return an error, thus avoiding a double free on commit
error.Credit to Nick Piggin for tripping over the problem.
SGI-PV: 989741
Signed-off-by: Dave Chinner
Reviewed-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy
13 Aug, 2008
1 commit
-
Remove all the useless flags and code keyed off it in xfs_mountfs.
SGI-PV: 981498
SGI-Modid: xfs-linux-melb:xfs-kern:31831a
Signed-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy
18 Apr, 2008
1 commit
-
xfs_log_force() is declared to return an error, but we almost never check
it. We don't need to check it in most cases; if there's a log I/O error
then we'll be shutting down the filesystem anyway and that means we'll
catch the error somewhere else.However, on certain calls we should be returning an error - sync
transactions, fsync, sync writes, etc. so this isn't a pure black and
white distinction. Hence make xfs_log_force() a void function that issues
a warning to the syslog on error, and call _xfs_log_force() in all the
places where we actually care about the error status returned.SGI-PV: 980084
SGI-Modid: xfs-linux-melb:xfs-kern:30832aSigned-off-by: David Chinner
Signed-off-by: Niv Sardi
Signed-off-by: Lachlan McIlroy
07 Feb, 2008
1 commit
-
Mostly trivial conversion with one exceptions: h_num_logops was kept in
native endian previously and only converted to big endian in xlog_sync,
but we always keep it big endian now. With todays cpus fast byteswap
instructions that's not an issue but the new variant keeps the code clean
and maintainable.SGI-PV: 971186
SGI-Modid: xfs-linux-melb:xfs-kern:29821aSigned-off-by: Christoph Hellwig
Signed-off-by: Lachlan McIlroy
Signed-off-by: Tim Shimmin
28 Sep, 2006
1 commit
-
SGI-PV: 955302
SGI-Modid: xfs-linux-melb:xfs-kern:26749aSigned-off-by: Eric Sandeen
Signed-off-by: Nathan Scott
Signed-off-by: Tim Shimmin
29 Mar, 2006
1 commit
-
these typos.
SGI-PV: 904196
SGI-Modid: xfs-linux-melb:xfs-kern:25539aSigned-off-by: Nathan Scott
11 Jan, 2006
1 commit
-
get more useful error info on space for trans items
SGI-PV: 947110
SGI-Modid: xfs-linux-melb:xfs-kern:24886aSigned-off-by: Tim Shimmin
Signed-off-by: Nathan Scott
09 Jan, 2006
1 commit
-
Remove various things which were checking for gcc-1.x and gcc-2.x compilers.
From: Adrian Bunk
Some documentation updates and removes some code paths for gcc < 3.2.
Acked-by: Russell King
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
02 Nov, 2005
2 commits
-
boilerplate.
SGI-PV: 913862
SGI-Modid: xfs-linux:xfs-kern:23903aSigned-off-by: Nathan Scott
-
writes. In addition flush the disk cache on fsync if the sync cached
operation didn't sync the log to disk (this requires some additional
bookeping in the transaction and log code). If the device doesn't claim to
support barriers, the filesystem has an extern log volume or the trial
superblock write with barriers enabled failed we disable barriers and
print a warning. We should probably fail the mount completely, but that
could lead to nasty boot failures for the root filesystem. Not enabled by
default yet, needs more destructive testing first.SGI-PV: 912426
SGI-Modid: xfs-linux:xfs-kern:198723aSigned-off-by: Christoph Hellwig
Signed-off-by: Nathan Scott
02 Sep, 2005
1 commit
-
SGI-PV: 931456
SGI-Modid: xfs-linux:xfs-kern:23155aSigned-off-by: Tim Shimmin
Signed-off-by: Nathan Scott
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!