Skip to contentSkip to conversation

loop: Update mtime when writing using aops

PATCH In review Nikanth Karthikesan 3 participants 5 messages Apr 8, 2010 – Apr 9, 2010 Block layer

lore
Share & tools
lore
#0 lore raw

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
index cb69929..8546d12 100644
@@ -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;
#1 lore raw
Quoted 2 lines · Nikanth Karthikesan

Update mtime when writing to backing filesystem using the address space operations write_begin and write_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
#2 lore raw
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_begin and write_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.

#3 lore raw
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_begin and write_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
#4 lore raw
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_begin and write_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