loop: Update mtime when writing using aops
PATCH 1/1 loop: Update mtime when writing using aops
Update mtime when writing to backing filesystem using the address space operations write_begin and write_end.
---
drivers/block/loop.c +2 -0
@@ -237,6 +237,8 @@ static int do_lo_send_aops(struct loop_device *lo, struct bio_vec *bvec,if (ret) goto fail; +file_update_time (file); + transfer_result =lo_do_transfer (lo,WRITE , page, offset, bvec->bv_page, bv_offs, size,IV ); copied = size;
Quoted 2 lines · Nikanth Karthikesan
Update mtime when writing to backing filesystem using the address space operations
write_beginandwrite_end.
You forgot to include a 'why' :-)
Not that I disagree with the patch, just curious what made you make the change.
Signature · 1 line
Jens Axboe
Quoted 8 lines · On Thursday 08 April 2010 13:45:39 Jens Axboe wrote:
Quoted 2 lines · Nikanth Karthikesan
Update mtime when writing to backing filesystem using the address space operations
write_beginandwrite_end.You forgot to include a 'why' :-)
Not that I disagree with the patch, just curious what made you make the change.
You mean how the bug was found? I originally reported this problem against openSUSE 11.2 kernel, where when you have a dm-crypt loop filesystem the container file modification time does not get updated with use. Consequence of that is that backup runs would miss the fact container has changed.
Maybe one could argue it is a security feature in this scenario :), but as the problem turns out to be unrelated to the crypto case, rather contained in the loop driver itself, it looks like that would not hold.
Tvrtko
Sophos Plc, The Pentagon, Abingdon Science Park, Abingdon, OX14 3YP, United Kingdom. Company Reg No 2096520. VAT Reg No GB 348 3873 20.
Quoted 10 lines · Tvrtko Ursulin
Quoted 8 lines · On Thursday 08 April 2010 13:45:39 Jens Axboe wrote:
Quoted 2 lines · Nikanth Karthikesan
Update mtime when writing to backing filesystem using the address space operations
write_beginandwrite_end.You forgot to include a 'why' :-)
Not that I disagree with the patch, just curious what made you make the change.
Quoted 8 lines
You mean how the bug was found? I originally reported this problem against openSUSE 11.2 kernel, where when you have a dm-crypt loop filesystem the container file modification time does not get updated with use. Consequence of that is that backup runs would miss the fact container has changed.
Maybe one could argue it is a security feature in this scenario :), but as the problem turns out to be unrelated to the crypto case, rather contained in the loop driver itself, it looks like that would not hold.
:-)
I suppose you could update the mtime on tear down, since then it would also be safe to actually backup. But same difference in the end I suppose, I'll add the patch.
Signature · 1 line
Jens Axboe
Quoted 11 lines · On Friday 09 April 2010 01:08:38 Jens Axboe wrote:
Quoted 10 lines · Tvrtko Ursulin
Quoted 8 lines · On Thursday 08 April 2010 13:45:39 Jens Axboe wrote:
Quoted 2 lines · Nikanth Karthikesan
Update mtime when writing to backing filesystem using the address space operations
write_beginandwrite_end.You forgot to include a 'why' :-)
Not that I disagree with the patch, just curious what made you make the change.
Sorry, for the bad terse changelog.
Quoted 10 lines
Quoted 10 lines
You mean how the bug was found? I originally reported this problem against openSUSE 11.2 kernel, where when you have a dm-crypt loop filesystem the container file modification time does not get updated with use. Consequence of that is that backup runs would miss the fact container has changed.
Maybe one could argue it is a security feature in this scenario :), but as the problem turns out to be unrelated to the crypto case, rather contained in the loop driver itself, it looks like that would not hold.
Quoted 6 lines
:-)
I suppose you could update the mtime on tear down, since then it would also be safe to actually backup. But same difference in the end I suppose, I'll add the patch.
If we update mtime only during tear down, we might miss to backup after a system crash or scenarios where the loop device is not deleted after use during backup. Also when relatime is used, it is better to change mtime on time. :-)
Thanks for taking the patch.
Thanks
Nikanth