-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(storage): config support to reuse file systems #1575
feat(storage): config support to reuse file systems #1575
Conversation
3083d2b
to
dafe319
Compare
@@ -869,9 +869,9 @@ | |||
"type": "object", | |||
"additionalProperties": false, | |||
"properties": { | |||
"reuse": { | |||
"reuseIfPossible": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The document auto_storage proposes to have a reuse property, but reuseIfPossible was used because the following reasons:
a) A file system cannot be reused if the partition is going to be created (search is not specified).
b) A file system cannot be reused if the device is going to be encrypted.
c) A file system cannot be reused if the encryption layer is not going to be reused too.
d) A file system cannot be reused if the device is not currently formatted.
Validating the JSON config to avoid the usage of reuse in a, b and c would make the schema definition much more complex with very little benefit. Moreover, d cannot be validated at schema level because it requires information about the system.
The property was called reuseIfPossible to indicate that Agama will try reusing the existing file system if it is actually possible.
dafe319
to
a5b7c46
Compare
@@ -24,6 +24,51 @@ | |||
require "agama/storage/config" | |||
require "y2storage/agama_proposal" | |||
|
|||
# @param config [Agama::Storage::Configs::Drive, Agama::Storage::Configs::Partition] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These methods look like a hint that we need (or will shortly need) shared helpers or factories for creating config objects and similar stuff.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Totally agree.
a5b7c46
to
5477989
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Prepare for releasing Agama 10· * #1263 * #1330 * #1407 * #1408 * #1410 * #1411 * #1412 * #1416 * #1417 * #1419 * #1420 * #1421 * #1422 * #1423 * #1424 * #1425 * #1428 * #1429 * #1430 * #1431 * #1432 * #1433 * #1436 * #1437 * #1438 * #1439 * #1440 * #1441 * #1443 * #1444 * #1445 * #1449 * #1450 * #1451 * #1452 * #1453 * #1454 * #1455 * #1456 * #1457 * #1459 * #1460 * #1462 * #1464 * #1465 * #1466 * #1467 * #1468 * #1469 * #1470 * #1471 * #1472 * #1473 * #1475 * #1476 * #1477 * #1478 * #1479 * #1480 * #1481 * #1482 * #1483 * #1484 * #1485 * #1486 * #1487 * #1488 * #1489 * #1491 * #1492 * #1493 * #1494 * #1496 * #1497 * #1498 * #1499 * #1500 * #1501 * #1502 * #1503 * #1504 * #1505 * #1506 * #1507 * #1508 * #1510 * #1511 * #1512 * #1513 * #1514 * #1515 * #1516 * #1517 * #1518 * #1519 * #1520 * #1522 * #1523 * #1524 * #1525 * #1526 * #1527 * #1528 * #1529 * #1530 * #1531 * #1532 * #1533 * #1534 * #1535 * #1536 * #1537 * #1540 * #1541 * #1543 * #1544 * #1545 * #1546 * #1547 * #1548 * #1549 * #1550 * #1552 * #1553 * #1554 * #1555 * #1556 * #1557 * #1558 * #1559 * #1560 * #1562 * #1563 * #1565 * #1566 * #1567 * #1568 * #1569 * #1570 * #1571 * #1572 * #1573 * #1574 * #1575 * #1576 * #1577 * #1578 * #1579 * #1580 * #1581 * #1583 * #1584 * #1585 * #1586 * #1587 * #1588 * #1589 * #1590 * #1591 * #1592 * #1593 * #1596 * #1597 * #1598 * #1600 * #1602 * #1605 * #1606 * #1607 * #1608 * #1610 * #1611 * #1612 * #1613 * #1614 * #1619 * #1620 * #1621
Allow using reuseIfPossible for a filesystem section in the storage JSON config. The auto_storage document proposes to have a reuse property, but reuseIfPossible was used instead, see #1575 (review):
If reuseIfPossible is true, then Agama will try to reuse the file system, if any. In that case, some other properties from the filesystem section would be ignored.
Example:
The properties type and mkfsOptions would be considered by Agama only if the file system is not finally reused.