Revision ac81a213 src/Ganeti/Utils.hs
b/src/Ganeti/Utils.hs | ||
---|---|---|
72 | 72 |
, needsReload |
73 | 73 |
, watchFile |
74 | 74 |
, safeRenameFile |
75 |
, FilePermissions(..) |
|
75 | 76 |
) where |
76 | 77 |
|
77 | 78 |
import Control.Concurrent |
... | ... | |
638 | 639 |
result <- watchFileEx endtime fstat ref old read_fn |
639 | 640 |
killINotify inotify |
640 | 641 |
return result |
641 |
|
|
642 |
|
|
643 |
-- | Type describing ownership and permissions of newly generated |
|
644 |
-- directories and files. All parameters are optional, with nothing |
|
645 |
-- meaning that the default value should be left untouched. |
|
646 |
|
|
647 |
data FilePermissions = FilePermissions { fpOwner :: Maybe String |
|
648 |
, fpGroup :: Maybe String |
|
649 |
, fpPermissions :: FileMode |
|
650 |
} |
|
651 |
|
|
642 | 652 |
-- | Safely rename a file, creating the target directory, if needed. |
643 | 653 |
safeRenameFile :: FilePath -> FilePath -> IO (Result ()) |
644 | 654 |
safeRenameFile from to = do |
Also available in: Unified diff