| To: | Lachlan McIlroy <lachlan@xxxxxxx> |
|---|---|
| Subject: | Re: [PATCH] log replay should not overwrite newer ondisk inodes |
| From: | Shailendra Tripathi <stripathi@xxxxxxxxx> |
| Date: | Tue, 04 Sep 2007 16:05:06 -0700 |
| Cc: | xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx> |
| In-reply-to: | <46D6279F.40601@sgi.com> |
| References: | <46D6279F.40601@sgi.com> |
| Sender: | xfs-bounce@xxxxxxxxxxx |
| User-agent: | Thunderbird 1.5.0.13 (X11/20070809) |
|
Hi, Can someone explain how not checking the flushiter can losse filesize updates. Let me the take the case mentioned here in the fix statement: a. Clustered inode create - flush iter - X( 0) b. size update --> flush iter --> Y X and Y will always hold as: X <= Y, that is, it is not possible to have X >Y (unless size update is non -transactional. As far as I know, size update is always transactional.) There are 2 cases here: a) log of Y reached to the disk --> 1) inode with flush iter was reached 2) inode didn't make. b) log of Y didn't reach the disk --> flush_iter Y should have never reached disk In none of cases, I can see the possibility that size update can be lost becuase of replaying of the logs in the sequential order. If Log of Y didn't reach, does it not make sense to have the flush_iter and size correctly set to the last known transaction on the disk. To me, it appears unsafe to do as the inode state will not match the state of the last known transaction after recovery. Regards, Shailendra Lachlan McIlroy wrote: Log replay of clustered inodes currently ignores the flushiter field in the inode that is used to determine if the on-disk inode is more up to date than the copy in the log. As a result during log replay the newer inode is being overwritten with an older version and file size updates are being lost. |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] log replay should not overwrite newer ondisk inodes, David Chinner |
|---|---|
| Next by Date: | Re: [PATCH] log replay should not overwrite newer ondisk inodes, Timothy Shimmin |
| Previous by Thread: | Re: [PATCH] log replay should not overwrite newer ondisk inodes, David Chinner |
| Next by Thread: | Re: [PATCH] log replay should not overwrite newer ondisk inodes, David Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |