tree 33c75866a44a1c0efbcbcab745d28896d2775c00
parent 040f440262b4a435f21f85f782c2d97ecfd6a8e5
author Eric Andersen <andersen@codepoet.org> 1059555359 -0000
committer Eric Andersen <andersen@codepoet.org> 1059555359 -0000

Lars Ekman writes:

When using "losetup" the device is always setup as Read-Only.

(I have only tested with the -o flag, but looking at the code the
 problem seems general)

The problem is the "opt" variable in "losetup.c" that is reused in
the "set_loop()" call. Clear it before the call and everything is OK;

  opt = 0;         /* <-------- added line */
  if (delete)
    return del_loop (argv[optind]) ? EXIT_SUCCESS : EXIT_FAILURE;
  else
    return set_loop (argv[optind], argv[optind + 1], offset, &opt)
      ? EXIT_FAILURE : EXIT_SUCCESS;
}

Best Regards,
Lars Ekman
