Re: [PATCH 1/3] fs: Document the reflink(2) system call.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Not surprising that the discussion is all over the place
as far as what this should do.  Whether is is better to
implement one do many things syscall or several different
syscalls for different features can be debated after we
set some rules.  Going back to Joel's patch, I think the
first rules we need agreement on are:

1) is only for filesystems with COW operation,
   if the fs does not support COW it returns ENOSYS.

   the rational is that while we could allow it to
   be a copyfile, it would not save space so "cp -a".

2) is only for regular files, all others return EPERM

   *note* as-coded the patch only traps S_ISDIR, but
   other file types could be a problem on some fs and
   I don't see any value in supporting more than regular
   files unless we support directory COW and then we are
   really jumping into the swamp.

3) the granularity of the COW (1-byte write may cause
   1-block up through whole file copy) is fs-dependent.

4) post-reflink changes done to data or attributes
   in either the original or new file are independent.

next rules if we assume reflink(2) matches Joel's
manpage and call arguments and any other features are
a different api definition:

5) you must be the file owner or have CAP_FCHOWN

   because...

6) all non-time file attributes (owner, security, etc),
   atime, and mtime match the original file.  ctime is
   when the reflink was created.

but the hard part is the quota accounting rule:

7) pre-charge all quotas so a reflink double-counts inodes
   and blocks against the original owner/group

   pro - easiest, does not allow owner to bypass limits,
         quota utilities just work

   con - admin snapshot can trip user quota-limit failures,
         du/df will wildly disagree on space used

so is that what we want or do we want to just say the
behavior is fs-specific with respect to quotas.

jim
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux