[PATCH][SMB3] Cleanup sparse file support by creating worker function for it

Steve French smfrench at gmail.com
Fri Aug 15 22:04:24 MDT 2014


Cleaned up and merged into cifs-2.6.git - thx

On Fri, Aug 15, 2014 at 4:51 AM, David Disseldorp <ddiss at suse.de> wrote:
> On Thu, 14 Aug 2014 16:44:15 -0500, Steve French wrote:
>
>> Simply move code to new function (for clarity).  The new function
>> sets or clears the sparse file attribute flag.
>>
>> Signed-off-by: Steve French <smfrench at gmail.com>
>> ---
>>  fs/cifs/smb2ops.c | 82 ++++++++++++++++++++++++++++++++++---------------------
>>  1 file changed, 51 insertions(+), 31 deletions(-)
>>
>> diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
>> index 7463436..04a86cc 100644
>> --- a/fs/cifs/smb2ops.c
>> +++ b/fs/cifs/smb2ops.c
>> @@ -731,6 +731,54 @@ smb2_sync_write(const unsigned int xid, struct
>> cifsFileInfo *cfile,
>>      return SMB2_write(xid, parms, written, iov, nr_segs);
>>  }
>>
>> +/* Set or clear the SPARSE_FILE attribute based on value passed in setsparse */
>> +static bool smb2_set_sparse(const unsigned int xid, struct cifs_tcon *tcon,
>> +        struct cifsFileInfo *cfile, struct inode *inode, __u8 setsparse)
>> +{
>> +    struct cifsInodeInfo *cifsi;
>> +    int rc;
>> +
>> +    cifsi = CIFS_I(inode);
>> +
>> +    /* if file already sparse don't bother setting sparse again */
>> +    if ((cifsi->cifsAttrs & FILE_ATTRIBUTE_SPARSE_FILE) && setsparse)
>> +        return true; /* already sparse */
>> +
>> +    if (!(cifsi->cifsAttrs & FILE_ATTRIBUTE_SPARSE_FILE) && !setsparse)
>> +        return true; /* already not sparse */
>> +
>> +
>
> Drop one of the empty lines above. Looks good otherwise.
>
> Reviewed-by: David Disseldorp <ddiss at samba.org>
>
> Cheers, David



-- 
Thanks,

Steve


More information about the samba-technical mailing list